熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2019-4-12 10:48
正文摘要:用兩個(gè)按鍵控制LED流水燈,一個(gè)控制花樣,每按一下切換一種花樣。一個(gè)按鍵控制快慢,每按一下,速度變化,不改變當(dāng)前的花樣。現(xiàn)在的速度不起作用。 |
你的程序框架應(yīng)該有問(wèn)題。建議流水燈直接用數(shù)組查表法做,這樣每種花樣都是一個(gè)簡(jiǎn)單的循環(huán)就可以搞定,而不是單獨(dú)為它們各寫一個(gè)子函數(shù)。本程序也不復(fù)雜,僅僅用延遲函數(shù)就足夠了,沒有必要用定時(shí)器,反正你并沒有將它用好,增加出錯(cuò)的可能。 |
這個(gè)延時(shí)函數(shù)不起作用:!優(yōu)先級(jí)比>=高。 |
感覺 你的程序中 花樣和速度 都共用的delay_ms函數(shù) 每次調(diào)用也沒及時(shí) 把tt 初始化,只靠在定時(shí)器 計(jì)數(shù)溢出才退出,然后 處理花樣和速度函數(shù)中還有一些 while 之類操作 這種死等的查詢方式怎么看都有問(wèn)題 |
你的delay_ms函數(shù)總是在死等,每次調(diào)用也沒及時(shí) tt 初始化(只是在t1 interrupt 3 中要溢出了才初始化清0,這怎么行),影響實(shí)時(shí)性 也容易出問(wèn)題。 建議把花樣和速度的定時(shí)變量建議分開 比如timeo_fSpeed,limitimeSpeed; timeof_mod,limitime_mod if(timeo_fSpeed<limitimeSpeed) { timeo_fSpeed = 0; } |
無(wú)所謂的花樣、速度! 只有顯示那幾個(gè)?各自間隔的時(shí)間是多少?這掌好這個(gè)要點(diǎn)就行了。 |
Powered by 單片機(jī)教程網(wǎng)