用
CPUdelay((uint32_t)((48000000/4)*0.150f));延时 时间正常
用task_sleep 不对的。基本没延时 所以我想问下 在回调里面是不是不能用任务延时
还有就是 我在任务函数里面 用任务延时可以 但是好像在任务函数里面调用另一个函数 在被调用的函数里面用tasksleep 也会出问题
大佬能否帮我明确下这个
YiKai Chen:
試試用usleep(delay_us)
kun zhou:
回复 YiKai Chen:
usleep 是任务延时吗。还是也会阻塞进程?
YiKai Chen:
回复 kun zhou:
基本上消抖就是用CPUdelay做啊,你可以看到TI的pininterrupt例程就是這樣作的
Viki Shi:
延时也可以用Task_sleep(),区别是Task_sleep会放弃执行本任务,转去执行其他任务;CPUdelay只是延迟执行时间
kun zhou:
回复 Viki Shi:
我在任务函数里 Task_sleep(5000) 差不多延时五十ms, 在按键回调里面也这样调用, 感觉就跟没延时一样, 这个Task_sleep的单位是什么啊, 还有usleep 没找到头文件 但是编译不会出错 这又是哪里的函数
kun zhou:
回复 YiKai Chen:
是啊,就是看他历程是这样的,但是不太合理消抖时间差不多50到100ms直接延迟的话可能会影响其他的任务,