【提问】请问T5L串口2、串口3最低支持的波特率是多少?都...
请问T5L串口2、串口3最低支持的波特率是多少?都是3150吗?设置成4800bps能够正常通信吗?本帖最后由 luoyangdwin1 于 2023-11-16 09:39 编辑
屏幕型号提供下,一般最低都是3150 luoyangdwin1 发表于 2023-11-16 08:59
屏幕型号提供下,一般最低都是3152
芯片用的T5L0,屏是使用芯片加屏开发的屏 本帖最后由 luoyangdwin1 于 2023-11-16 09:51 编辑
我用标准品测试可以。
解析串口的源码链接:http://inforum.dwin.com.cn:20080 ... 283&_dsign=53254234
串口3不支持4800,参考下图的公式
luoyangdwin1 发表于 2023-11-16 09:32
我用标准品测试可以。
解析串口的源码链接:http://inforum.dwin.com.cn:20080 ... 283&_dsign=53254234
串 ...
我这边在4800的波特率下,串口2、串口3通信不正常,串口4能正常发送。
串口2是支持4800的,可以用标准屏测试看看。自己做的板子不行,可以排查是硬件问题。还是解析串口2的程序不对(可以用上面链接的C代码测试,记得改波特率) 本帖最后由 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;
}
huojidu 发表于 2023-11-16 10:38
请问这两个串口2初始化的函数的区别是在哪?
区别只有一点,一个选择了倍频,一个不倍频。 huojidu 发表于 2023-11-16 10:38
请问这两个串口2初始化的函数的区别是在哪?
两种方法计算波特率公式有一点差异,如果计算的波特率能被整除,波特率就是准确的,没有误差。 cuijia 发表于 2023-11-20 09:20
两种方法计算波特率公式有一点差异,如果计算的波特率能被整除,波特率就是准确的,没有误差。 ...
那串口3波特率最小是能多少?
页:
[1]
2