页面 1
本人不懂标准,仅供参考,有错请指正
http://www.wangfuchong.com
2012.1 Written by 王福崇
LaunchPad官方板载Demo源程序流程图
开始
applicationMode = APP_APPLICATION_MODE;
uartUpdateTimer = UART_UPDATE_INTERVAL;
关看门狗
主程序:
ADC使能,ADC开始转换一次
进入省电模式LPM0
温度采样值存入温度值数组
tempMeasured[tempMeasuredPosition++]
计算温度值数组平均值tempAverage
uartUpdateTimer-1后等于零?
或者
参考温度校准布尔标志变量
calibrateUpdate为真
配置定时器PWM模式子程序
进入待机模式设定子程序
进入了低功耗模式,暂停
配置定时器为Uart模式
Y
calibrateUpdate
为真?
串口发送子程序发送值248
calibrateUpdate = 0;
计算串口发送值TXByte为华氏温度值
Y
N
串口发送子程序发送值TXByte
uartUpdateTimer = UART_UPDATE_INTERVAL;
配置定时器PWM模式子程序
使能全局中断
温度低于参考温度
阈值TEMP_THRESHOLD
N
极性tempPolarity = TEMP_COLD;
绿灯置灭状态
Y
温度高于参考温度
阈值TEMP_THRESHOLD
N
Y
N
极性tempPolarity = TEMP_HOT;
红灯置灭状态
极性 tempPolarity = TEMP_SAME;
TACCTL0和TACCTL1关中断使能;
红绿灯全置灭状态
tempPolarity != TEMP_SAME
根据温度偏差值设定TACCR1值;
TACCTL0和TACCTL1开中断使能
Y
N
初始化时钟系统子程序
初始化按键子程序
点击相关子程序框可转到相
关子程序流程图(如果有)
配置温度传感器模数转换子程序
TACCR0_ISR
TACCR1_ISR
PORT1_ISR
WDT_ISR
ADC10_ISR