打印
[STM32F1]

STM32用的CUBE程序 定时器 TIM2和TIM3一起用 不能正常工作

[复制链接]
2509|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
b838899|  楼主 | 2017-4-12 15:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32用的CUBE程序  定时器  TIM2和TIM3一起用 这样设置回调函数 怎么不能正常工作呢?

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
        {
                if (htim->Instance == htim3.Instance)
                {
                        WDI_cont++;       
                //        HAL_IWDG_Refresh(&hiwdg);                       
                }
                if (htim->Instance == htim2.Instance)
                {
                        HAL_UART_Transmit_DMA(&huart3, (uint8_t *)aTxStartMessage, sizeof(aTxStartMessage));
                        //HAL_Delay(50);
                        HAL_UART_Transmit_DMA(&huart4, (uint8_t *)aTxStartMessage, sizeof(aTxStartMessage));
         
                //        HAL_IWDG_Refresh(&hiwdg);                       
                }
        }
        如上:单独一个都可以工作。两个一起不能正常运行。麻烦高手看看。。。。

沙发
b838899|  楼主 | 2017-4-12 16:56 | 只看该作者
把DMA发送放在主循环可以正常工作,在中断里面不行,麻烦看看原因?

使用特权

评论回复
板凳
wozaihuayu| | 2017-4-12 17:34 | 只看该作者
看看是不是中断优先级的事儿?串口优先级可能低于定时器优先级

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

76

帖子

1

粉丝