📄 main.c
字号:
#include<uart1200.h>
void main()
{
// uchar c ;
uchar i ;
Init_Timer0();
Iint_Uart1200();
IT0=1; //INT0 负跳变触发
PT0=1; //set timer0 high
EA=1; //enable all interrupt
for(i=0;i<Buffer_len;i++)
{
BUFFER[i]=0;
}
// printf("\n*\n");
// printf("Input A or a choose RX input mode! \n");
// printf("Input B or b choose I/O input mode! \n");
// Put_char(0x55);
// Put_char(0xaa);
// ET1=1;
// TR1=1;
ET0=1;
EX0=1; //enable INT0 interrupt
ENABLE_T0; //TIMER0 turn
while(1)
{
// ET0=1;
// IE=0x93; //enable timer0 and INTO interrupt
while(Overlow_counter<400) ;
Overlow_counter=0;
if(BUFFER[0]!=0x00)
{
TI=0;
IE=0x00; //disable all interrupt
for(i=0;i<Data_toal;i++)
{
SBUF = BUFFER[i] ; //发送缓冲区的数据
while(!TI); //发送完一个数据后TI==1,往下执行,否则等待
TI=0; //软件清除标志位
BUFFER[i] = 0x00; //清缓冲*/
//` printf("\n?");
}
IE=0x93; //enable timer0 INT0 interrupt
}
Data_toal=0;
}
}
// else
// {
// Receive_data();
// printf("\n-");
// }
/*
if(timer_overlow)
{
EX0=0;
DISABLE_T1;
if(BUFFER[0]!=0x00)
{
for(i=0;i<Data_toal;i++)
{
Put_char(BUFFER[i]);
BUFFER[i]=0x00;
}
Data_toal=0;
}
// Overlow_counter1=0;
// Overlow_counter2=0;
Data_toal=0;
timer_overlow=0;
ENABLE_T1;
EX0=1;
}
*/
// Overlow_counter1++;
/*
void Send_char(uchar inch)
{
uchar i=0;
BIT_SEN=0;
delay_flag=0;
ENABLE_T0;
while(!delay_flag);
while(i<8)
{
if(inch&0x01)
{
BIT_SEN=1;
}
else
{
BIT_SEN=0;
}
delay_flag=0;
while(!delay_flag);
inch>>=1;
}
BIT_SEN=1;
delay_flag=0;
while(!delay_flag);
DISABLE_T0;
}
/*********************P1_6模拟串口发送波特率1200********************************/
/*
void Send_data()
{
for(;Data_toal--;Data_toal>0)
{
Send_char(BUFFER[Data_toal]);
}
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -