找回密码
 立即注册
查看: 603|回复: 4

modbus通信超时检测由定时器T0改成定时器T3,通信速度变很慢?问题已解决

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:497
  • 最近打卡:2025-04-30 20:48:13
已绑定手机

151

主题

589

回帖

1196

积分

金牌会员

积分
1196
发表于 2023-11-27 10:53:43 | 显示全部楼层 |阅读模式
本帖最后由 380091044 于 2023-11-28 11:27 编辑

modbus通信超时检测由定时器T0改成定时器T3,通信速度变很慢?


定时器T0初始化如下:

//===============T0初始化函数====================
u8        Timer0_Config(u8 t, u32 reload)        //t=0: reload值是主时钟周期数,  t=1: reload值是时间(单位us)
{
        TR0 = 0;        //停止计数

        if(t != 0)        reload = (u32)(((float)MAIN_Fosc * (float)reload)/1000000UL);        //重装的是时间(us), 计算所需要的系统时钟数.
        if(reload >= (65536UL * 12))        return 1;        //值过大, 返回错误
        if(reload < 65536UL)        AUXR |= 0x80;                //1T mode
        else
        {
                AUXR &= ~0x80;        //12T mode
                reload = reload / 12;
        }
        reload = 65536UL - reload;
        TH0 = (u8)(reload >> 8);
        TL0 = (u8)(reload);

        ET0 = 1;        //允许中断
        TMOD &= 0xf0;
        TMOD |= 0;        //工作模式, 0: 16位自动重装,
        TR0 = 1;                        //开始运行
        return 0;
}







定时器T3初始化如下:、




//===============T3初始化函数====================
u8        Timer3_Config(u8 t, u32 reload)        //
{
        //T3为固定16位自动重装;
        T4T3M &= 0xf2;//停止计数, 清除控制位
        if(t != 0)        reload = (u32)(((float)MAIN_Fosc * (float)reload)/1000000UL);        //重装的是时间(us), 计算所需要的系统时钟数.
        if(reload >= (65536UL * 12))        return 1;        //值过大, 返回错误
        if(reload < 65536UL)        T4T3M |= 0x02;//1T mode
        else//reload >= 65536UL)        
        {
               
        T4T3M &= 0xFD;//12T mode;第一位清零是12T模式,其他保持不变;
        reload = reload / 12;
               
        }
        reload = 65536UL - reload;
        TH0 = (u8)(reload >> 8);
        TL0 = (u8)(reload);

  T4T3M &= 0xf2;//
        T4T3M |= 0x08;//开始运行
        IE2 |= 0x20;//允许中断
        return 0;
}


定时器计算公式影响的?









定时器T0计算公式..png
定时器T3计算公式.png
定时器T3预分频寄存器.png
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:365
  • 最近打卡:2025-05-01 22:23:00

0

主题

83

回帖

1126

积分

金牌会员

积分
1126
发表于 2023-11-30 11:08:21 | 显示全部楼层
向高手学习
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:497
  • 最近打卡:2025-04-30 20:48:13
已绑定手机

151

主题

589

回帖

1196

积分

金牌会员

积分
1196
发表于 2023-11-30 11:17:43 | 显示全部楼层

相互学习
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:388
  • 最近打卡:2025-05-01 12:18:53

10

主题

143

回帖

348

积分

中级会员

积分
348
发表于 2023-12-3 21:36:33 | 显示全部楼层
直接用STC的软件生成就行
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:497
  • 最近打卡:2025-04-30 20:48:13
已绑定手机

151

主题

589

回帖

1196

积分

金牌会员

积分
1196
发表于 2023-12-4 09:41:59 | 显示全部楼层
huh*** 发表于 2023-12-3 21:36
直接用STC的软件生成就行

哪个也是过了,已经解决了,感谢
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 06:56 , Processed in 0.232522 second(s), 79 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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