用cubemx生成stm32f103的代码电平无法拉高拉低

2019-07-14 14:28发布

使用的是JLINK V8,在SW模式来烧写程序,所以PB3、PB4、PA15作为GPIO使用,但问题是我无法用
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_4,GPIO_PIN_SET)
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_4,GPIO_PIN_RESET)来进行控制,也就是电平无法拉高拉低,

初始化已经置为GPIO模式
  GPIO_InitStruct.Pin = GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_8
                          |GPIO_PIN_9;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;
  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);

请教有没有遇到这种问题,有没有解决的办法?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
13条回答
lancy0102
2019-07-16 16:50
cube  remap的代码有bug   直接读取寄存器就写回寄存器   remap的寄存器不是都能读的  写回去当然会出问题     jtag 设置 sw 模式   下次就不能下载程序了   需要用boot0来设置回来   可以在代码中的初始化完成后 加一段端口映射的代码切换到sw模式就好使了     原因就是remap的代码像shit一样

一周热门 更多>