本文根據一周CC2541筆記彙總得來——
适合概覽和知識快速索引——
全部連結:
<a href="http://note.youdao.com/share/?id=df9119fee717b6edb94783fdf193889d&type=note" target="_blank">中級教程-OSAL作業系統\OSAL作業系統-實驗01 OSAL初探</a>
<a href="http://note.youdao.com/share/?id=3b2c233ec1e1db49fffda2c3cecfede7&type=note" target="_blank">【插入】SourceInsight-工程建立方法</a>
<a href="http://note.youdao.com/share/?id=7be6aa7720c35d32de745e930f81585c&type=note" target="_blank">中級教程-OSAL作業系統(OSAL系統解基本套路)</a>
<a href="http://note.youdao.com/share/?id=ca67bdb2fae33fa100a4204b83a41e8a&type=note" target="_blank">中級教程-OSAL作業系統(進一步了解-OLED && 普通按鍵和5方向按鍵-中斷!!!)這個系統驅動層和應用層不一樣~</a>
<a href="http://note.youdao.com/share/?id=790c5dbdf21d9ba89d599d501b80cfcd&type=note" target="_blank">中級教程-OSAL作業系統(ADC-光敏電阻)</a>
<a href="http://note.youdao.com/share/?id=4b395083390b81e51e18c6b9e5a9230d&type=note" target="_blank">OSAL作業系統-實驗16 序列槽波特率擴充</a>
<a href="http://note.youdao.com/share/?id=e3e9c0c6127b405158e2ea6871ac4b42&type=note" target="_blank">OSAL作業系統-實驗17 AT指令初步</a>
<a href="http://note.youdao.com/share/?id=1e968317ec96c451c31a05fe93e0e0f1&type=note" target="_blank">OSAL作業系統-實驗20 模拟IIC通信+硬體IIC(Mpu6050)</a>
<a href="http://note.youdao.com/share/?id=484c5b658874f0600215ba58e9b1493b&type=note" target="_blank">OSAL 作業系統-實驗 23 PWM 輸出(改變占空比)</a>
<a href="http://note.youdao.com/share/?id=5b1ded2987202b1cc44733846f4d909b&type=note" target="_blank">OSAL 作業系統-實驗 24 看門狗 WachDog</a>
<a href="http://note.youdao.com/share/?id=ec042eaffa0c5fa3eecb59183c6e40dd&type=note" target="_blank">OSAL作業系統-實驗25 SNV内部Flash資料讀寫</a>
<a href="http://note.youdao.com/share/?id=62e89b5ba1db119af09e1e57ebb6eec2&type=note" target="_blank">OSAL 作業系統-實驗 29 系統睡眠等級研究</a>
<a href="http://note.youdao.com/share/?id=5faa6d76fb92366c7b8a1a45af0d823e&type=note" target="_blank">OSAL 作業系統-實驗 31 從機廣播功率修改</a>
一、PWM 輸出(改變占空比)23
常見的就是用藍牙控制 cc2540或 cc2541 輸出 pwm 調整 RGB 燈, 實作各種顔色的調整
實作 P0.3, P0.4, P0.5, 輸出 3 路 pwm, 一般這個 pwm, 可以實作 RGB 彩色燈泡的控制。

以上 2 個檔案,實作的是 pwm 的初始化與中斷與設定。
定義3路引腳
以上為設定 pwm 的初始化,這裡, 設定周期的 tick 為 375, 也就是 1.5ms 周期。
為time的中斷函數
想控制占空比可以調用PWM_Pulse進行修改(red,green,blue為其值)
是通過将這些參數指派給比較寄存器來實作的~
、
在應用層:
simpleBLETest.c中
二、看門狗 WachDog
看門狗功能一般有兩種:
其一, 預防程式跑飛,當系統程式跑飛後系統自動重新開機,避免整個大系統停止運作或崩潰。
其二, 這個最常用,就是需要軟體重新開機時使用,例如我們設定了某些參數後期望系統重新開機,這個時候看門狗也能夠派上用場。
Hal_mcu.h
TI 已經做好了看門狗的部分代碼, 但是定時 1000ms 的看門狗則沒有, 我們加上這個功能:
144 行, 系統複位,實際上就是啟動看門狗,然後不喂狗實作重新開機。
150 行, 是我們實作啟動 1000ms 定時的看門狗, 1000ms 内需要喂狗, 否則就重新開機了。
#define HAL_SYSTEM_WATCH_DOG_1000MS() st( WDCTL = 0x00; WDCTL |= 0x08; )式我們添加的代碼。
216 行, 喂狗, 避免軟體重新開機
225 行, 定時 1000ms, 1000ms 内需要喂狗, 否則就重新開機了
235 行, 是故意的系統重新開機
本文轉自beautifulzzzz部落格園部落格,原文連結:http://www.cnblogs.com/zjutlitao/p/4779458.html,如需轉載請自行聯系原作者