yf8305 发表于 2026-1-5 10:07:59

请问144K246串口3的问题

原来在32G12K128上面使用没有问题,现在改到32G144K上面使用,用串口监控到的数据都是6CF,但是单片机收到数据会在6CF和68F两个数之间跳动
使用Timer3做波特率发生器, P0.0 P0.1口
串口配置如下

        T3R = 0;                //Timer stop
        S3CON = 0x50;       //8位数据, 使用Timer3做波特率发生器, 允许接收


        S3CFG = 0x01;                         //使用Timer3做波特率发生器开始不能接收看了PDF之后添加了这一句


        T3H = (u8)(Baudrate3 / 256);
        T3L = (u8)(Baudrate3 % 256);
        T3_CT = 0;        //Timer3 set As Timer
        T3x12 = 1;        //Timer3 set as 1T mode
        T3R = 1;                //Timer run enable






神农鼎 发表于 2026-1-5 10:14:24

USB转【7组串口-CDC + 1HID】,USB复合设备例程,STC32G144K246,16个USB端点 - STC32G144K246 测试版块,PGA/运放,DAC,CAN-FD,主频100MHz以下 国芯人工智能技术交流网站 - AI32位8051交流社区

yf8305 发表于 2026-1-5 10:22:04

神农鼎 发表于 2026-1-5 10:14
USB转【7组串口-CDC + 1HID】,USB复合设备例程,STC32G144K246,16个USB端点 - STC32G144K246 测试版块,P ...

我只是用了串口工具检测到数据接收不对,这个USB转串口应用太高深了,暂时不想研究!
我现在只想知道为什么串口工具收到的都是6CF,单片机有时候收到6CF(0110 1100 1111),有时候又收到68F(0110 1000 1111),到底是哪里配置不对?

DebugLab 发表于 2026-1-5 10:36:51

T3CLKO定时器溢出翻转输出用示波器测一下频率看看

ercircle 发表于 2026-1-5 10:51:44


使用AiCube测试u3 t3 未复现,对比下看看或上传完整工程



yf8305 发表于 2026-1-5 15:04:36

ercircle 发表于 2026-1-5 10:51
使用AiCube测试u3 t3 未复现,对比下看看或上传完整工程

好的,我对比一下看看

yf8305 发表于 2026-1-5 15:05:40

DebugLab 发表于 2026-1-5 10:36
T3CLKO定时器溢出翻转输出用示波器测一下频率看看

怎么样测?中断函数里面加一个PIN脚翻转?

DebugLab 发表于 2026-1-5 16:39:58

yf8305 发表于 2026-1-5 15:05
怎么样测?中断函数里面加一个PIN脚翻转?不需要开中断

yf8305 发表于 2026-1-5 23:22:09

DebugLab 发表于 2026-1-5 16:39
不需要开中断
我用示波器测量了,波形是对的!
晚上我测试了一下例程里面串口3电脑收发程序,能正常发送接收,
不过我现在把波特率降低到2400后正常了,
原因分析:
大概可能是因为通过光耦隔离通讯,导致时序有点问题,
之前8H 32G芯片都有准双向口,不知道是不是这个原因,
看有没有大神来分析分析!

神农鼎 发表于 2026-1-5 23:34:00

发送用 强推挽,接收用 高阻输入







页: [1] 2
查看完整版本: 请问144K246串口3的问题