
使用STM32G031G6U6控制继电器,发现PA8无法输出高低电平。配置如下: GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 控制操作如下: HAL_GPIO_WritePin(GPIOA,GPIO_PIN_8,GPIO_PIN_SET); HAL_GPIO_WritePin(GPIOA,GPIO_PIN_8,GPIO_PIN_RESET); 各位大佬帮忙看一下是什么问题?谢谢啦 |
STM32CubeMX 配置STM32G070RBT6TR时无法使能PVD中断
STM32G070RBT6TR STM32CubeMX ADC配置后使用的是内部参考电压且零点的读数太大了
测评在哪里发?
Group Study vs. Solo Study: What Works Best?
STM32G070CBT6使用硬件SPI无法读出W25Q128的ID
STM32G0B0CET6的usb的时钟只能用48MHz的晶振来实现吗?
STM32G070RET6,中断优先级配置没有效果
如图:STM32F437的TIM10支持从模式吗?
STM32G070 UART串口,低波特率传送数据时,TIMER出现严重延时现象,如何解决?
STM32G070 UART串口,低波特率传送数据时,TIMER出现严重延时现象是,如何解决?
注意输出是否被钳位了,可以尝试断开外部连接测试并确认外部电路。
以PA8为例:
__HAL_RCC_GPIOA_CLK_ENABLE();
GPIO_InitStruct.Pin = GPIO_PIN_8;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
如果代码连续运行,先set,紧接着 reset 是量测不出来的。
我通过串口来控制的,一共5个继电器,其它的都正常。就是PA8没办法修改状态。我初始拉高,PA8一直是3.3V,初始置低,PA8就一直是0V. 无论是拉高或者置低,PA8一直是没办法操作的。用trigger改变状态也不可以。
有说是PA8复用功能导致输出不能改变,但是看datasheet,PA8好像也没有特别的复用。
我已经断开了外部电路,发现PA8还是没办法被操作。我试试PWM输出有没有用。我更换了芯片,同样是PA8不能操作。一共控制5个继电器,其它4个都可以,只有PA8不可以。
1. 这样可以检验是否是硬件引起的故障。
2. 如果OK,那么说明软件哪里有冲突了。
所以这个简单验证步骤很重要。。。。。。。。。
[md]找到原因了,我宏定义的时候Pin脚写重复了。打扰大家了。不好意思
使得了,我宏定义的时候脚位写重复了。打扰各位大佬了,不好意思