[PIC®/AVR®/dsPIC®产品] pic18f56k90串口调不通啊,程序有问题吗?请大神指教

[复制链接]
2088|31
onlycook 发表于 2025-12-3 18:04 | 显示全部楼层
可以简化主函数逻辑,避免干扰中断
powerantone 发表于 2025-12-3 19:05 | 显示全部楼层
建议中断中强制读取RCREG2并清零标志位
瞌睡虫本虫 发表于 2025-12-8 16:49 | 显示全部楼层
TRISG2=1; 这行代码是将RG2设置为输入,确保你的硬件连接是正确的。
yiy 发表于 2025-12-10 15:48 | 显示全部楼层
pic18f56k90 串口调不通,先排查硬件:确认 TX/RX 引脚接线是否正确,波特率是否与上位机一致(如 9600)
梦境摆渡人 发表于 2025-12-20 17:44 | 显示全部楼层
程序中`while(!TRMT2);` 这行代码是用来等待发送完成的,但在中断函数中使用可能会造成死循环,建议放在主循环中
懒癌晚期患者 发表于 2025-12-26 08:02 | 显示全部楼层
你的代码中`TX2IE`被注释掉了,这可能会导致无法发送数据
灵犀幻影 发表于 2025-12-26 13:00 | 显示全部楼层
串口通信问题通常涉及到硬件连接和软件设置
我是一颗胖蘑菇 发表于 2025-12-28 22:48 | 显示全部楼层
串口通信问题通常与硬件连接、波特率设置和中断配置有关
世纪女孩 发表于 2026-2-9 15:16 | 显示全部楼层
先检查程序配置:确认 MCC 中串口波特率、时钟源(HS/PLL)匹配硬件,TX/RX 引脚映射正确;开启串口使能位,关闭流控;发送前确保 TX 缓冲区为空,接收开启中断 / 轮询。若程序配置无误,再排查硬件(电平匹配、接线)、晶振起振,可先写极简发送代码(如循环发字符)验证,排除复杂逻辑干扰。
总结
核心排查程序中串口波特率、引脚映射、使能位配置;
简化程序(极简发送代码)排除复杂逻辑干扰;
程序无问题时,再查硬件电平、接线、晶振。
huangcunxiake 发表于 2026-2-9 17:51 | 显示全部楼层
你遇到的 PIC18F56K90 串口调不通的问题,大概率是初始化配置、引脚映射或波特率计算这几个环节出了问题。
野玫瑰 发表于 2026-4-21 14:56 | 显示全部楼层
先检查波特率计算、时钟配置、TX/RX 引脚方向:TRISC 确保 TX 输出、RX 输入,SPBRG 值匹配 Fosc;开启 TXEN、CREN 使能串口;禁用串口引脚复用功能;用示波器测 TX 有无波形。程序若未初始化串口、时钟错误、引脚冲突,都会调不通,按步骤排查即可。
老橘树下的桥头 发表于 2026-4-22 10:22 | 显示全部楼层
PIC18F56K90 串口不通,先排查硬件:引脚映射、电平匹配、晶振配置。再核对软件:波特率分频、SPBRG 寄存器、收发使能位、串口引脚方向。关闭模拟功能防止引脚复用冲突,确认收发中断或查询模式配置正确。多数是时钟选错、波特率误差、引脚复用未关闭导致,逐一排查即可修复。
xixi2017 发表于 2026-4-23 20:29 | 显示全部楼层
PIC18F56K90 串口 (UART) 调不通:程序 + 硬件 + 配置全排查
桃乐丝 发表于 2026-4-24 16:36 | 显示全部楼层
先排查时钟、引脚、波特率、MCC 配置四大点:
确认内部 / 外部时钟正确,UART 依赖精准时钟;
TX/RX 引脚方向TX 输出、RX 输入,未被模拟 / 外设占用;
波特率计算正确,BRGH/16 位模式匹配;
使能 TXEN、CREN,开串口模块。
用回环测试(TX 接 RX)自测,先别接外部设备。
江河千里 发表于 2026-4-27 12:05 | 显示全部楼层
中断服务函数中,你只处理了接收中断,没有处理发送中断。如果需要发送数据,应该启用`TX2IE`并添加相应的发送代码。
永久冻结 发表于 2026-4-28 13:59 | 显示全部楼层
先排查三点:1. 时钟配置错误,内部晶振未校准或分频异常;2. 串口寄存器、波特率、同步位、发送使能未配置完整;3. 引脚复用未关闭模拟功能。再检查 TX/RX 硬件接线、电平匹配,开启 BRG 高速模式,关闭干扰中断,逐步屏蔽外设,极简测试代码定位寄存器配置问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部
0