第八届省赛题目的控制逻辑相比之前更加复杂, 需要花一定的时间来理清逻辑(利用状态机)。虽然之前对状态机有所了解,但这是我第一次使用状态机。
注:
1.PWM输出:PA6——TIM3_CH1, PA7——TIM17_CH1。(PWM Generation No Output)
2.设置占空比:
__HAL_TIM_SET_COMPARE(&htim17, TIM_CHANNEL_1, 250);
HAL_TIM_PWM_Start(&htim17, TIM_CHANNEL_1);
3.判断上行还是下行:if(Set > (1 << (Platform - 1)))//上行,else if(Set < (1 << (Platform - 1)))//下行。
判断是否到达当前楼层:if(Set & (1 << (Platform - 1)));
熄灭当前楼层LED:Set &= (~(1 << (Platform - 1)));
4.RTC的配置。