想在拉高电平后延时20ms, 使用示波器查看发现并没有20ms的延时, 故直接打印看了一下.
发现
tick的值没有20ms的变化. 这是什么造成的呢?
没有在中断中使用.
void hb_on(void)
{
drv_pwr(name, LOGIC_STAT_ON);
LOG_D("%d",rt_tick_get());
rt_thread_mdelay(20);
LOG_D("%d",rt_tick_get());
}
这是打印的两次tick的值:
12-08 08:00:23 D/HB: 23153
12-08 08:00:23 D/HB: 23153
rt-thread 4.0.3 使用类似:
void thread_task(void)
{
while(1)
{
.......
.......