昨天傳簡訊邀 qqq 吃飯
結果簡訊都沒回
我想說算了
今天繼續讀書
不過中午看到她居然答應了
真是高興
晚上開車往南
原本地圖我都畫的一清二楚
沒想到過了西螺大橋
那張地圖就不管用了
沒辦法 只好靠印象
不過我也蠻厲害的
居然沒有問人、而且幾乎沒迷路
很順利的再約定的時間內到了
之後他爸送她出來
真是有點不好意思
之後到附近去吃
它吃的不多
我還吃它的份
真是豬ㄝ
呵呵
那間佈置的很漂亮
外圍的景物也很棒
廁所的設計也蠻有趣
並不是在室內
而是要到外頭去
只是晚上有點冷了
不然應該還可以在外頭逗留一下
吃完一堆東西後
就送它回家
接著我也準備回家
不過天色已經暗了
結果又迷路............
但我很厲害的是
我上次回家也是迷路
而這次迷路走的路
也是上次迷路走的路
呵呵!好神奇喔
迷路反而走的比較快
不一會我就到溪洲
到溪洲以後就是我的天地啦
因為那邊就很熟
小路也知道怎麼走
所以從它家到我家
就花了 40 分鐘而已
呵呵
回到家簡單梳洗一下
就開始坐定讀書
我想這種心如止水的功夫
就怕張三丰也學不來吧
哈哈!
- 留言者: eternal39
- Email:
- 網址:
- 日期: 2007-04-07 23:18:56
是我說的那間嗎??
喔喔喔準岳父送女兒出門給女婿
喔喔喔喔喔
閃個屁
今天興起繼續研究 USB
目前我跳過好幾章
就先讀 USB 的 driver
寫 USB 的 driver 很複雜
Cypress 提供的範例就好幾千行
連編譯都有問題
原本以為我的 DDK 可能壞掉了
後來去網路找了一下文章
有人說到要把所有的 warning 都關掉
不過關掉後 還是無法編譯
會顯示 "treat warning as error"
然後下面出現幾行警告
還好那些警告只是 cast 的問題
手動改了一下 source 就 ok
不過接下來出現 don't know how to make ...\usbd.lib
之類的
這時就得改一堆路徑
甚至要手動把 usbd.lib 複製到「它」指定的位置
因為我把所有路徑都改了
剩下 usbd.lib 這個不知道要怎麼處理
最後終於完成啦!
接下來就不用 cypress 預設的 driver
用我自己編譯的 driver
起先很順利
我以為 ok
原來用的 driver 還是舊的
於是改了一下 inf 檔
很不幸的 cypress 預設的 inf 不知道哪裡有問題
一直會使用 C:\Windows\system32\drivers 裡的 .sys
改也改不掉
後來一氣之下
就用 DDK 提供的 GenInf
幾個步驟就完成
而且可以使用
喝呵! 太高興了
接著用 DriverWorks 的 DriverMonitor 看
果然是用我手動編譯的 driver
哈哈哈
不過在做這些東西
我實在是很想睡
第一次坐在電腦前還想睡
真是誇張
哈哈!
今天是春假連續假期的第一天
可是我很乖 一整天都在拉琴
沒騙人 真的是一整天
現在我右手已經快要爆掉
好像肌肉發炎了
都不能舉重物
然後明天要上課
可是還有一個地方沒練好
糟糕!看來又要吃竹筍炒肉絲了!
而現在不過 22:40
可是我眼睛都花了
沒辦法待在電腦前面
和 USB 繼續奮戰
不過知足一點
有成果就趕快去睡囉
這樣明天會更好
呵呵
今天接著想做外部中斷
因為 CY7C68013 這顆 IC 是 8051 core base
所以他基本的外部中斷跟 8051 簡直一模一樣...一一
而他 INT0 這個外部中斷是在 PA.0 這個 pin 腳
要透過 PORTACFG 去設定
首先是先接電路
我本來有點搞混按鈕怎麼接
所以變成是把中斷直接接地
然後寫了個簡單的測試程式
就是一有中斷 LED 會閃一下
結果一測試 LED 亮了
可是卻一直亮在那邊沒有熄滅
後來查了一下書
原來我把 INT0 設為準位觸發
也就是低電位時觸發
於是我把程式改為負緣觸發
當電位由 1 -> 0 會中斷
改為這樣的結果 變成 LED 不會亮了
實在是有點氣餒
後來我把那顆按鈕 (就是專門用來觸發中斷的按鈕) 拔了起來
「啪滋!」
咦! LED 閃了一下!
真奇怪!怎麼拔個按鈕的動作變成是中斷?
我想了半天也想不通
後來很奇怪的就是只要把按鈕插回去麵包板的一瞬間
就會觸發中斷
於是我就拿著三用電表在那邊測
東量量、西量量
偶爾也會觸發中斷
後來把按鈕的 pin 腳搞清楚
原來就是我把按鈕直接接地
(按鈕有四個 pin, 其中每兩個是「互通」的)
所以當然不會觸發中斷了
接著稍微改了一下電路
果然 按鈕正常工作 每按一下按鈕
LED 就會閃一下!
接著我把中斷按 7 段顯示器結合
也就是按一下、數字就會加 1
這部分很快的就完成了
後來又想把 endpoint 結合進來
起先 endpoint 的傳輸是用中斷
而他的中斷和 8051 不太一樣
要用什麼自動向量的方法去做
這樣一來原本傳統 8051 的按鍵中斷便無法使用了!
於是我只好改成 poll 的方式
花了還蠻久的時間
電路是沒問題
倒是程式一直改來改去
最後的結果是
按鍵每按一次可以讓 7 段顯示器加 1
而 PC 可以隨時得知目前的值是多少
也可以透過 PC 去更改 7 段顯示器的值
今天成果就這樣
呵呵
好累 去睡覺了 掰掰!
下面我要說說一件可惜的事
前幾天淳大跟我說他把他的網誌全刪了
原因是沒人去看
本來我有點震驚
不過仔細想想以他的個性會這麼做我一點也不訝異
因為我發現淳大都活在別人的影子下
網誌是用來紀錄自己的日記、心情、生活點滴等等
給別人看是第二用途
但絕對不是第一
什麼「第二用途」、「第一用途」?
比如說冷氣是用來降低溫度
當然你可以說冷氣還有一個用途是來吹頭髮
可是要是每次吹頭髮都拿冷氣來吹
那就有點奇怪了
像我偶爾都會去翻翻我之前寫的網誌
一邊看還會一邊懷念當初的日子
像是那時候跟淳大、吳大哥一起拼 verilog 的時光
或是一起去吃火鍋、猜拳買飲料
以及野宴
還有班聚阿、去新竹
去台中阿、五十嵐
或是張顧耀狂電我們、跟林浩仁拆組等等
還有淳大說他一定要考上成大
這些不管有趣或難過的事情
網誌還可以比較自己有沒有進步
像我看到之前寫的一篇
我自己已經沒什麼印象
我講到我如果要完成專題
大概中文書要看 2、3 本
英文書要看 2000、3000 頁
後來事實是
我中英文書加起來看了超過 60 本
還有當初專題一開始懵懵懂懂
什麼都不知道...等等
你會發現自己沒有白活
畢竟腦袋會慢慢忘掉一些東西
就像現在要你回想 20 年前的東西
是很困難的
有一個人說:
不要為了別人,而失去自己
我覺得這句話說的很對
可是淳大只因為沒有人去看他的網誌
就把它們通通刪掉
我覺得實在太可惜
如果老了 孫子剛考上大學
問阿公:
「阿公,大學好玩嗎?阿公在大學有什麼有趣的事說給我們聽聽吧!」
那請問凱淳阿公
你要怎麼回答呢?
看這篇文章標題
就知道這是一個無聊的學生寫的網誌
畢竟大人們寫的網誌
眼光不會那麼淺
不過還是要講一下啦~!~
我今天上學
騎到莒光陸橋附近吧
想到一件事
真是嚇出一身冷汗
不誇張 我真的嚇的流汗
就是想到之前去補習一些白痴的事
後來又想到現在
也沒變聰明
一樣做著蠢事
我喜歡一個人
可是不能喜歡他
那我透露一點好了
它不知道我喜歡他
她頭髮是長的
身高比我矮
體重比我輕 (吧?)
沒有鬍子
我不知道她平常都在想什麼
從我認識她到現在講的話不多
她平常會穿著衣服和褲子
她很厲害
她眉毛長在眼睛上
她嘴巴長在鼻子下
她有兩張耳朵
她年紀比我小 (吧?)
她講話音調比我高
她有十根手指頭,腳指頭我就不知道了
她頭髮有 157269 根
她走路不會很快,但也不慢
有時候她看起來怪怪的
我會偷偷注意她 可是它不知道我都偷偷注意她
她一餐可以吃十碗飯
呵呵!這樣知道是誰了吧! >
晚上想說繼續昨天的進度
我原本預計要把成功的 7-seg 搭配上中斷
也就是 PC 傳多少數值給 USB
USB 上的 7-seg 就顯示多少
看起來很簡單
我也預期這不消花我多少時間
程式不一會兒就改好了
不過傳了兩筆資料
每到第三筆
整個 USB 就會當掉
要把 USB 傳輸線整個拔掉
再重插上去
才會正常
我只好一直對照著原本的中斷程式
看看我哪裡漏掉了
但一直找不出問題
就這樣過了半個多小時
我才發現忘了加這三行
pragma intvector (0x17FD)
pragma interval (4)
define ALLOCATE_EXTERN
呵呵 加了後就正常啦
PC 送多少數字給他
7-seg 就很乖的顯示出來囉
真開心
呵呵!!
本來要繼續讀下一章
不過我想把基礎再弄得紮實一點
遂開始著手規劃 7 段顯示器的電路
我那個 7 段顯示器是四個合在一起
有 12 個接腳 (其中一個是逗點沒用到)
所以要在小小的麵包板上接齊電路實在不是容易的事
於是我只好東拉西拉
還有的電線是「跨過」七段顯示器
呵呵 所以就亂糟糟啦
忙了一個多小時
真的不誇張 成品只有二、三十條電線而已
還有做測試的時候因為 LED 太亮
我想到加點電阻上去好了
只不過花了一番功夫把電阻裝好
才想到裝錯了....
接著一撇到排阻 (就是一排電阻啦!!)
我原本不知道排阻到底要怎麼接
不過也不管三七二十一
就通通弄上去就對了
沒想到 LED 還真的暗了下來!
整個電路終於完工
接下來開始寫程式
寫程式是我的專長哪!
所以沒有花很多時間就完成
不過中間還是有花一些時間在做建表的動作
因為 7 段顯示器顯示數字
是用查表的方式
而我不能直接抄書上的表
因為電路是我自己接的
好不容易通通 ok
接著就開始測試啦
果然自己接電路、自己寫程式比較有意思
之前做 8051
「掃描」這個觀念我只是大略看過
因為書上的範例都寫的好好
電路也把你弄得好好
只要 compile (或 assemble) 就可以動了
現在是都自己來
所以我也終於搞清楚「掃描」是怎麼做了!
不過我的目的還沒達成
因為下一步要把 PC 傳過來的值
丟到 7 段顯示器上
明天再繼續囉
掰掰!
早上嗯嗯的時候翻了一下書
不過晚上才開始繼續研究 USB
昨天是利用 endpoint 傳資料
而今天的章節講的是利用中斷
書上的範例只有講到 IN
沒有提到 OUT 方向怎麼寫
不過其實沒有很難
主要就是幾個暫存器要設一下
像一開始要 EP1OUTBC = 0x80;
這個很重要 因為我起先忘記設
結果動不了
再來 EPIE = 0x0C;
這用來啟動 EP1OUT 這個中斷
其他就沒什麼需要改的
主要就是再新增個 ISR
看著 LED 會閃
就知道成功啦
接著又改了一下程式
讓 IN/OUT 的 buffer 互通有無
也是成功
不過主要就是很多地方要加上 SYNCDELAY
才會正確!!
真是高興...
呵呵
昨晚到水漾吃晚餐
我點了麻辣牛肉火鍋
又灌了一大杯上面寫著 660 cc 的綠茶
我很開心綠茶 + 麻辣火鍋的組合
既能解渴、又能止辣
喔!還有裡面一個服務生長的很像 ooo
結果晚上睡不著了
在床上翻來覆去就是睡不著
於是就這樣半夢半醒
天就亮了
我的身體實在很難過
但卻又不會累
早上繼續做 USB 的研究
起先花了快要兩小時看書
之後才開始動手做書上的 bulk 實驗
這個實驗是透過電腦對 USB 下達 IOCTL 的命令
可能 read 或是 write
而這個 read/write 目標是存放在 USB 晶片上的一小塊記憶體
不過書上的範例居然無法執行
我始終無法成功把資料讀/寫進那塊記憶體
這逼的我要完整的了解書上的那個程式到底在講什麼
所以我只好老老實實研究一下 bulk 的傳輸
會牽涉到哪些暫存器、記憶體等等
不過老實說一整晚沒睡
精神很難集中...
到了下午還是沒有進度
我仍舊與一堆暫存器、記憶體繼續奮戰
但毫無所獲
晚餐吃完我窩在沙發上看卡通
平常吃完飯我一定馬上跑去讀書了
不可能還賴在客廳看電視
後來看到郭泓志廣告詞
「只要沒有放棄,就不會有失敗這回事」
咦?好像很熟悉的一句話
想了半天原來是 --- 的暱稱
當我看完這則廣告
「我只要不要放棄 USB,就可以解決我的問題嗎?」 我心裡覺得可笑
晚上去拍了畢業照
路上又想到那句廣告詞
不過我還是沒把它當一回事
回家後拉了一下琴
發現一個讓音色變好的祕技
呵呵!
接著電腦一開
可能是本能反應
總覺得沒解決問題
晚上會睡不著
於是 USB 電路板再拿出來
程式再從頭看一遍
後來想到 Cypress 它官方有提供一些 sample
說不定有什麼幫助
同時我也到網路上找找
看看有沒有什麼線索
而「SYNCDELAY」這個 keyword 倒是在我腦海中留了一點印象
看完官方的 sample
我試著去跑
嗯!居然成功
看來不是 USB 晶片壞掉
而是程式一定有問題
接著突然想到
我應該可以利用一下 SYNCDELAY
看了一下 它是一個 macro
就只有包含 nop 這個指令
於是胡亂把它加到程式裡面
希望他發揮功效
神奇的事情發生
困擾我一天的問題終於解決
我可以透過 PC 對 USB 下達命令
不論 read/write 通通正常了!
原來 USB 內的 cpu 在讀寫記憶體時
要先做同步的動作
這樣資料才會正確
這個時候
那句廣告詞又從我腦海中閃了過去