huojidu 发表于 2023-11-15 16:09:12

【提问】请问T5L串口2、串口3最低支持的波特率是多少?都...

请问T5L串口2、串口3最低支持的波特率是多少?都是3150吗?设置成4800bps能够正常通信吗?


luoyangdwin1 发表于 2023-11-16 08:59:21

本帖最后由 luoyangdwin1 于 2023-11-16 09:39 编辑

屏幕型号提供下,一般最低都是3150

huojidu 发表于 2023-11-16 09:13:12

luoyangdwin1 发表于 2023-11-16 08:59
屏幕型号提供下,一般最低都是3152

芯片用的T5L0,屏是使用芯片加屏开发的屏

luoyangdwin1 发表于 2023-11-16 09:32:37

本帖最后由 luoyangdwin1 于 2023-11-16 09:51 编辑

我用标准品测试可以。
解析串口的源码链接:http://inforum.dwin.com.cn:20080 ... 283&_dsign=53254234
串口3不支持4800,参考下图的公式



huojidu 发表于 2023-11-16 10:26:28

luoyangdwin1 发表于 2023-11-16 09:32
我用标准品测试可以。
解析串口的源码链接:http://inforum.dwin.com.cn:20080 ... 283&_dsign=53254234
串 ...

我这边在4800的波特率下,串口2、串口3通信不正常,串口4能正常发送。

luoyangdwin1 发表于 2023-11-16 10:30:15

串口2是支持4800的,可以用标准屏测试看看。自己做的板子不行,可以排查是硬件问题。还是解析串口2的程序不对(可以用上面链接的C代码测试,记得改波特率)

huojidu 发表于 2023-11-16 10:38:33

本帖最后由 huojidu 于 2023-11-16 10:40 编辑

luoyangdwin1 发表于 2023-11-16 10:30
串口2是支持4800的,可以用标准屏测试看看。自己做的板子不行,可以排查是硬件问题。还是解析串口2的程序不 ...
请问这两个串口2初始化的函数的区别是在哪?


/**
   串口2初始化
    */
void UART2_Init(u32 bdt)
{
      u16 tmp;      
      PCON|= 0x80;//波特率选择倍频
      tmp=1024-FOSC/32/bdt;               
      MUX_SEL    |= 0x40; //复用选择口, 选择复用为UART2, 接口引出到 P0.4、P0.5

      SetPinOut(0,4);
      SetPinIn(0,5);
      
      SCON2 = 0x50;      //0011 0000 ,即将SM2,REN置1,SM2:只有当接收到第9位数据(RB8)为1时,才把接收到的前8位数据送入SBUF,且置位RI 发出中断申请 ,即发送方式为8N1   ,
      ADCON = 0x80;      //波特率发生器选择,要使用SREL0H: L 自行设置
               
      SREL2H = (u8)(tmp>>8);      
      SREL2L = (u8)tmp;
      ES2 = 1;
      EA = 1;

      uart.Tx_Num         = 0;
      uart.Tx_H                = 0;
      uart.Tx_F          = 0;      
      uart.Rx_Num      = 0;
      uart.Rx_T               = 0;
      uart.Rx_F               = 0;
      memset(&uart.Tx_Data,0,UART_SIZE);
      memset(&uart.Rx_Data,0,UART_MAX_LEN);
}






void Uart2_Init(u32 baud_rate){
             u16 i=0;
      i=1024-FOSC/64/baud_rate;
            SREL2H = (u8)(i>>8);                //波特率 = FCLK/64*(1024-SREL)
            SREL2L = (u8)i;    //
            MUX_SEL|=0x40;                         //UART2引出,UART3不引出,WDT关闭      
                        ADCON = 0x80;            //选择SREL0H: L作为波特率发生器
                        SCON2 = 0x50;            //接受使能和模式设置
                        PCON &= 0x7F;            //SMOD=0
                        IEN0 |= 0X10;                  //ES0=1         串口2 接受+发送中断
                        EA= 1;      
}

cuijia 发表于 2023-11-20 09:15:29

huojidu 发表于 2023-11-16 10:38
请问这两个串口2初始化的函数的区别是在哪?




区别只有一点,一个选择了倍频,一个不倍频。

cuijia 发表于 2023-11-20 09:20:50

huojidu 发表于 2023-11-16 10:38
请问这两个串口2初始化的函数的区别是在哪?




两种方法计算波特率公式有一点差异,如果计算的波特率能被整除,波特率就是准确的,没有误差。

huojidu 发表于 2023-12-1 17:07:02

cuijia 发表于 2023-11-20 09:20
两种方法计算波特率公式有一点差异,如果计算的波特率能被整除,波特率就是准确的,没有误差。 ...

那串口3波特率最小是能多少?
页: [1] 2
查看完整版本: 【提问】请问T5L串口2、串口3最低支持的波特率是多少?都...