Posted
by: 邱小新
at 上午9:21
in
WT61P9
- Timer0 做為 poller 使用,每 10ms 中斷一次,再根據每個 flag 在 main loop 執行。
- 所有的變數設定初始值是先把 address 放在 SubAddr_Table,data 放在 SubAddr_Default_Table,要注意二個位置要一致,以免出現問題。原來是要給 slave IIC 用的,讓其它週邊可以透過 slave IIC 來讀取資料。
- 在 idata 開了一個 PMCTL_DATA 大陣列,index 定義在 os.h 的 enum 裏。不知為什麼要如此麻煩,想不懂。
- 讀取風扇轉速透過 HV2Sync_Detect_Routine 及 HVSync_Detect_Routine,搞不懂其計算原理。會把值存在 FANx_RPM,但似乎都沒有用到。假如有一個轉速為 0,則會把 LED9_Fan Fail 點亮。
- 在 main 的 while loop 內會呼叫 Check_PWM_Output,會去檢查 PWM 值是否被外部 MCU 透過 IIC 變更,然後再變更風扇的 PWM 值,藉此改變風扇轉速。
- 溫度感應器有二組,一組透過 I2C,一組透過 ADC,I2C 讀取溫度透過 Thermal_routine,ADC 讀取溫度透過 Read_ADC_Routine,當溫度大於 Thermal_Thres1(0x2F,47C) 會把 LED7_High temperature 點亮。
張貼留言