疑问
【问1】当软件定时器STOP后,为什么msg_num还能自增。也就是说我觉得 “ALIENTEK %d”应该是从 ALIENTEK 1 到 ALIENTEK 4,不应该到 ALIENTEK 8。
【问2】看液晶屏上的显示,Remain Size是由4减到0后再增加的,为什么不是4减到3,或者减到2后就增加。因为我觉得在定时器回调函数中每OSQPost一次后,在msgdis_task中应该就能请求到一次消息,所以不用等到Remain Size减到0后才能请求到消息。
解惑
【问1】
- 关于第一个问题,首先要搞清楚软件定时器是500ms,显示任务是1s。
- 发送一次消息队列,消息队列对应的剩余量要减1;
- 请求一次消息对了,消息队列对应的剩余量要加1
好了,接下来看下面的图,每500ms加入一个数据到消息队列中,每1s要从消息队列中出去一个数据,这样下去,占满消息队列(4条消息)的时候,不就是消息内容为8的时候嘛~~
【问2】
这个需要打印到串口,带时间戳看看便知