##HIDEME##

2008-04-25

wince LED (1)driver篇


之前在研究GPIO driver的時候
利用LED來當做測試的標的
然後很無聊地寫了四個測試用app.....
不過一次點一個app很麻煩 所以就很無聊地想再把它們合起來

先來談談這個LED的driver
============================================
CoAsia43的板子有三個LED -> 綠 紅 藍
藉由Port B來控制其亮暗
  GPB1 --> Green 
  GPB2 --> Red 
  GPB3 --> Blue

因為Green好像受到其它程式的控制 只要系統開機就會亮
你不管要他亮或暗它都不會鳥你
所以不理它 來玩弄剩下兩個LED
在driver的Init下設定Port B的相關參數 以下只提到重點  實際寫法請自行揣摩
GPBCON = (0x50<<0)or(0x5<<4)  -> 設定為output
GPBUP  = (0x0<<0) or(0x00<<4) -> pull up enable
GPBDAT = (0xc<<0) or(0x3<<2)  
0xc = 1100  : 由於GPBUP 設定成pull-up 所以1是亮 
故上面這個就是讓R B都亮起來 
我的測試用驅動主要是要測試它是否有被掛載起來
所以至少讓它亮其中一個會比較好

接下來是CEPB的設定
開一個新的DLL專案之後 修改*.def *.reg
直接在專案名稱上按右鍵
Make Run-Time Image After Build 選取之後
再對其進行build 等他跑完後 記得修改ce.bib -> romimage ce.bib -> 燒錄kernel

沒意外的話 開機時就會看到綠燈以外的兩個燈亮了!!! (看怎麼設定的)
這篇先這樣 下一篇再來寫寫如何用App去控制亮暗

1 則留言:

匿名 提到...

有別支程式用到了GPB1

搜尋一下程式碼就知道啦