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

求助!STC8H3K64S4的P3.1端口设置和通讯问题

[复制链接]

1

主题

2

回帖

35

积分

新手上路

积分
35
发表于 2023-10-10 10:03:53 | 显示全部楼层 |阅读模式
应国产化要求,从silicon的C8051F系列转用STC的片子。

STC的片子十几年前用过,性能优异。
但是这几天,有个及其简单的GPIO设置始终没搞明白。
表现为三个问题:
//-------------------------------------
问题1:P3.0和P3.1作为下载和通讯口,P3.1是要求设置为推挽,如下:
GPIO_InitTypeDef        GPIO_InitStructure;


GPIO_InitStructure.Pin  =GPIO_Pin_1;
GPIO_InitStructure.Mode = GPIO_OUT_PP;
GPIO_Inilize(GPIO_P3,&GPIO_InitStructure);

串口TX有输出。
但是如果这样设置:
P3M1 &= ~GPIO_Pin_1;P3M0 |= GPIO_Pin_1;

或者这样
P3M0 |=0x02; P3M1 &= ~0x02;
甚至这样 P3M0 |=0x02; P3M1 &= 0xFD;

串口Tx无输出。
又但是这样又有输出:

GPIO_InitTypeDef        GPIO_InitStructure;

GPIO_InitStructure.Pin  =GPIO_Pin_1;

P3M1 &= ~GPIO_InitStructure.Pin;P3M0 |=  GPIO_InitStructure.Pin;

//-------------------------------------
问题2:其他P3口需要推挽输出

GPIO_InitTypeDef        GPIO_InitStructure;


GPIO_InitStructure.Pin  =GPIO_Pin_1|GPIO_Pin_4|GPIO_Pin_6|GPIO_Pin_7;
GPIO_InitStructure.Mode = GPIO_OUT_PP;
GPIO_Inilize(GPIO_P3,&GPIO_InitStructure);


串口Tx无输出。

//-------------------------------
问题3:P5口的P5.4推挽

GPIO_InitTypeDef        GPIO_InitStructure;


GPIO_InitStructure.Pin  =GPIO_Pin_1;
GPIO_InitStructure.Mode = GPIO_OUT_PP;
GPIO_Inilize(GPIO_P3,&GPIO_InitStructure);




GPIO_InitStructure.Pin  = GPIO_Pin_4;               
GPIO_InitStructure.Mode = GPIO_OUT_PP;       
GPIO_Inilize(GPIO_P5,&GPIO_InitStructure);
串口Tx无输出。


但是这样:

GPIO_InitTypeDef        GPIO_InitStructure;


GPIO_InitStructure.Pin  =GPIO_Pin_1;
GPIO_InitStructure.Mode = GPIO_OUT_PP;
GPIO_Inilize(GPIO_P3,&GPIO_InitStructure);


P5M0 = 0x10; P5M1 = 0x00;

串口Tx有输出。
//有输出的情况如下:ADC0,ADC1,ADC2,ADC3,ADC6,数据正常。

截图202310101000122984.jpg



回复

使用道具 举报 送花

1

主题

2

回帖

35

积分

新手上路

积分
35
发表于 2023-10-10 10:10:39 | 显示全部楼层
03-多路ADC转换-串口2发送.zip (352.41 KB, 下载次数: 57)
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15630
发表于 2023-10-10 13:17:04 | 显示全部楼层
1,输出一般设置成强推挽输出
2,输入一般设置成高阻输入,如是模拟量输入,建议关闭数字输入
截图202310101316428691.jpg
深圳国芯人工智能有限公司-工具软件 (stcai.com)


截图202310101315217930.jpg

截图202310101314466237.jpg

截图202310101316071944.jpg


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6843

积分

论坛元老

积分
6843
发表于 2023-10-11 09:44:51 | 显示全部楼层
你的问题在于串口1的波特率发生器没有设置,只要把屏蔽的这行打开就行了:

截图202310110942531755.jpg

串口2固定使用定时器2作为波特率发生器,所以可以不用设置,但是其它串口都需要设置。
回复 支持 反对

使用道具 举报 送花

1

主题

2

回帖

35

积分

新手上路

积分
35
发表于 2023-10-11 13:42:19 | 显示全部楼层
乘风*** 发表于 2023-10-11 09:44
你的问题在于串口1的波特率发生器没有设置,只要把屏蔽的这行打开就行了:

非常感谢。不好意思。
我这边把例程修改了,config里面定义了UART1(Rx=P3.0和Tx=P3.1),标题没修改。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 21:02 , Processed in 0.733215 second(s), 73 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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