ddnuli 发表于 2019-10-8 10:12:52

stm32l433调试时,端口电平何实际电平不一致

我使用的是stm32l433rc芯片,希望通过控制PD2的电平控制灯的亮灭,电平为1时灯灭,为0时灯亮。但是芯片实际端口电压始终为0,灯保持亮,调试时,寄存器GPIOD端口为FFFFFFFF,运行之后无变化。麻烦帮我看一看哪里出了问题。
代码为

HAL_Init();
SystemClock_Config();

GPIO_InitTypeDef GPIO_InitStruct;
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);

int i=1;
while (i)
{
    HAL_GPIO_TogglePin(GPIOD,GPIO_PIN_2);      
    i--;
}

void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
{
/* Check the parameters */
assert_param(IS_GPIO_PIN(GPIO_Pin));

GPIOx->OTYPER = 0<<0;
GPIOx->ODR ^= GPIO_Pin;
}








ddnuli 发表于 2019-10-8 19:28:18

是初始化出了问题

mikecai 发表于 2019-10-9 08:51:50

while (1) 变成 while(i),而i i 初值为1,故只运行一次HAL_GPIO_TogglePin,

ddnuli 发表于 2019-10-11 19:04:13

mikecai 发表于 2019-10-9 08:51
while (1) 变成 while(i),而i i 初值为1,故只运行一次HAL_GPIO_TogglePin,

这是专门这样写的想测试哪里出了问题,现在问题已经解决了,谢谢你
页: [1]
查看完整版本: stm32l433调试时,端口电平何实际电平不一致