最近友一起开发一个项目,为了项目后期维护和任务可以分开,决定用rt_thread系统,由于我之前没有怎么接触操作系统,直接变小白,所以就开始了自己漫长的边学边忘之路,把自己碰到问题一点一点的记录,防止自己又学费。
最先碰到的问题 RT_TICK_PER_SECOND 每秒的节拍数,在rtconfig.h 里面宏定义一般为100
则为设置定 10ms的时钟节拍,这个值就直接决定一个OS Tick(时钟节拍)的时间长度,
这个参数值主要影响的是系统的超时,比如rt_mq_recv,rt_mutux
但是对tr_thread_mdelay 不是很受到影响,
如果仔细研究的话 rt_thread_mdelay 的函数其实直接是rt_tick_from_millisecond函数的包装,
这个函数就把当前的mdelay 的参数值,直接转化需要多少个RT_Tick_PER_SECOND,所有做了一个单位换算之后,那么mdelay 感觉上就不受到RT_TICK_PER_SECOND影响,
但是RT_TICK_PER_SECOND 不能太长,数字越大,打断频率约频繁,则影响的效率越大。