这几天一直在做蓝桥杯嵌入式开发历年的题目 在第七届决赛的模拟题中 有一个要求PA6和PA7产生两个异相并且频率可调的方波 后来我研究了一下STM32的Output comare mode,
因为要调节频率 所以选择了toggle 模式 使方波产生异相在中断中设置就行 先上手册的图
那 这是张老图了
在来看一下 官方StdLib3.5的OCToggle模式下的中断函数
void TIM1_BRK_TIM9_IRQHandler(void)
{
/* TIM9_CH1 toggling with frequency = 366.2 Hz */
if (TIM_GetITStatus(TIM9, TIM_IT_CC1) != RESET)
{
TIM_ClearITPendingBit(TIM9, TIM_IT_CC1 );
capture = TIM_GetCapture1(TIM9);
TIM_SetCompare1(TIM9, capture + CCR1Val );
}
/* TIM9_CH2 toggling with frequency = 732.4 Hz */
if (TIM_GetITStatus(TIM9, TIM_IT_CC2) != RESET)
{
TIM_ClearITPendingBit(TIM9, TIM_IT_CC2);
capture = TIM_GetCapture2(TIM9);
TIM_SetCompare2(TIM9, capt