完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我想在F407上实现一个串口收发的功能,串口中断函数里,把接收的数据放到缓冲区数组里,任务有三个,分别是解析缓冲区的数据,组帧放入发送缓冲区,将缓冲区的数据发送出去,现在是刚开机只执行优先级最高的任务,然后没过一两秒就进入了串口中断里,就没反应了,大家根据经验,帮我想想,可能程序哪里会出现问题?
|
|
相关推荐
5个回答
|
|
你说的没反应了是程序挂了还是什么意思?开机进入串口中断的话,你可以看看你在串口初始化的时候有没有做串口接收中断标志位清除的动作。
|
|
|
|
中断标志位清除了,任务的程序都是把之前裸机上能运行的程序复制过来的
|
|
|
|
|
|
|
|
[C] 纯文本查看 复制代码
void USART6_IRQHandler(void){ if(USART_GetITStatus(USART6, USART_IT_RXNE) != RESET) { BaseType_t xHigherPriorityTaskWoken; xHigherPriorityTaskWoken = pdFALSE; u16 ReceiveData; if((GetRxBufferLength(&MyUart[GPS_COM6])<(UARTBUFFSIZE-1))) { ReceiveData=USART_ReceiveData(USART6); EnRxBuffer(&MyUart[GPS_COM6], ReceiveData); portYIELD_FROM_ISR(xHigherPriorityTaskWoken); } USART_ClearITPendingBit(USART6,USART_IT_RXNE); }} |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
695 浏览 1 评论
2122 浏览 5 评论
2437 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2201 浏览 6 评论
2166 浏览 7 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
317浏览 9评论
307浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
439浏览 6评论
301浏览 5评论
349浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-28 01:19 , Processed in 0.899941 second(s), Total 81, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号