CUBEMX生成代码,使用时宕机
这几天使用STM32CUBEMX编写STM32F411程序的时候,用到了定时器,我要0.01S取一个数,我就用定时器去完成,但是我使用是发现当中断函数里面没有写自己代码时HAL_TIM_Base_Start_IT这个函数执行能通过,当中断函数写了代码,就会宕机在这一行,如果注释掉就没问题,不知道是什么原因。上关键代码,要不然大家也没办法猜 是啊,把你描述的代码贴出来 netlhx 发表于 2015-8-17 16:18
上关键代码,要不然大家也没办法猜
我在红色代码上写代码,中断正常工作,但是在下面写运行HAL_TIM_Base_Start_IT就会宕机
void TIM2_IRQHandler(void)
{
/* USER CODE BEGIN TIM2_IRQn 0 */
int i=0,sum,j,temp;
HAL_UART_Transmit(&huart6,uart_send_data,17,1000);
/* USER CODE END TIM2_IRQn 0 */
HAL_TIM_IRQHandler(&htim2);
/* USER CODE BEGIN TIM2_IRQn 1 */
/* USER CODE END TIM2_IRQn 1 */
} 我在红色代码上写代码,中断正常工作,但是在下面写运行HAL_TIM_Base_Start_IT就会宕机
void TIM2_IRQHandler(void)
{
/* USER CODE BEGIN TIM2_IRQn 0 */
int i=0,sum,j,temp;
HAL_UART_Transmit(&huart6,uart_send_data,17,1000);
/* USER CODE END TIM2_IRQn 0 */
HAL_TIM_IRQHandler(&htim2);
/* USER CODE BEGIN TIM2_IRQn 1 */
/* USER CODE END TIM2_IRQn 1 */
} one-touch 发表于 2015-8-19 09:16
我在红色代码上写代码,中断正常工作,但是在下面写运行HAL_TIM_Base_Start_IT就会宕机
void TIM2_IRQHandl ...
HAL中断有自己的机制,你只要写好回调就行了。 楼主好好的看下HAL的手册。。 党国特派员 发表于 2015-8-19 09:26
楼主好好的看下HAL的手册。。
好的 多谢大神orz 定时器的中断间隔太短,不死都难。
不一定是定时器,其它任何的中断,只要中断的间隔太短,或中断中处理的时间过长,不死都难。
wuzhujian 发表于 2015-8-19 13:03
定时器的中断间隔太短,不死都难。
不一定是定时器,其它任何的中断,只要中断的间隔太短,或中断中处理的 ...
那它死后,执行的是什么代码呢?中断里面的还是主程序或者跑飞。自己中断把自己打死?
页:
[1]