找回密码
 立即注册
查看: 45|回复: 6

求助,遇到了串口和t4冲突的问题 | 已解答

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-12-13 09:18:15
已绑定手机

4

主题

12

回帖

52

积分

注册会员

积分
52
发表于 5 天前 | 显示全部楼层 |阅读模式
void encoder_init(void)
{
  T3L = 0;
  T3H = 0;

  T4L = 0;
  T4H = 0;
  T4T3M |= 0xCC;
}这是我的编码器的配置,
void uart4_init(void)              // 选择时钟源, 2: 使用Timer2做波特率, 其它值: 使用Timer4做波特率.
{
   
    P5M0 = 0x00;
    P5M1 = 0x00;
   
    S4_S=1;   //uart4 : //P5.2rx //P5.3tx
    T2H = t2_reload >> 8;//timer2
    T2L = t2_reload;
    AUXR |= 0x14;//timer2 as baudrate
    T2x12 = 1;
    T2R = 1;
    S4CON |= 0x10;
    ES4 = 1;   //允许uart4中断   
   
}
这是我的串口配置,


主函数中#include "main.h"
#include "motor.h"
#include "uart.h"
#include "encoder.h"
int main(void)
{
    EAXFR = 1;
  WTST = 0;
  CKCON = 0;
        // 打开总中断
    motor_init(10000);
    encoder_init();
    timer0_init();
        uart4_init();
    //delay_ms(500);
     EA = 1;  
            motor_control(80,50);
  while (1)
  {
        uart4_putchar(0x70);


    }
}如果encoder_init里面把  T4T3M |= 0xCC;注释调就可以串口发出信号,如果有  T4T3M |= 0xCC;,,程序没法串口通信,串口的波形也没有,请问怎么解决,我是定时器2来给串口用,为什么  T4T3M |= 0xCC;的配置会导致串口无法工作,

car (2).zip

15.29 MB, 下载次数: 3

回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:390
  • 最近打卡:2025-12-17 08:54:40
已绑定手机

97

主题

3863

回帖

8332

积分

荣誉版主

无情的代码机器

积分
8332
发表于 5 天前 | 显示全部楼层
T3T4没给中断函数跑飞了?

哪个型号,打包上传完整工程
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-12-13 09:18:15
已绑定手机

4

主题

12

回帖

52

积分

注册会员

积分
52
发表于 4 天前 | 显示全部楼层
erci*** 发表于 2025-12-12 20:39
T3T4没给中断函数跑飞了?

哪个型号,打包上传完整工程

stc32g12
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-12-13 09:18:15
已绑定手机

4

主题

12

回帖

52

积分

注册会员

积分
52
发表于 4 天前 | 显示全部楼层
erci*** 发表于 2025-12-12 20:39
T3T4没给中断函数跑飞了?

哪个型号,打包上传完整工程

已上传工程,现在调试需要用到串口打印传感器数据,但是这个串口不工作,p52 p53没有任何波形

点评

四个问题 1.串口配置问题,S4CON要给初值 2.busy全局标识未初始化,不要依赖声明时初始化,哪天改到xdata它可能就是个未定义行为 新手必读!新手必读!新手必读!新手必读!新手必读!新手必读!新手必读!新手必读  详情 回复 发表于 4 天前
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:390
  • 最近打卡:2025-12-17 08:54:40
已绑定手机

97

主题

3863

回帖

8332

积分

荣誉版主

无情的代码机器

积分
8332
发表于 4 天前 | 显示全部楼层
xiao*** 发表于 2025-12-13 09:51
已上传工程,现在调试需要用到串口打印传感器数据,但是这个串口不工作,p52 p53没有任何波形 ...

四个问题
1.串口配置问题,S4CON要给初值
2.busy全局标识未初始化,不要依赖声明时初始化,哪天改到xdata它可能就是个未定义行为
新手必读!新手必读!新手必读!新手必读!新手必读!新手必读!新手必读!新手必读! - 老鸟反刍/吐槽,新手乐园,毕业设计 国芯人工智能技术交流网站 - AI32位8051交流社区
3.工程配置问题,非huge模式不要设置0xFE0000
4.main函数无返回值,应声明为void
截图202512131236039625.jpg
截图202512131237021043.jpg

点评

大神,太感谢了,  发表于 4 天前
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-12-17 14:56 , Processed in 0.120278 second(s), 69 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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