STC雙串列埠使用

2021-08-14 17:47:15 字數 1160 閱讀 3734

我們在使用485下發資料的時候需要使用兩個串列埠。乙個為pc接收,乙個為晶元加密傳送,當然我們可以使用io模擬串列埠通訊從而傳送資料,為了簡單點,現在用**舉例!

//串列埠1接收pc機下發資料 並處理 處理後由串列埠2驅動rs485下發給從機,當然這裡沒有加485,也沒有加資料報處理,因為太簡單,自行處理!

#include "stc15.h"

#include "intrins.h"

#define uchar unsigned char

#define uint unsigned int

#define s2ri 0x01    //串列埠2接收中斷請求標誌位

#define s2ti 0x02    //串列埠2傳送中斷請求標誌位

uchar indata[16];

uchar outdata[23];

uchar incnt,flag;

uchar dataon=;

uchar dataoff=;

uchar indata_a[16];

uchar outdata_a[23];

uchar incnt_a,flag_a;

void uart1_init(void)

void uart2_init(void)

static  void udelay(uchar j)}}

void senddata()

ti=0;

udelay(50);

}void senddata_dataon()

}void senddata_dataoff()

}void senddata_dataon_a()

}void main(void)

// if(flag==1)

if(flag==11)

if(flag_a==0xa0)

// if(flag==22)

//senddata_dataon_a();}}

void uart1() interrupt 4

}if(incnt>=5)

}if(incnt>=7)else if((indata[5]==0x22)&&(indata[6]==0x22))else

}else}}

}void uart2() interrupt 8else

}else}}

printf()重定義STC串列埠列印問題

這兩天除錯乙個stc的專案,由於沒法debug所以想要用printf 重定義stc串列埠列印出來除錯,但是出現了一些問題 問題如下 st getkeynum 輸出 printf getkeynum 02x st printf r n 接下來看到串列埠列印的資料是這樣的 可以看到我輸出的是兩位16進製...

STC 51 微控制器 串列埠通訊實驗

以後不再好高騖遠,要腳踏實地地做好每件事,要踏踏實實地學好微控制器。作為第乙個部落格,首先談談我寫的乙個51微控制器串列埠通訊程式。我用的是一款增強版51微控制器,型號為stc12le5a60s2。1 查詢方式,下面是我的源 微控制器型號 stc12le5a60s2 串列埠1,波特率發生器使用定時器...

STC8 之 串列埠通訊(AUXR暫存器)

這兩天在做stc8板子的串列埠除錯。整理一下前後做的準備和注意事項 要想做通訊,首先要確保pc機的波特率和微控制器的波特率一致。pc端可直接設定。微控制器端就需要採用定時器。這不是乙個簡單的概念。首先微控制器有自己的晶振,可產生振盪週期,即1s內振盪次數。機器週期是12個振盪週期。計時的方法是採用微...