久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3817|回復: 6
打印 上一主題 下一主題
收起左側

STC8H單片機串口中斷和外部中斷沖突

[復制鏈接]
跳轉到指定樓層
樓主
ID:612392 發表于 2022-5-9 19:23 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
最近在寫一個單片機程序,使用INT0將單片機從掉電模式喚醒,上升下降沿均可喚醒。
當P32為低電平時,P1.0輸出高電平,置高一個標志位,再用串口發送一個char(這里用0XAA代替)。
程序運行的時候,觸發INT0時,程序就卡在UartSendByte(0XAA)這句,上位機能收到發出來的0XAA,但就不執行后面的語句了,卡住了。
把UartSendByte(0XAA)這行語句去掉,運行就正常。
中斷優先級沒改過,默認的中斷優先級。是不是因為當前程序在INT0的中斷程序里,不會響應其它中斷?如果把串口中斷優先級改得比INT0高是不是就OK了?

void INT0_Isr() interrupt 0
{
        if(!P32)
        {
                P10=1;                                //AFE wake up
                PoweronFlag=1;
                //UartSendByte(0XAA);
        }
}

以下是UartSendByte()及串口中斷程序,都是直接copy STC手冊的
void UartSendByte(uchar dat)
{
        while(UartBusy);
        UartBusy=1;
        SBUF=dat;        
}

void Uart1_Isr() interrupt 4
{
        while(TI)                                                
        {
                TI=0;
                UartBusy=0;
        }

}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:301191 發表于 2022-5-9 21:57 | 只看該作者
頂一下
回復

使用道具 舉報

板凳
ID:624769 發表于 2022-5-9 22:10 | 只看該作者
要么:在 main 函數中增加   PS = 1;
要么:把你的        //UartSendByte(0XAA);     改成:  SBUF = 0xAA;
回復

使用道具 舉報

地板
ID:390416 發表于 2022-5-9 22:35 | 只看該作者
串口 別寫死了,單片機發送到串口助手,以及串口助手顯示到LCD1602 http://www.zg4o1577.cn/bbs/dpj-214747-1.html
回復

使用道具 舉報

5#
ID:401564 發表于 2022-5-10 13:58 | 只看該作者
雖然你的代碼只有一點,但卻很亂
UartBusy這個要在啟動的時候先清除,不然就會一直卡在那不動了
你這個中斷不需要設置什么的了,默認的就行
串口只會被打斷而已,外部中斷完成之后,中斷控制權還是會交給串口的
不應該在,外部中斷中發送串口
當你串口發送一半的時候,外部中斷被觸發,進入中斷,又發送一次串口,你這覺得這很亂嗎?
1,串口發送要在主程序中發送
2,外部中斷觸發之后,也就是按鍵按下,不是馬上發送,而進入中斷之后,設置一個標志位,表示按鍵按下了,這個標志要在串口發送完成之后再清除
不然的話,按鍵抖動,就會產生串口不斷的發送數據比如這樣
void Int0_isr() interrupt 0        //外部中斷0
{       
if(!P32)        {
key_press=1;                          //按下按鍵
key_100ms=100;//可以用做一些延時之類的,比如這個是100mS,串口發送完成之后,100mS再次按鍵是無用的
}
        IE0=0;
}


key_press在串口發送之后再清除,
回復

使用道具 舉報

6#
ID:1091094 發表于 2023-8-10 20:57 | 只看該作者
這個和STC的89c51有什么區別嗎  我用的外部中斷加串口也是不怎么穩定  好像沖突了
回復

使用道具 舉報

7#
ID:195496 發表于 2023-8-11 09:05 | 只看該作者
思路不清晰,不要在中斷中判斷管腳,在主程序中判斷后,寫個標志,中斷判斷標志后,清除標志,發送數據。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 香蕉av免费 | 丁香婷婷久久久综合精品国产 | 一区二区福利视频 | 高清黄色网址 | 久久www免费视频 | 色婷婷综合久久久中字幕精品久久 | 天天射影院 | 欧美中文在线 | 久久久久1 | 成人一区二区三区视频 | 日日夜夜精品视频 | 国产精品久久777777 | 婷婷综合激情 | 国产亚洲精品综合一区 | 免费精品视频在线观看 | 免费性视频 | 午夜男人视频 | 99久久久无码国产精品 | 粉嫩一区二区三区四区公司1 | 日韩色在线 | 欧美大片一区 | 欧美一区二区免费 | 久久一区 | 日韩电影一区 | 91欧美精品成人综合在线观看 | 天天插天天狠天天透 | av天天看| 一区二区三区在线免费观看视频 | 色爱综合网 | 99免费精品视频 | 成年女人免费v片 | 久久久综合 | 免费黄色在线观看 | 日韩不卡视频在线观看 | 久久国产成人午夜av影院武则天 | 亚洲成a人片 | 91精品国产91久久久久久最新 | 久久99久久99精品免视看婷婷 | 欧美一区二区三区在线观看视频 | 亚洲精品电影 | 国产特黄一级 |