打印
[技术问答]

新唐N76E003串口出现问题,请教

[复制链接]
436|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 gin果果 于 2022-8-31 15:43 编辑

按照官方的例程取配置的uart0 通讯收发,为什么会出现这样子的现象
红色的是电脑发给单片机的数据
蓝色的是单片机发给电脑的数据
我没有用回显,为什么会出现这种现象?
下面贴上我的代码,请各位大佬指点出错误
#include "public.h"
#include "MS.h"
/*****************************************
  

  * @description
  * @param:void
  * @retval:void
  ****************************************/
void MS_Config_init(void)
{
        InitialUART0_Timer1(9600);
        INT_Uart_Init();
}
/*****************************************
  * @description
  * @param:void
  * @retval:void
  ****************************************/
void InitialUART0_Timer1(uint32_t u32Baudrate)    //T1M = 1, SMOD = 1
{
        P06_Quasi_Mode;
        P07_Quasi_Mode;

        SCON = 0x52;     //UART0 Mode1,REN=1,TI=1
        TMOD |= 0x20;    //Timer1 Mode1
        
        set_SMOD;        //UART0 Double Rate Enable
        set_T1M;
        clr_BRCK;        //Serial port 0 baud rate clock source = Timer1

#ifdef FOSC_160000
        TH1 = 256 - (1000000/u32Baudrate+1);               /*16 MHz */
#endif            
#ifdef FOSC_221184
        TH1 = 256 - (1382400/u32Baudrate);              /*22.1184 MHz */
#endif
        set_TR1;
        set_TI;                                                //For printf function must setting TI = 1
}
/*****************************************
  * @description
  * @param:void
  * @retval:void
  ****************************************/
void INT_Uart_Init(void)
{
        set_P06;
        set_P07;
        set_ES;                                 //enable UART interrupt
        set_EA;
}
/*****************************************
  * @description
  * @param:void
  * @retval:void
  ****************************************/
//uint8_t Sum_I = 0;
void SerialPort0_ISR(void) interrupt 4
{
   if(RI==1)
    {         
                        clr_RI;                                   
                        MS_Data.RBuf0[MS_Data.RBuf0_index] = SBUF;
            
                        if(MS_Data.RBuf0_index < RBUF_SIZE_MAX)
                        {
                          MS_Data.RBuf0_index++;
                        }
                        else
                        {
                                MS_Data.RBuf0_index = 0x00;  
                  }        
    }
    if(TI==1)
    {
                        if(MS_Data.Sindex < MS_Data.SindexLen)
                        {
                                SBUF=MS_Data.Sbuf0[MS_Data.Sindex];        
                                MS_Data.Sindex++;
                        }
                        
      clr_TI;
    }        
}




   

1661930647606.png (56.68 KB )

1661930647606.png

8.31_test.zip

340.76 KB

这个是我的源码

使用特权

评论回复
沙发
gin果果|  楼主 | 2022-8-31 15:39 | 只看该作者
本帖最后由 gin果果 于 2022-8-31 15:38 编辑

这是我的源码

8.31_test.zip

340.76 KB

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

15

帖子

1

粉丝