你的程序框架应该有问题。建议流水灯直接用数组查表法做,这样每种花样都是一个简单的循环就可以搞定,而不是单独为它们各写一个子函数。本程序也不复杂,仅仅用延迟函数就足够了,没有必要用定时器,反正你并没有将它用好,增加出错的可能。 |
这个延时函数不起作用:!优先级比>=高。 |
感觉 你的程序中 花样和速度 都共用的delay_ms函数 每次调用也没及时 把tt 初始化,只靠在定时器 计数溢出才退出,然后 处理花样和速度函数中还有一些 while 之类操作 这种死等的查询方式怎么看都有问题 |
你的delay_ms函数总是在死等,每次调用也没及时 tt 初始化(只是在t1 interrupt 3 中要溢出了才初始化清0,这怎么行),影响实时性 也容易出问题。 建议把花样和速度的定时变量建议分开 比如timeo_fSpeed,limitimeSpeed; timeof_mod,limitime_mod if(timeo_fSpeed<limitimeSpeed) { timeo_fSpeed = 0; } |
无所谓的花样、速度! 只有显示那几个?各自间隔的时间是多少?这掌好这个要点就行了。 |