我在uc/os系统下,利用时钟节拍函数,定时发送AD开始采集的信号量。同时在AD采集任务开始前也加入一个控制信号量,即需要等待开始信号量后,AD任务才开始采集。
但在实际的实验中,发现串口输出的AD采集的信息不是按设定的频率来得,总是一开始会输出很多信息,之后一段时间才按设定的频率采集。
个人分析原因,好像是AD采集的信号量是从开始一直在按频率发送的,但AD采集任务不确定什么时候开始,所以感觉像是之前发送的信号量堆积在一起了,开始AD任务后,把之前的都采集一遍。不知道是不是这个原因。初学STM32和uc/os不是很懂,不知道说清楚没有,请大家帮忙分析下。谢谢了。
|