硬汉嵌入式论坛

 找回密码
 立即注册
查看: 576|回复: 8
收起左侧

[技术讨论] HC32F4A0的PB4/PB5管脚做IO口输入引脚,无外外部输入一直是高电平

[复制链接]

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2023-10-6 16:10:53 | 显示全部楼层 |阅读模式
本帖最后由 hahahahei 于 2023-10-7 09:55 编辑

两个问题:

1.IO口状态有两个位置可读,一是通用输入寄存器PIDRx,二是通用控制寄存器PCRxy的PIN位,用户手册上注明两个寄存器功能一致,实际上从仿真来看是不一致的。我是将IO口配置为COMS输入,使用PCRxy的PIN位读取高低电平的,自己写了函数。库函数读取的状态是PIDRx,与实际输入状态不符。



2.PB3、PB4、PB5做普通IO口输入,外部输入5秒高电平,5秒低电平,PB3状态正常,PB4、PB5一直是高电平(使用PCRxy的PIN位读取高低电平的),无状态变化。这是什么原因造成的




1

1

2

2

3

3

4

4

5

5

6

6
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106721
QQ
发表于 2023-10-6 16:23:03 | 显示全部楼层
1  这个PCRxy的PIN位是不是相当于STM32的ODR,如果是这个的话,仅可以读取输出时状态,输入还得用IDR。
2  这个PB3是不是上电默认复用就是SWO接口,如果是的话,你要看下HC32如何复用其它模式,或者做通用GPIO要设置什么才可以使用。
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
 楼主| 发表于 2023-10-7 08:52:16 | 显示全部楼层
eric2013 发表于 2023-10-6 16:23
1  这个PCRxy的PIN位是不是相当于STM32的ODR,如果是这个的话,仅可以读取输出时状态,输入还得用IDR。
2  ...

能看到我帖子里的图片吗?好像在帖子列表预览时才能看到
1.是和IDR等价的,数据手册上有说明,也观察了与ODR状态不一致
2.初始化管脚之前会关闭SWO功能
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106721
QQ
发表于 2023-10-7 09:22:57 | 显示全部楼层
hahahahei 发表于 2023-10-7 08:52
能看到我帖子里的图片吗?好像在帖子列表预览时才能看到
1.是和IDR等价的,数据手册上有说明,也观察了 ...

我们论坛的bug,图片得单独上传,复制粘贴方式会看不到图片。
回复

使用道具 举报

0

主题

6

回帖

6

积分

新手上路

积分
6
发表于 2023-10-7 11:18:41 | 显示全部楼层
本帖最后由 yangpengya 于 2023-10-7 11:28 编辑

我们也在用hc32f4a0,用的驱动里这个api来关闭JTAG
[C] 纯文本查看 复制代码
void GPIO_SetDebugPort(uint8_t u8DebugPort, en_functional_state_t enNewState);
GPIO_SetDebugPort(GPIO_PIN_TRST | GPIO_PIN_TDO | GPIO_PIN_TDI, DISABLE);
回复

使用道具 举报

0

主题

6

回帖

6

积分

新手上路

积分
6
发表于 2023-10-7 11:22:47 | 显示全部楼层
f4a0参考手册
屏幕截图 2023-10-07 112130.png
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
 楼主| 发表于 2023-10-7 12:27:21 | 显示全部楼层
yangpengya 发表于 2023-10-7 11:18
我们也在用hc32f4a0,用的驱动里这个api来关闭JTAG[mw_shl_code=c,true]void GPIO_SetDebugPort(uint8_t u8 ...

你的IO输入有没有遇到我问题1这种情况
回复

使用道具 举报

0

主题

6

回帖

6

积分

新手上路

积分
6
发表于 2023-10-7 17:09:35 | 显示全部楼层
hahahahei 发表于 2023-10-7 12:27
你的IO输入有没有遇到我问题1这种情况

我看了下两个寄存器状态是一致的
回复

使用道具 举报

0

主题

10

回帖

10

积分

新手上路

积分
10
发表于 2023-10-8 09:15:30 | 显示全部楼层
yangpengya 发表于 2023-10-7 17:09
我看了下两个寄存器状态是一致的

顶你,我也仿真看了下,这两个寄存器的状态是一致的,那就是基本可以证明楼主的代码有问题。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-1 07:03 , Processed in 0.282595 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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