RTX51 tiny系统要注意的问题:(关于时间片)
默认配置文件CONF_TNY.A51中定义INT_CLOCK=10000,即硬件定时溢出为10000个机器周期,TIMESHARING=5,即循环切换时间为5个溢出。
如果用12M晶振,10000个机器周期=10000us=10ms,5个溢出=50ms,就是说每个任务占用50ms的时间片,对于要求时间较短的任务来说就要改配置了。
我的程序要对一个脉宽30ms左右的脉冲计数,结果开始总是不对,后来才找到毛病。
改配置文件的方法:
1. 打开D:"Keil"C51"RTX_TINY目录下CONF_TNY.A51文件,修改两个参数
2. 执行相同目录下的genrtx.bat文件,执行成功后会生成Rtx51tny.lib文件
3. 将D:"Keil"C51"LIB下的Rtx51tny.lib作个备份,再将第2步中生成的Rtx51tny.lib拷贝到D:"Keil"C51"LIB目录下覆盖原有文件即可
4. 重新编译你的工程