android接收串口字符串,串口接收程序 发送字符串程序
//串口接收程序,P0口显示接收数据, 11.0592MHz,波特率9600bps;//调试通过;#include void serial_port_initial()//{PCON=0x00; //波特率bu加倍SCON=0x50;//0101,00008位可变波特率,无奇偶校验位TMOD=0x20;//0011,0001设置定时器1为8位自动重装计数器TH1=0xfd;TL1...
//串口接收程序,P0口显示接收数据, 11.0592MHz,波特率9600bps;
//调试通过;
#include
void serial_port_initial()//
{
PCON=0x00; //波特率bu加倍
SCON = 0x50; //0101,0000
8位可变波特率,无奇偶校验位
TMOD = 0x20; //0011,0001
设置定时器1为8位自动重装计数器
TH1 = 0xfd;
TL1 = 0xfd;
ES = 0; //串口中断关闭
ET1 = 0; //定时器1中断关闭
TR1 = 1; //打开串口
EA = 0; //关总中断
}
void main( void )
{
unsigned char i = 0,a;
serial_port_initial();//初始化串口
while( 1
)
{
a=SBUF; //把接收的数据存于a中
P0=a; //用P0显示接收的数据
if(RI==1) //判断是否接收完毕
{ RI=0;
} //清除接收标志位
}
}
//串口发送程序
//11.0592MHz,波特率9600bps,循环发送cc[],调试通过;
#include
#define uint unsigned int
uint i, j;
unsigned char cc[]="hello world!";
//也可写为:unsigned char cc[]={‘1’,‘2’,‘a’,'w'};
void delay( uint
a) //延时a
ms
{
for(i=0;i
for(j=0;j<120;j++);
}
void serial_port_initial()//
{
PCON=0x00; //波特率bu加倍
SCON = 0x50; //0101,0000
8位可变波特率,无奇偶校验位
TMOD = 0x20; //0011,0001
设置定时器1为8位自动重装计数器
TH1 = 0xfd; //设置定时器1自动重装数 9600bps
,11.0592MHZ
TL1 = 0xfd;
ES = 0; //串口中断关闭
ET1 = 0; //定时器1中断关闭
TR1 = 1; //打开串口
EA = 0; //开总中断
}
void send_UART(unsigned char i)
{
TI =
0; //软件清零发送中断标志
SBUF =
i ; //发送一帧数据
while( TI == 0 );
//等待发送结束
}
void main( void )
{
unsigned char i = 0;
serial_port_initial();//初始化串口
while( 1
)
{
for(i=0;i<12;i++)
{
delay( 30);
send_UART(cc[i]);
delay( 30 );
}
SBUF = 13; while (TI == 0); TI = 0; //回车
SBUF = 10;
while (TI == 0); TI = 0;//换行
}
}
//注意protus的单片机设为一致11.0592MHZ
更多推荐
所有评论(0)