almost 16 years ago

昨天傳簡訊邀 qqq 吃飯

結果簡訊都沒回

我想說算了

今天繼續讀書

不過中午看到她居然答應了

真是高興

晚上開車往南

原本地圖我都畫的一清二楚

沒想到過了西螺大橋

那張地圖就不管用了

沒辦法 只好靠印象

不過我也蠻厲害的

居然沒有問人、而且幾乎沒迷路

很順利的再約定的時間內到了

之後他爸送她出來

真是有點不好意思

之後到附近去吃

它吃的不多

我還吃它的份

真是豬ㄝ

呵呵

那間佈置的很漂亮

外圍的景物也很棒

廁所的設計也蠻有趣

並不是在室內

而是要到外頭去

只是晚上有點冷了

不然應該還可以在外頭逗留一下

吃完一堆東西後

就送它回家

接著我也準備回家

不過天色已經暗了

結果又迷路............

但我很厲害的是

我上次回家也是迷路

而這次迷路走的路

也是上次迷路走的路

呵呵!好神奇喔

迷路反而走的比較快

不一會我就到溪洲

到溪洲以後就是我的天地啦

因為那邊就很熟

小路也知道怎麼走

所以從它家到我家

就花了 40 分鐘而已

呵呵

回到家簡單梳洗一下

就開始坐定讀書

我想這種心如止水的功夫

就怕張三丰也學不來吧

哈哈!


  • 留言者: eternal39
  • Email:
  • 網址:
  • 日期: 2007-04-07 23:18:56

是我說的那間嗎??

喔喔喔準岳父送女兒出門給女婿

喔喔喔喔喔

閃個屁

 
almost 16 years ago

今天興起繼續研究 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

哈哈哈

不過在做這些東西

我實在是很想睡

第一次坐在電腦前還想睡

真是誇張

哈哈!

 
almost 16 years ago

今天是春假連續假期的第一天

可是我很乖 一整天都在拉琴

沒騙人 真的是一整天

現在我右手已經快要爆掉

好像肌肉發炎了

都不能舉重物

然後明天要上課

可是還有一個地方沒練好

糟糕!看來又要吃竹筍炒肉絲了!

而現在不過 22:40

可是我眼睛都花了

沒辦法待在電腦前面

和 USB 繼續奮戰

不過知足一點

有成果就趕快去睡囉

這樣明天會更好

呵呵

 
almost 16 years ago

今天接著想做外部中斷

因為 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 段顯示器的值

今天成果就這樣

呵呵

好累 去睡覺了 掰掰!

 
almost 16 years ago

下面我要說說一件可惜的事

前幾天淳大跟我說他把他的網誌全刪了

原因是沒人去看

本來我有點震驚

不過仔細想想以他的個性會這麼做我一點也不訝異

因為我發現淳大都活在別人的影子下

網誌是用來紀錄自己的日記、心情、生活點滴等等

給別人看是第二用途

但絕對不是第一

什麼「第二用途」、「第一用途」?

比如說冷氣是用來降低溫度

當然你可以說冷氣還有一個用途是來吹頭髮

可是要是每次吹頭髮都拿冷氣來吹

那就有點奇怪了

像我偶爾都會去翻翻我之前寫的網誌

一邊看還會一邊懷念當初的日子

像是那時候跟淳大、吳大哥一起拼 verilog 的時光

或是一起去吃火鍋、猜拳買飲料

以及野宴

還有班聚阿、去新竹

去台中阿、五十嵐

或是張顧耀狂電我們、跟林浩仁拆組等等

還有淳大說他一定要考上成大

這些不管有趣或難過的事情

網誌還可以比較自己有沒有進步

像我看到之前寫的一篇

我自己已經沒什麼印象

我講到我如果要完成專題

大概中文書要看 2、3 本

英文書要看 2000、3000 頁

後來事實是

我中英文書加起來看了超過 60 本

還有當初專題一開始懵懵懂懂

什麼都不知道...等等

你會發現自己沒有白活

畢竟腦袋會慢慢忘掉一些東西

就像現在要你回想 20 年前的東西

是很困難的

有一個人說:

不要為了別人,而失去自己

我覺得這句話說的很對

可是淳大只因為沒有人去看他的網誌

就把它們通通刪掉

我覺得實在太可惜

如果老了 孫子剛考上大學

問阿公:

「阿公,大學好玩嗎?阿公在大學有什麼有趣的事說給我們聽聽吧!」

那請問凱淳阿公

你要怎麼回答呢?

 
almost 16 years ago

看這篇文章標題

就知道這是一個無聊的學生寫的網誌

畢竟大人們寫的網誌

眼光不會那麼淺

不過還是要講一下啦~!~

我今天上學

騎到莒光陸橋附近吧

想到一件事

真是嚇出一身冷汗

不誇張 我真的嚇的流汗

就是想到之前去補習一些白痴的事

後來又想到現在

也沒變聰明

一樣做著蠢事

我喜歡一個人

可是不能喜歡他

那我透露一點好了

  1. 它不知道我喜歡他

  2. 她頭髮是長的

  3. 身高比我矮

  4. 體重比我輕 (吧?)

  5. 沒有鬍子

  6. 我不知道她平常都在想什麼

  7. 從我認識她到現在講的話不多

  8. 她平常會穿著衣服和褲子

  9. 她很厲害

  10. 她眉毛長在眼睛上

  11. 她嘴巴長在鼻子下

  12. 她有兩張耳朵

  13. 她年紀比我小 (吧?)

  14. 她講話音調比我高

  15. 她有十根手指頭,腳指頭我就不知道了

  16. 她頭髮有 157269 根

  17. 她走路不會很快,但也不慢

  18. 有時候她看起來怪怪的

  19. 我會偷偷注意她 可是它不知道我都偷偷注意她

  20. 她一餐可以吃十碗飯

呵呵!這樣知道是誰了吧! >

 
almost 16 years ago

晚上想說繼續昨天的進度

我原本預計要把成功的 7-seg 搭配上中斷

也就是 PC 傳多少數值給 USB

USB 上的 7-seg 就顯示多少

看起來很簡單

我也預期這不消花我多少時間

程式不一會兒就改好了

不過傳了兩筆資料

每到第三筆

整個 USB 就會當掉

要把 USB 傳輸線整個拔掉

再重插上去

才會正常

我只好一直對照著原本的中斷程式

看看我哪裡漏掉了

但一直找不出問題

就這樣過了半個多小時

我才發現忘了加這三行

pragma intvector (0x17FD)

pragma interval (4)

define ALLOCATE_EXTERN

呵呵 加了後就正常啦

PC 送多少數字給他

7-seg 就很乖的顯示出來囉

真開心

呵呵!!

 
almost 16 years ago

本來要繼續讀下一章

不過我想把基礎再弄得紮實一點

遂開始著手規劃 7 段顯示器的電路

我那個 7 段顯示器是四個合在一起

有 12 個接腳 (其中一個是逗點沒用到)

所以要在小小的麵包板上接齊電路實在不是容易的事

於是我只好東拉西拉

還有的電線是「跨過」七段顯示器

呵呵 所以就亂糟糟啦

忙了一個多小時

真的不誇張 成品只有二、三十條電線而已

還有做測試的時候因為 LED 太亮

我想到加點電阻上去好了

只不過花了一番功夫把電阻裝好

才想到裝錯了....

接著一撇到排阻 (就是一排電阻啦!!)

我原本不知道排阻到底要怎麼接

不過也不管三七二十一

就通通弄上去就對了

沒想到 LED 還真的暗了下來!

整個電路終於完工

接下來開始寫程式

寫程式是我的專長哪!

所以沒有花很多時間就完成

不過中間還是有花一些時間在做建表的動作

因為 7 段顯示器顯示數字

是用查表的方式

而我不能直接抄書上的表

因為電路是我自己接的

好不容易通通 ok

接著就開始測試啦

果然自己接電路、自己寫程式比較有意思

之前做 8051

「掃描」這個觀念我只是大略看過

因為書上的範例都寫的好好

電路也把你弄得好好

只要 compile (或 assemble) 就可以動了

現在是都自己來

所以我也終於搞清楚「掃描」是怎麼做了!

不過我的目的還沒達成

因為下一步要把 PC 傳過來的值

丟到 7 段顯示器上

明天再繼續囉

掰掰!

 
almost 16 years ago

早上嗯嗯的時候翻了一下書

不過晚上才開始繼續研究 USB

昨天是利用 endpoint 傳資料

而今天的章節講的是利用中斷

書上的範例只有講到 IN

沒有提到 OUT 方向怎麼寫

不過其實沒有很難

主要就是幾個暫存器要設一下

像一開始要 EP1OUTBC = 0x80;

這個很重要 因為我起先忘記設

結果動不了

再來 EPIE = 0x0C;

這用來啟動 EP1OUT 這個中斷

其他就沒什麼需要改的

主要就是再新增個 ISR

看著 LED 會閃

就知道成功啦

接著又改了一下程式

讓 IN/OUT 的 buffer 互通有無

也是成功

不過主要就是很多地方要加上 SYNCDELAY

才會正確!!

真是高興...

呵呵

 
almost 16 years ago

昨晚到水漾吃晚餐

我點了麻辣牛肉火鍋

又灌了一大杯上面寫著 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 在讀寫記憶體時

要先做同步的動作

這樣資料才會正確

這個時候

那句廣告詞又從我腦海中閃了過去