单片机学习小组
直播中

王晾其

7年用户 1007经验值
私信 关注

RTX51无法响应按键

这是我们语音数字万用表的一个程序,51单片机采集ICL7135数据再SPI控制ISD1760语音播报,然后用RTX51tiny操作系统实现数码管显示和语音播报同时进行,语音播报任务里有一个按键,通过按键控制语音播报,问题就是,系统的时间片设置的是20ms,能正常工作,但是这样就会使任务切换不到的时候无法响应按键,也就是不灵敏的感觉,然后试着把时间片改小,改到10ms以下,比如2ms,烧到单片机里就不工作了,数码管也不亮,语音芯片也没有电流声,就是没有初始化的感觉,但是用proteus仿真却可以运行,然后把程序简化做个试验,还是同样的问题,不知道什么原因,然后就不用操作系统把显示部分放中断里了,但是还是想知道这个问题是什么原因,第一次使用RTX51,求大神指点....
RTX51实现.c (14.36 KB )

回帖(2)

蒋牛钱

2019-4-30 09:26:50
2ms切换一次任务,亚历山大了...
你用的什么51?
2ms你算算能做多少事情,够不够一次切换的时间?
举报

杨文田

2019-4-30 09:34:07
单片机是STC89C52,晶振12M,一次切换应该够了吧,这是一个别人写的打砖块游戏,也是同样的单片机,他是这么设置的
;  Define Hardware-Timer tick time in 8051 machine cycles.
INT_CLOCKEQU400; default is 10000 cycles
;
;  Define Round-Robin Timeout in Hardware-Timer ticks.
TIMESHARINGEQU     5; default is 5 Hardware-Timer ticks.
;                ; 0 disables Round-Robin Task Switching
时间片也是2ms啊,我弄的10ms还行,以下就不行了,看来得把官方的例子弄出来试试了
举报

更多回帖

发帖
×
20
完善资料,
赚取积分