📄 uait0_1.c
字号:
#include"my.h"
//使用w77e58 片内1k SRAM, 要定义为xdata ,
//为确保使用的是片内1k RAM, 最好和 _at_ 0x0000;联合使用
/**************************************************
串口0队列 pc
**************************************************/
unsigned char xdata xBuf_0[131] _at_ 0x90;
unsigned char data Seri0_SendNum;
unsigned char data Seri0_ReciNum;
/**************************************************
//串口1队列
**************************************************/
unsigned char xdata xBuf_1[0x20] _at_ 0x120;
unsigned char xdata pagedata[128]_at_ 0x140;
unsigned char xdata *pagedataPoint;
unsigned char data Seri1_SendNum;
unsigned char data Seri1_ReciNum;
/**************************************************
//串口2队列
**************************************************/
unsigned char xdata xBuf_2[384] _at_ 0x1C0;
bit fSeri0_Send_Ok;
bit fSeri1_Send_Ok;
bit fSeri0_Reci_Ok;
bit fSeri1_Reci_Ok;
bit fSeri2_Send_Ok;
bit fSeri2_Reci_Ok;
void uart01_init(void){
//system init ,其中串口0用定时器2,串口1用定时器1
//串口1的设置
IE=0x90; //允许总中断和串口0的中断
TMOD=0x20; //定时器1工作在模式1
TL1=0xfd; //baud rate=9600
TH1=0xfd;
SCON1=0x58; //工作在模式1,允许接收
PCON=0x00; // SM0=0 SM1=1 在10位异步收发模式 SMOD=0 溢出速率/32
ES1=1; //串口1中断允许
//
SCON=0x58; //工作在模式1,接收允许
T2CON=0x30; //用定时器2做串口0的波特率发生器
RCAP2H=0xff;
RCAP2L=0xdc; // 11.0592M晶振下,baud rate=9600
TR2=1;
TR1=1;
}
void Int_serial0() interrupt 4 using 1{
// ES=0; /*关串行口中断
if(TI){//允许中断处理
TI = 0; //*清发送中断标志
if(fSeri0_Send_Ok){
if(Seri0_SendNum<130){
SBUF=xBuf_0[Seri0_SendNum];
Seri0_SendNum++;
if (Seri0_SendNum==130)
fSeri0_Send_Ok=0;//容许程序处理
}
}
}
if(RI){//允许中断处理
RI = 0;
if(fSeri0_Reci_Ok){
if(Seri0_ReciNum<130){
xBuf_0[Seri0_ReciNum]=SBUF;
Seri0_ReciNum++;
}
if(Seri0_ReciNum==130)
fSeri0_Reci_Ok=0;//容许程序处理
}
}
// ES=1; //*开中断/
}
/**************************************************
串口1中断 Reader
**************************************************/
unsigned char t=2;
void Int_serial1() interrupt 7 using 1{
// ES1=0; /*关串行口中断*/
if(TI_1){//允许中断处理
TI_1 = 0; //清发送中断标志*
// if(Seri1_SendNum==23){
if(Seri1_SendNum==7){
fSeri1_Send_Ok=0; //容许程序处
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -