網頁

2013年6月27日 星期四

[雜事]2013-06-27 about CC2541 簡單整理

話說這一個月一值在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)

真正進入休眠後會把硬體配置都關閉,因此想要在睡眠模式下還要使用一些東西必須進去把相對應的東西 註解起來



沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。

Site Meter