完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好!我们经常会用Finsh自定义一些测试函数,比如下面这样的: void test_led() void test_button() |
|
相关推荐
4个回答
|
|
这种循环没法通过命令来退出了,在你输入finsh命令进入该循环后,会发现什么命令都输入不了了。循环中加入延时可以不影响其他线程的执行,但是finsh仍然是输入不了任何指令,除非退出该循环。
也没啥好办法,可以通过在循环中加入定时、计数让循环执行一段时间自动退出,或者依据button的值,按下几次就退出。想要主动退出的话,也可以通过自定义finsh命令创建一个按键测试线程,并运行,退出时再通过自定义的finsh命令来删除这个线程。 |
|
|
|
定义执行测试函数:
static uint8_t g_test_running = 1; void test_button() { while(g_test_running) { printf("%dn", read_button()); rt_mdelay(10); } } MSH_CMD_EXPORT(test_button, test_button); 定义退出测试函数: void test_button_exit() { g_test_running = 0; } MSH_CMD_EXPORT(test_button_exit, test_button_exit); 简单实现,试试看? |
|
|
|
这种方式应该可以,但是不是太好,我们是在终端一直打印按键的状态的同时,输入test_button_exit并回车,如何能直接按ctrl+c把它就直接停了就好了。
|
|
|
|
要退出它有N种方法,你可以根据你的需求去实现。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
1209 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1058 浏览 0 评论
1444 浏览 0 评论
1371 浏览 0 评论
1023 浏览 0 评论
74582 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 12:50 , Processed in 0.641768 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号