使用stc12c5a60s2雙串列埠微控制器時串列埠2的中斷服務

2021-03-27 17:21:28 字數 2835 閱讀 4820

1樓:匿名使用者

應該和1方式一樣,就是中斷向量變為8,1串列埠為3,

各種暫存器有所改變,但控制方式是一樣的。

stc12c5a60s2雙串列埠微控制器的串列埠通訊方式問題

2樓:匿名使用者

在同乙個程式裡面,可以串列埠1使用

中斷方式、串列埠2使用查詢方式。當然,串列埠2也可以使用中斷方式,並且推薦這樣做。

中斷的開啟和關閉應該怎樣具體操作?為什麼關閉中斷?設定好串列埠(不管1、2),開啟中斷,就不需要關閉中斷了,除非特殊需要。

是不是串列埠1收發完成時關總中斷?同上,為什麼老要關中斷你?

串列埠2就可以使用查詢方式正常收發了,然後串列埠1需要通訊時再開啟總中斷?

你自己不覺得這樣安排很彆扭嗎?串列埠2任何時候都可以使用查詢方式正常收發(包括中斷方式),跟串列埠1無關。

微控制器stc12c5a60s2串列埠2工作方式0初始化子程式

3樓:匿名使用者

#include

#define uchar unsigned charsfr auxr=0x8e;

sfr s2con=0x9a;

sfr s2buf=0x9b;

sfr brt=0x9c;

sfr ie2=0xaf;

#define s2ri=0x01

#define s2ti=0x02

uartinit()

stc12c5a60s2微控制器的串列埠中斷問題求助

4樓:良家少年

幾毫秒產生乙個資料,

用串列埠傳送,串列埠應該跟不上。可以將產生的資料放在儲存內器中,然容後用串列埠傳送,不過這樣等待傳送的資料也會越來越多。

研究了下,這種情況應該是你的定時器中斷造成的,可以在串列埠傳送資料是禁止定時器中斷,資料傳送完成後再開啟定時器中斷。

5樓:匿名使用者

還是那個bai中斷優先順序

暫存器沒有du

設定好,至少要zhi設定daoip,ip2暫存器,將兩個串列埠設專置成高優屬先級,而將定時器0設定成低優先順序。

另外,stc12c5a60s2串列埠的波特率可以設定得很高的,盡量用高波特傳送,可以減少傳送時間,完全可以設定成38400的,甚至57600,都沒有問題的。

6樓:做而論道

老是資料傳送一半被中斷了...

幾個毫秒,傳送一次,怎麼會《被中斷》呢?

當你用 9600bps,傳送一次,約一毫秒,就發完了。

一次,你是要傳送很多資料嗎?

stc12c5a60s2型號微控制器串列埠通訊和定時器中斷問題

7樓:匿名使用者

這個似乎不難吧,

按照你的說法,串列埠1接第一次收到資料後啟動定時器開始計時,並把每次接收的資料放在乙個臨時的快取裡,當定時器時間到的時候開始串列埠2的傳送程式。

個人感覺給串列埠1的資料裡定義乙個起始位和結束位更好,這樣就不用定時器了

8樓:匿名使用者

你不如這樣做,第一現在你的串列埠接受時自己訂立乙個協議,在每組資料傳送完畢時,最後來乙個代表資料已經傳送完畢的字元或資料,在你的程式裡檢測到這個字元或資料,後馬上就執行傳送命令,這樣一來節約了大量的微控制器的時間.

stc12c5a60s2微控制器的串列埠2傳送資料問題

9樓:匿名使用者

在pudn 上找乙個程式吧,很多這款微控制器的,也有串列埠2的程式

求乙個使用stc12c5a60s2微控制器的串列埠1向stc-isp串列埠助手傳送abcd字串的程式

10樓:handsome灬橙子

//串列埠通訊 標頭檔案 62616964757a686964616fe58685e5aeb931333365653138

void usart_init() ;    //串列埠初始化(11.0592mhz晶振。9600波特率)

void  usar_sent(unsigned char dat) ;  // 串列埠傳送資料

//unsigned char  usar_read() ;   //  串列埠接受資料

void usart_init()

void  usar_sent(unsigned char dat)

unsigned char  usar_read()

//sfr  sbuf       =   0x99;

//sfr  s2con      =   0x9a;

//**0/fe  **1     **2     ren     tb8     rb8     ti      ri//  s2con暫存器具體配置

以上是相關程式,我也未實驗過,如果可以的話請採納,不行的話請忽視。

關於stc12c5a60s2雙串列埠收發程式 求指點 10

11樓:

main函式內幾個while語句很不規範,不是這樣用的,另外,初始化程式要放在程式開始的地方,while外面。

12樓:匿名使用者

檢查一下自環測試能不能收到資料

stc12c5a60s2微控制器串列埠設定問題

13樓:匿名使用者

很想幫你但無奈那個stc89c5*的資料手冊裡找不到rcap2l 和 rcap2h 的含義,而12c5a60的t2設定裡沒有這個,所以你的程式問題應該在也這裡,建議仔細讀12c5a60的資料手冊,只有手冊能幫到你。

stc12c5a60s2微控制器的晶振是多少,是範圍嗎?能否有詳細的數值,我想做精確的定時

一般來說,為了保持訊號完整性,在時鐘電路上是不推薦直接的一驅二或者一驅多的電路。最好是使用時鐘buffer來做一驅多的設計。cpld必須使用有源晶振的。一般用24m的晶振就可以了 你的精確定時是什麼級別的?晶元資料裡肯定有要求的 內部晶振肯定是個範圍,想要精準的定時還是用外部晶振!stc12c5a6...

STC12C5A32S2微控制器和STC89C52RC微控制器的串列埠通訊問題

有沒有把兩個 叉連線呢,乙個的 rxd連另乙個 txd 波特率相同麼?你需要設定相同的波特率 還有就是你兩個微控制器必須乙個接受內,乙個傳送!不能同時傳送資料容!比如ab兩台機器。a先發0x33給b,當b收到0x33後,再傳送0xdd給a 還有上面提到的 txd和rxd相連,rxd和txd相連 st...

stc15f2k60s2微控制器,程式和燒寫軟體如圖,但每次都

程式看上去沒問題,原因各種可能都有,另外你說的 沒反應 指的是什麼?有回led指示?還是說用示波器答檢視?首先看看硬體吧,很可能是微控制器壓根沒工作 能燒寫進去不代表硬體電路沒問題,萬一沒有復位呢?或者晶振沒有起振呢?都有可能,也可能是你的延時太短,閃爍效果看不出來 從你提供的資訊看,只能分析這麼多...