fiekis 发表于 2017-3-28 09:45:25

STM32F103 控制GPIO口

本帖最后由 fiekis 于 2017-3-28 09:54 编辑

请各位大师帮忙指导一下:我用STM32CUBE 配置了STM32F103C8T6,想控制两个IO口拉高, 程序也能下载,但口就是拉不高。
STM32CUBE 设置如下:





生成代码后,只在main.C中添加如下两行:
      HAL_GPIO_WritePin(GPIOA, PA7_Pin, GPIO_PIN_SET);
      HAL_GPIO_WritePin(GPIOB, PB7_Pin, GPIO_PIN_SET);

编译下载后,但实际测试,PA7, PB7, 并没有被拉高。 还请大师们帮忙指导一下,是哪个地方出了问题。



工程请见附件

xmshao 发表于 2017-3-28 11:18:41

会不会外边电路嵌位了?断开外部连接验证下。

MrJiu 发表于 2017-3-28 13:40:19

顶楼上,把IO口的负载断开,然后在测量一下!!!!

MrJiu 发表于 2017-3-28 13:41:33

还有,我觉得,你首先得验证MCU是否工作...验证方法嘛,就是用一个没有用的IO口,最好使悬空的,然后设置为输出,然后在不断的高低高低,看你的MCU是否正常工作!!!!!!!

fiekis 发表于 2017-3-28 13:47:02

测试的时候是断开外部连接了。
用别的程序也测试过, 这个口的硬件连接是好的,是可以拉高的。
但就是用STM32CUBE 生成的程序就不行。

fiekis 发表于 2017-3-28 13:47:51

是不是STM32CUBE 哪个地方的配置有问题,还请哪个大神帮忙指导一下

发表于 2017-3-28 14:31:19

楼主,看一下寄存器的值。IO设置应该是没问题,看一下是需要设置的输出模式。

五哥1 发表于 2017-3-28 20:19:51

不可能,你在pb.7上连个led,试下

dzzwoaizi 发表于 2017-3-29 08:50:57

你的GPIO配置应该没问题,有问题的可能是你的时钟没启震,你试试改成内部晶振试试。HSI,好向使用内部晶振最大主频到48M

dzzwoaizi 发表于 2017-3-29 08:56:03

还有你下载完后之后复位一下试试,然后再量,我看你的程序里没设置reset and run
页: [1] 2
查看完整版本: STM32F103 控制GPIO口