单片机
返回首页

N76E003 串口接收字符串,完整输出

2022-07-11 来源:csdn

最近调试新唐的N76E003单片机的串口收发,官方及网上对单字节的收发的城西都有,很简单就完成了。


问题是比如:N76E003串口,接收连续数据不完整怎么解决,N76E003串口接收不定长的字符串怎么解决?


这里提供一个方案解决这个问题,采用中断方式完成串口接收,波特率 9600到115200 都没有问题:


参考官方案例为基础,这里不上多余的代码,请自行参考网络。


使用串口调试工具测试,需要注意的一点是,调试工具发送选择,请选中“加回车换行”


bit rcvFlg;

 

UINT16 recvCnt=0;

 

static UINT8 state=0;

 

#define UARTRCBUFSIZE  128

UINT8  UART_BUFFER[UARTRCBUFSIZE];

 

void main()

 

{

 

        InitialUART0_Timer3(115200);

        set_ES;           //enable UART interrupt 启用串口中断

        set_EA;           //enable global interrupt 启用全局中断

 

      while(1)                        

      { 

 

                if (rcvFlg)

                {

 

                        Uart0_SendString(UART_BUFFER);

 

                        set_ES;            //enable UART interrupt

                        SCON = 0x50;      //UART0 Mode1,REN=1,TI=1

                        rcvFlg= 0;

     

                    }

 

 

   }

 

}

 

void serial_IT(void) interrupt 4 

{

   

   if (RI) 

    {     

            UART_BUFFER[recvCnt++] = SBUF;                                  /* if reception occur */

            clr_RI;       /* clear reception flag for next reception */

            if((SBUF == '')||(SBUF == 'n'))  

            {

                 UART_BUFFER[recvCnt]='';

                 state = 1;

            }                

       

    }

        if(TI)

        {

            clr_TI;                             /* if emission occur */

        }

 

        if(state)

        {

            state = 0;

            UART_BUFFER[recvCnt]='';

            clr_ES;

            SCON=0x40; 

            rcvFlg =1;            

            recvCnt = 0;

        } 

 

}

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

  • SOC系统级芯片设计实验

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

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

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

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

精选电路图
  • PIC单片机控制的遥控防盗报警器电路

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • 用NE555制作定时器

  • 如何构建一个触摸传感器电路

  • 基于ICL296的大电流开关稳压器电源电路

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章