欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機led燈閃爍問題 定時器控制 閃爍不同步 [打印本頁]

作者: 89464608    時間: 2017-3-13 15:48
標題: 單片機led燈閃爍問題 定時器控制 閃爍不同步
stc單片機,我用定時器0控制LED閃爍,但是閃爍不同步,比如我先用串口發送命令使第一個燈閃爍,再發送命令使第二個燈閃爍,發現這兩個燈閃爍不同步,有什么解決辦法呢?求指教!
作者: Longan.Wang    時間: 2017-3-13 16:19
閃爍頻率用同一個寄存器控制,兩LED是否閃爍分別用兩個標志位控制,OK
作者: 89464608    時間: 2017-3-13 16:38
Longan.Wang 發表于 2017-3-13 16:19
閃爍頻率用同一個寄存器控制,兩LED是否閃爍分別用兩個標志位控制,OK

我在外面設標志位,在定時器里面根本不管用。方便留個QQ么
作者: yzwzfyz    時間: 2017-3-14 22:44
接收端的單片機,收到命令后,不要急于響應,做一個適當的延時同步,再響應就OK了。
作者: TIANYUN1573    時間: 2017-3-14 23:23
你把程序寫出來啊
作者: 超神NK    時間: 2017-3-15 14:25
你發送第二次時,直接讓2個LED重新開始閃爍不就行了。
作者: Longan.Wang    時間: 2022-11-3 17:19
// 隨便寫了一下,意思一下。根據實際情況自己修改一下。
// 假設Timer 1ms中斷一次,LED閃爍頻率為1Hz
#define LED1        P1_1
#define LED2        P1_2

unsigned int cnt = 0;            // 控制閃爍頻率
unsigned char status = 0;      // 所有LED使用的狀態,
unsigned char led1_flag = 0; // LED1閃爍控制,1允許閃爍,0禁止閃爍,受你串口命令控制
unsigned char led2_flag = 0; // LED2閃爍控制,1允許閃爍,0禁止閃爍,受你串口命令控制

// 定時器中斷,沒用過這款MCU,隨便取個名字,自己選有用的看
void Timer_IRS(void)
{
        ......
        cnt++;
        if (cnt >= 500){
                cnt = 0;
                status ^= 1;
        }
        ......
}

int main(){
        ....
        if (led1_flag){
                LED1 = status;
        }
        else{
               LED1 = 自定義不閃爍狀態(亮或滅);
        }
        if (led2_flag){
                LED2 = status;
        }
        else{
               LED2 = 自定義不閃爍狀態(亮或滅);
        }
        ....
}
作者: 啤酒瓶子老大    時間: 2022-11-3 21:28
樓上大佬都回答的挺好的。我的理解是,多創建幾個標志位,也許就能解決問題。
好好的利用if
如果利用的好,那么就成功了。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1