CubeMX配置STM32f103c8t6的GPIO的输出与输入
##在选择芯片为c8t6之后配置时钟树等
- 选择调试功能
如果需要使用在线调试功能需要选择Serial Wire
如果出现在keil 5里面烧录一次就无法烧录,在
加入__HAL_AFIO_REMAP_AWJ_ENABLE();就可无限次烧录了,当然,之前烧录了之后不是已经不可以烧录了嘛,其实按住resist再点击烧录,失败后放开resist,再试一次就可以烧录了
- 配置时钟树
3.设置GPIO口的输入与输出
我的C8T6最小系统板的LED为PC13,所以我把PC13设置为输出口的,另外把PB8设置为输入
输出
输入的配置与输出类似,但是要多注意上下拉电阻
附上STM32的几种模式
1、四种输入模式
(1)GPIO_Mode_AIN 模拟输入
(2)GPIO_Mode_IN_FLOATING 浮空输入
(3)GPIO_Mode_IPD 下拉输入
(4)GPIO_Mode_IPU 上拉输入
2、四种输出模式
(5)GPIO_Mode_Out_OD 开漏输出
(6)GPIO_Mode_Out_PP 推挽输出
(7)GPIO_Mode_AF_OD 复用开漏输出
(8)GPIO_Mode_AF_PP 复用推挽输出
- 最后选择保存的位置等
到此就算配置结束了
下面是一个LED闪烁的代码
/* USER CODE BEGIN WHILE */
while (1)
{
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_RESET);
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_SET);
HAL_Delay(1000);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */