本文主要是介绍UCOSII邮箱问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
学习ucosII的过程中,使用了邮箱,发送线程收到串口数据后,在收到结束符,完成一帧的收取后,动态开辟一个空间,将此空间的指针作为消息内容,发送到接收处理线程,处理线程处理完后,释放此空间,调试程序发现内存泄漏现象,经过分析发现是由于串口数据发送过快,在之前的邮箱消息还未处理的时候,新的邮箱消息又进行了发送,导致消息指针被覆盖,最后释放的是覆盖后的指针,之前的指针未释放,时间长之后内存满,导致无可用内存, 弃用邮箱改用消息队列,问题解决。像rtt的邮箱,是带队列的,这个比较好。效率高而且不会覆盖。
这篇关于UCOSII邮箱问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!