TI中文支持网
TI专业的中文技术问题搜集分享网站

cc1310 tirtos 按键中断里面想做消抖和长按处理,延时只能用cpudelay吗

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直接延迟的话可能会影响其他的任务,

赞(0)
未经允许不得转载:TI中文支持网 » cc1310 tirtos 按键中断里面想做消抖和长按处理,延时只能用cpudelay吗
分享到: 更多 (0)