玩转单片机之五--串口多数据收发
2016-09-12 来源:eefocus
#include
#define uchar unsigned char //byte
#define uint unsigned int //word
sbit led1=P0^0;
sbit led2=P0^1;
#define INBUF_LEN 8 //数据长度
unsigned char inbuf[INBUF_LEN]; //存储数据数组
unsigned char count3; //计数器
//向串口发送一个字符
void send_char_com( unsigned char ch)
{
SBUF=ch;
while (TI== 0 );
TI= 0 ;
}
//向串口发送一个字符串,strlen为该字符串长度
void send_string_com( unsigned char *str, unsigned int strlen)
{
unsigned int k= 0 ;
do
{
send_char_com(*(str + k));
k++;
} while (k < strlen);
}
void main(void)
{ //串口初始化
TMOD=0x20;
PCON=0x00;
SCON=0x50;
TL1=0xfd;
TH1=0xfd;
TR1=1;
//计数
count3= 0 ;
while(1) //动态现实是接收多个数据
{
if (RI)
{
//接收数据
unsigned char ch;
RI = 0 ;
ch=SBUF;
inbuf[count3]=ch; //存储数据
count3++; //计数器增加
if ( (count3==INBUF_LEN ))
{ count3= 0 ; //计数器清零
send_string_com(&inbuf,INBUF_LEN);//向串口发送一个字符串
}
}
//串口数据的检验,可以删除
if(inbuf[3]==0x11 )
{ led1=0;}
}
}
- 英飞凌携手马瑞利采用AURIX™ TC4x MCU系列推动区域控制单元创新
- 纳芯微联合芯弦推出NS800RT系列实时控制MCU
- GD32F103C8单片机的PWM输出试验
- GD32F103C系列单片机的PWM捕获功能
- 设计笔记 | 采用GD32F130系列MCU设计冰箱压缩机变频板方案
- 基于GD32L235系列MCU的微型便携式微型电源方案
- 基于GD32L235系列MCU的土壤湿度检测带磁力翻转式显示方案
- GD32VF103:采用RISC-V内核设计的MCU
- 德州仪器推出新款实时微控制器系统 可在汽车与工业应用中实现更智能的处理流程
- 关于GD32F2系列增强型MCU的介绍和应用