单片机
返回首页

玩转单片机之五--串口多数据收发

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;}
     }
}

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 基于IC555的可变PWM振荡器电路

  • 优化电路板布局的简单方法

  • 如何使用LED驱动器LM3915制作振动计

  • 分享一个电网倾角计电路

  • 电谐波图形均衡器示意图

  • 一种构建12V和230V双直流电源的简单方法

    相关电子头条文章