迪文科技论坛

 找回密码
 立即注册
搜索
查看: 294|回复: 3

【提问】T5L的UART2究竟有没有方式0同步方式

[复制链接]

10

主题

44

回帖

287

积分

中级会员

Rank: 3Rank: 3

积分
287
发表于 2023-2-20 10:55:21 | 显示全部楼层 |阅读模式
如题,以前在论坛上问过,当时答复是可以按照标准8051的UART0来使用,有同步方式的。最近试了一下,设置成方式0,如下初始化:


void uart2_init(u32 baud)
{
        MUX_SEL |= 0x40;//bit6置1表示将uart2接口引出到P0.4和P0.5
        P0MDOUT &= 0xCF;
        P0MDOUT |= 0x10;//设置对应的IO口输出输入
        ADCON = 0x80;//选择SREL0H作为波特率发生器
        SCON0 = 0x10;//接受使能和模式设置
        PCON &= 0x7F;//SMOD=0 .7=0:波特率不倍频
        //波特率设置,公式为:
        //SMOD=0  SREL0H=1024-主频/(64*波特率),SMOD=1         SREL0H=1024-主频/(32*波特率)
        baud = 1024-(u16)(3225600.0f/baud);
        SREL0H = (baud>>8)&0xff;  
        SREL0L = baud&0xff;
        ES0 = 1;//中断使能
        EA = 1;
}

波特率设置的是115200;SCON的.4:REN0=1;
运行后,应该直接启动同步接收,外部TXRX不接任何引线的情况下,CPU从TX输出CLK,从RX接收字符。接收够8位后,应该进入中断,实验结果,没有进入接收完成中断。
如果初始化后,发送数据:
RI0=0;
TI0=0;
REN0=0;
SBUF0=0X48;
运行后UART0进入中断,TI0也变为1。说明发送中断是可以的,但是不是同步方式就不清楚了。怀疑就算是设置成方式0,依然是异步方式。
问题:
UART2究竟有没有同步方式?如果有,是不是只要设置REN0=1,就会自动启动一次同步接收。
以上是在EKT043上实验。
回复

使用道具 举报

0

主题

12

回帖

987

积分

高级会员

Rank: 4

积分
987
发表于 2023-2-20 16:40:28 | 显示全部楼层
可能串口2用C51的方式0:作为同步移位寄存器的波特率算法不相同,这部分还需要再深入测试先关功能。
回复

使用道具 举报

10

主题

44

回帖

287

积分

中级会员

Rank: 3Rank: 3

积分
287
 楼主| 发表于 2023-2-20 17:54:26 | 显示全部楼层
这个设计MCU的时候就已经定下来了吧。各部分功能应该是很确定的。mcu从设计到定稿,到制造,就没一个确定的规格书?找设计人员应该有一个详细的资料。
回复

使用道具 举报

10

主题

44

回帖

287

积分

中级会员

Rank: 3Rank: 3

积分
287
 楼主| 发表于 2023-2-20 17:58:01 | 显示全部楼层
我从波形上看,TX脚无论发送还是接收,都没有变化。改成01方式异步就有波形了。
如果同步方式,波特率固定是时钟频率/12,那就太高了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2025-7-12 17:04 , Processed in 0.033372 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表