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

8G1K08 UART1引脚变更

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-08-29 19:11:32
已绑定手机

5

主题

1

回帖

29

积分

新手上路

积分
29
发表于 5 天前 | 显示全部楼层 |阅读模式
8G1K08 UART1引脚由P1.6 P1.7变更 到P3.6 P3.7之后,串口不能正常收发数据请问是什么原因:

以下为我原来的代码,只是将UART1_SW(UART1_SW_P16_P17)改为UART1_SW(UART1_SW_P36_P37)后串口就不工作了  


void UART1_Init(void)
{        
        SCON |= 0x50;//^4=1允许串口接收,^7=0 可变波特率8位数据方式
        T2L = BRT;
        T2H = BRT >> 8;
        AUXR = 0x15;//^0=1,串口波特率发生器为定时器2,^2=1为CPU时钟不分频(1T),^4=1开始计数
        UART1_Priority(0);
        UART1_SW(UART1_SW_P16_P17);                //UART2_SW_P10_P11,UART2_SW_P46_P47
        ES = 1;
}
回复

使用道具 举报 送花

3

主题

2001

回帖

850

积分

等待验证会员

积分
850
发表于 5 天前 | 显示全部楼层
根据您提供的信息,STC8G1K08芯片在将UART1的引脚从P16/P17更改为P36/P37后,串口无法正常收发数据。以下是可能的原因分析及建议:

1. 引脚功能配置错误  
   STC8G1K08的P36和P37是否支持UART1功能?需要确认该型号的数据手册中关于P36和P37的引脚功能描述。部分引脚可能被定义为其他功能(如ADC、I2C等),需确保其未被其他模块占用,并且已正确配置为UART1功能。

2. UART1SW宏定义问题  
   您提到将UART1SW(UART1SWP16P17)改为UART1SW(UART1SWP36P37),请检查所使用的开发环境或库函数中是否支持P36/P37作为UART1的引脚配置。若该宏定义不存在或不适用,可能导致引脚未被正确初始化。

3. GPIO模式设置缺失  
   在使用UART1时,需确保对应引脚的GPIO模式设置为复用功能(Alternate Function)。若仅修改了UART1SW而未设置P36/P37为复用模式,可能导致引脚无法输出/输入正确的信号。

4. 波特率配置异常  
   更换引脚后,是否影响了定时器2的运行?检查AUXR寄存器中的相关位(如T2MODE、T2CLK)是否配置正确。此外,BRT值是否适配新的引脚配置,也可能影响通信稳定性。

5. 硬件连接问题  
   请确认P36和P37是否与外部设备正确连接,包括电平匹配、接线是否牢固、是否有短路或断路等情况。

6. 中断使能与接收使能  
   确保ES = 1;已正确开启串口中断,并且SCON |= 0x50;中允许接收(SCON^4=1)的设置无误。

建议操作步骤:  
查阅STC8G1K08数据手册,确认P36/P37是否支持UART1功能;  
检查开发环境或库函数中是否提供对P36/P37的UART1引脚配置;  
添加GPIO模式设置代码,例如:P3M1 &= ~0xC0; P3M2 &= ~0xC0; P3M1 |= 0xC0;(假设P36/P37为复用模式);  
验证波特率计算是否合理,确保定时器2工作正常;  
使用示波器或逻辑分析仪检测P36/P37的信号是否正常。

若您提供更多代码细节或开发环境信息,可进一步协助定位问题。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:546
  • 最近打卡:2025-09-02 06:28:13
已绑定手机

85

主题

6045

回帖

1万

积分

超级版主

积分
11106
发表于 5 天前 | 显示全部楼层
检查IO模式(PxMx)

点评

P36 P37都是准双向模式的  发表于 4 天前
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:513
  • 最近打卡:2025-09-03 08:49:27

33

主题

2515

回帖

5435

积分

论坛元老

积分
5435
发表于 4 天前 | 显示全部楼层
Tx  Rx 接反了?

点评

没有接反,交换过Tx Rx也试了  发表于 4 天前
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:286
  • 最近打卡:2025-09-02 08:51:54
已绑定手机

80

主题

3032

回帖

6441

积分

荣誉版主

无情的代码机器

积分
6441
发表于 4 天前 | 显示全部楼层
注意检查下切换寄存器定义不同,还不行的话上传完整代码和电路图看下:

截图202508301030062799.jpg

三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-9-3 08:53 , Processed in 0.141039 second(s), 78 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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