专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
STM32
主循环处理时间有点长,导致按键响应不灵敏
2019-10-15 18:39
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
STM32/STM8
3210
13
1209
我用SHT10检测温湿度、MQ-2检测烟雾,GPS定位,GSM发送短信。现在我主要加了3个按键进去,就是测试各个模块功能,能不能实现。但是在测试过程中,发现有时按键按下去没有反应,我分析主要原因是:循环中处理模块信息时间太长,导致有时候按键检测到,但是主循环还在处理其他事情。就导致这次的按键失效,就是丢键。不知道有没有大神,能给个思路,怎么及时处理按键响应。才学STM32 的2个月,如果觉得问题问的有点傻,莫怪!!!
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
13条回答
东北小辉辉
2019-10-15 20:05
本帖最后由 东北小辉辉 于 2017-1-6 14:57 编辑
菜鸟2770 发表于 2017-1-6 14:41
看来还是学的太少,一直裸奔到现在,要去看看UCOS了,谢谢指教
程序中不要出现delay死等,是裸机实现多任务的关键。
RTOS也不是万能的,只能说是简化了程序的设计,我们还是要学习RTOS的设计思想,说说我的理解吧,可能不对,你随便看一下。
其实RTOS和裸机的区别,无非就是在任务调度上,RTOS是一个模板,用户划分好任务,直接套在里面,就可以了(但是如何合理的划分任务,仍然是一个难题),因为RTOS每一个任务都有一个虚拟堆栈用来保存当前任务的环境,所以任务就可以从当前的函数中跳出。
裸机的话,由于是共享堆栈,任务一旦进入一个函数就要运行完,所以就要把每个任务分的很细,不能有长时间的延时,遇到大的任务,要把它切碎。
剩下的进程间通信,信号,消息什么的,其实是裸机和OS都有的,比如,裸机一样要注意保护共享资源,临界区什么的,否则,程序一样会出问题。
这方面我也是初学者,希望共同学习。
加载中...
查看其它13个回答
一周热门
更多
>
相关问题
STM32F4上I2C(在PROTEUS中模拟)调试不通的问题
6 个回答
芯片供应紧张,准备换个MCU,MM32L系列替换STM32L系列的怎么样?
7 个回答
STM32同时使用两个串口进行数据收发时数据丢包的问题
5 个回答
STM32F103串口通信死机问题
4 个回答
STM32WLE5CC连接SX1268在LoRa模式下能与 SX1278互通吗?
2 个回答
相关文章
ST公司第一款无线低功耗单片机模块有效提高物联网设计生产效率
0个评论
如何实现对单片机寄存器的访问
0个评论
通过USB用STM32片内自带Bootloader下载程序及注意事项
0个评论
欲练此功必先自宫之STM32汇编启动,放慢是为了更好的前行
0个评论
×
关闭
采纳回答
向帮助了您的知道网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
STM32
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
×
付费偷看金额在0.1-10元之间
确定
×
关闭
您已邀请
0
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
程序中不要出现delay死等,是裸机实现多任务的关键。
RTOS也不是万能的,只能说是简化了程序的设计,我们还是要学习RTOS的设计思想,说说我的理解吧,可能不对,你随便看一下。
其实RTOS和裸机的区别,无非就是在任务调度上,RTOS是一个模板,用户划分好任务,直接套在里面,就可以了(但是如何合理的划分任务,仍然是一个难题),因为RTOS每一个任务都有一个虚拟堆栈用来保存当前任务的环境,所以任务就可以从当前的函数中跳出。
裸机的话,由于是共享堆栈,任务一旦进入一个函数就要运行完,所以就要把每个任务分的很细,不能有长时间的延时,遇到大的任务,要把它切碎。
剩下的进程间通信,信号,消息什么的,其实是裸机和OS都有的,比如,裸机一样要注意保护共享资源,临界区什么的,否则,程序一样会出问题。
这方面我也是初学者,希望共同学习。
一周热门 更多>