找回密码
 立即注册
楼主: 匿0名

AI8H8K64U,D版本串口问题

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:9
  • 最近打卡:2024-11-29 13:37:33

2

主题

12

回帖

70

积分

注册会员

积分
70
发表于 2024-11-20 15:50:03 | 显示全部楼层
梁*** 发表于 2024-11-20 15:40
请先别修改程序, 直接下载"02A-串口2中断收发(收发并联单线通讯)"里的"UART2.hex"测试, 主频选择11.0592MH ...

感谢回复,我先测试下
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:9
  • 最近打卡:2024-11-29 13:37:33

2

主题

12

回帖

70

积分

注册会员

积分
70
发表于 2024-11-20 16:00:43 | 显示全部楼层
梁*** 发表于 2024-11-20 15:40
请先别修改程序, 直接下载"02A-串口2中断收发(收发并联单线通讯)"里的"UART2.hex"测试, 主频选择11.0592MH ...

加延迟是可以解决,但我们要并发处理数据,后面波特率通讯实际要设计成可变的,可能还要提高速率,在中断中做延迟和判断不太符合应用要求。UART1是不是和234不一样,UART1就不需要等待1个波特的时间
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:9
  • 最近打卡:2024-11-29 13:37:33

2

主题

12

回帖

70

积分

注册会员

积分
70
发表于 2024-11-21 09:25:10 | 显示全部楼层
梁*** 发表于 2024-11-19 15:05
将收发接在一起,发送时也接收到自己发的,转接收时,清除RI标志试试。

STC8H_TxRxTest v1.0.zip (289.04 KB, 下载次数: 41)

存在 4路并发,且波特率会变速到 0.5mhz ~ 1mhz,sysclk工作在 40mhz,1bit 就是 80T ~ 40T,如果并发,只能异步,就要在 串口 和 pwmA(定时多路并发发送),在插入一个中间优先级的4路定时器的 pwmb,来延迟 0.8etu,也就是 32T ~ 64T 开启 REN。有点复杂,如果在串口 isr里头while 来delay,那就太影响其他路uart isr 了,但如果用掉了 pwmb,定时器不够用了。

问下有没更好的思路或解决方案。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:9
  • 最近打卡:2024-11-29 13:37:33

2

主题

12

回帖

70

积分

注册会员

积分
70
发表于 2024-11-21 13:09:52 | 显示全部楼层
梁*** 发表于 2024-11-20 15:40
请先别修改程序, 直接下载"02A-串口2中断收发(收发并联单线通讯)"里的"UART2.hex"测试, 主频选择11.0592MH ...

继续做了些测试得到如下结论
当串口用8位数据传输时,串口1,2,3,4都是先进TI中断再进RI中断,且4路的两个中断时间间隔基本一致。
当串口用9位数据传输时,串口2 ,3,4 不变和8位传输一致,但串口1变成先进RI中断再进TI中断,并且间隔时间超过了您昨天说的0.8bit时间。
这样看来其实时2,3,4路正常,串口1特殊些。
最后还是想确认下除了手头这个D版本其他版本会不会也时这样?
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 02:21 , Processed in 0.289410 second(s), 69 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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