找回密码
 立即注册
查看: 319|回复: 9

请问用串口1做接收和发送波特率配置

[复制链接]

该用户从未签到

2

主题

11

回帖

44

积分

新手上路

积分
44
发表于 2023-6-26 18:19:06 | 显示全部楼层 |阅读模式
新手提问.png
回复 送花

使用道具 举报

  • TA的每日心情
    奋斗
    24 分钟前
  • 签到天数: 140 天

    [LV.7]常住居民III

    8

    主题

    79

    回帖

    1118

    积分

    金牌会员

    机长

    积分
    1118
    发表于 2023-6-26 20:04:56 | 显示全部楼层
    同一个串口收发波特率肯定是相同的,非要不一样的话那你得用两个串口才行
    业余撸代码,专业开飞机
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    2

    主题

    11

    回帖

    44

    积分

    新手上路

    积分
    44
     楼主| 发表于 2023-6-26 20:32:51 | 显示全部楼层
    hsrzq 发表于 2023-6-26 20:04
    同一个串口收发波特率肯定是相同的,非要不一样的话那你得用两个串口才行 ...

    不是的,同一个串口我用STC89C52,用定时器2做接收波特率,定时器1做发送波特率,输入和输出波特率不一样。能用的。手上有一些STC12芯片想用掉。我再研究研究
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    24 分钟前
  • 签到天数: 140 天

    [LV.7]常住居民III

    8

    主题

    79

    回帖

    1118

    积分

    金牌会员

    机长

    积分
    1118
    发表于 2023-6-26 23:40:14 | 显示全部楼层
    dbkdz 发表于 2023-6-26 20:32
    不是的,同一个串口我用STC89C52,用定时器2做接收波特率,定时器1做发送波特率,输入和输出波特率不一样 ...

    搞定了发出来看一下,或者你直接把STC89的发出来看看,想见识见识这种牛逼东西~~
    业余撸代码,专业开飞机
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    2

    主题

    11

    回帖

    44

    积分

    新手上路

    积分
    44
     楼主| 发表于 2023-6-27 10:41:10 | 显示全部楼层
    hsrzq 发表于 2023-6-26 23:40
    搞定了发出来看一下,或者你直接把STC89的发出来看看,想见识见识这种牛逼东西~~ ...

    89C52定时器2,你仔细看:
    mov t2con,#00100100b ;T2当串口接收波特率,且启动T2; RLCK=1 定时器2的溢出脉冲做串行口模式1或3的接收时钟

    我用T2做接收波特率,用T1做发送波特率。能看懂没?
    mov tmod,#00100001b  ;定时器工作方式寄存器  高4位是定时器1设置:工作模式2,8位计数器自动重载初值;低4位是定时器0设置 方式1 16位定时器/计数器

    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    2

    主题

    11

    回帖

    44

    积分

    新手上路

    积分
    44
     楼主| 发表于 2023-6-27 10:42:24 | 显示全部楼层
    hsrzq 发表于 2023-6-26 23:40
    搞定了发出来看一下,或者你直接把STC89的发出来看看,想见识见识这种牛逼东西~~ ...

    正在验证我的思路:

    STC12C系列 晶振11.0592  串口1  2400波特率 8位数据
    独立波特率发生器 倍速SMOD打开 定时器时钟12T

    ORL                PCON,#80H   ;使能波特率倍速位SMOD
    MOV                SCON,#50H   ;8位数据,可变波特率
    ANL                AUXR,#0FBH  ;定时器时钟12T模式
    ORL                AUXR,#01H   ;串口1使用独立波特率发生器
    ORL                AUXR,#10H   ;启动独立波特率发射

    ;思路 初始化检测拨码定位当前接收波特率。
         ;串口RXD接收完,再改固定2400波特率发送,发完了再检测拨码改回去

    MOV        BRT,#0E8H ;2400重载值
    MOV        BRT,#0F4H ;4800重载值
    MOV        BRT,#0FAH ;9600重载值
    MOV        BRT,#0FFH ;115200重载值

    点评

    你这楞是把全双工当分时半双工用了……  发表于 2023-6-27 10:47
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    2

    主题

    11

    回帖

    44

    积分

    新手上路

    积分
    44
     楼主| 发表于 2023-6-27 11:18:50 | 显示全部楼层
    hsrzq 发表于 2023-6-26 23:40
    搞定了发出来看一下,或者你直接把STC89的发出来看看,想见识见识这种牛逼东西~~ ...

    老兄,我验证成功,完美实现进来多种波特率,出去固定波特率或者拨码选择其他波特率。这个问题困扰我好几天了!终于解决了。思路就是:接收完了改波特率发送,发完了再改回去   (感谢我西安同学提供的思路)
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    2

    主题

    11

    回帖

    44

    积分

    新手上路

    积分
    44
     楼主| 发表于 2023-6-27 11:45:52 | 显示全部楼层
    dbkdz 发表于 2023-6-27 10:42
    正在验证我的思路:

    STC12C系列 晶振11.0592  串口1  2400波特率 8位数据

    我有个产品就是要这样用的。1进1出1串口,半双工就行。全双工要用2个串口了。关键是我硬件电路PCB做完了一批了。恰好手上有几百个STC12单片机想用掉。就研究它。能解决问题就好了。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-12-5 13:56
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    12

    主题

    261

    回帖

    1606

    积分

    超级版主

    积分
    1606
    发表于 2023-6-27 14:36:32 | 显示全部楼层
    楼主真棒,解决就好!
    电话:0513-55012946 QQ:2195591714  微信:  19952583740
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-24 15:37 , Processed in 0.070620 second(s), 68 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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