話說這一個月一值在trace code
眼睛都快花了
寫一下記錄給自己
希望也能夠在未來派上用場
主要是針對 德州儀器所開發的 CC2541
而 CC2540 一樣大同小異
1. 在trace code 的時候 請先從 main function 開始讀,如果是在寫韌體一定會有一個地方是無窮迴圈,從這邊開始下去追就是了
2.在trace code的時候有幫助的軟體 叫做 SourceInsight 這是一個可以把 code 通通丟進去給他跑的一個很方便的東西,無奈已經看了一個多月的code才知道有這個東西
3.在 hal_sleep這邊一但進入休眠或式啟動的時候都會來跑一次
4.如果你要仿造按鈕傳一次值(不是靠按鈕而是靠自動傳送的畫
hidAdvRemoteHandleKeys( HID_KEYBOARD_1, keyPressed, 0 );// 壓
hidAdvRemoteHandleKeys( HAL_KEY_CODE_NOKEY, keyPressed, 0 );//放(如果只是要送一次.這組要一起用
上面這一組可以幫你 DOWN 跟 UP 要一起 才會只有按一個按鍵的效果
5.hidAdvRemoteCalCompleteCback 這是有關於傳感器校正的方面,本身他具備校正完畢後會進入sleep,不知道這邊可以善用在甚麼地方
6. // Set up HID keyboard/mouse service
HidKbM_AddService();
// Register for HID Dev callback //初始化鍵盤還有鍵盤燈有關
HidDev_Register( &hidAdvRemoteCfg, &hidAdvRemoteHidCBs );
HalKeyInit();//這邊把一開始的LED關閉作初始化,有進來跑一次
7.最簡單版本的單獨操控 GPIO方式
P1DIR |= (1<<7);
P1SEL &= ~(1<<7);
P1_7 = 1; // P1_7控制
P2DIR |= (1<<0);
P2SEL &= ~(1<<0);
P2_0 = 1; // P2_0控制
這邊是舉例 操控 P1_7 跟 P2_0 (在 CC2541的 HIDremoite中)能用的也只有這兩個接腳
8. IR_OUT 我也嘗試拿來當GPIO 可是效果不如預期,而且電流特大,LED容易燒壞,應該可以拿來推一些需要大功率的
9.在 初始化完畢後,如果有定義POWER_SAVING,每按一次按鈕就會來跑一次這個function, osal_pwrmgr_powerconserve();並且在OSAL_SET_CPU_INTO_SLEEP( next );進去後halSleep(m)會有一個很重要的function:
halDriverBegPM();//關閉硬體配置(LED跟I2C)
真正進入休眠後會把硬體配置都關閉,因此想要在睡眠模式下還要使用一些東西必須進去把相對應的東西 註解起來
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。