我們在使用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個振盪週期。計時的方法是採用微...