STM32F103单片机使用PA13,PA14引脚的一些问题

使用STM32F103系列单片机时,当项目中需要使用PA13和PA14引脚时,在初始化这两个引脚时需要添加代码“RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE) ; GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable , ENABLE);”。因为该引脚的默认功能不是通用输出输入,而是用作程序下载口(ST-LINK/J-LINK模式),需要关闭下载功能。但是当添加这两句语句的程序下载进单片机中后,需要再下载程序时,就需要先按复位键,再点击下载,再释放复位键。因为不按复位键,程序运行后关闭了下载功能,所以就不能下载,一直按着复位键,程序就不会运行,在下载过程中释放按键,就可以下载程序了。
  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
STM32F103C8T6是一款常见的STM32系列单片机PA13PA14是该单片机的两个IO口引脚。在STM32使用这两个引脚进行中断可以通过以下步骤实现: 1. 首先需要使能GPIO的时钟,在代码中添加如下语句: RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); 这样就使能了GPIOA的时钟。 2. 然后需要配置PA13PA14的工作模式。这里我们选择将它们配置为输入模式,代码如下: GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOA, &GPIO_InitStructure); 这样就将PA13PA14配置成了输入模式,并且不使用上拉或下拉电阻。 3. 接下来需要使能EXTI中断,并将PA13PA14对应的EXTI线路使能,代码如下: EXTI_InitTypeDef EXTI_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource13); GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource14); EXTI_InitStructure.EXTI_Line = EXTI_Line13 | EXTI_Line14; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; // 下降沿触发 EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure); 4. 最后,在中断服务函数中添加具体的处理代码。例如,如果要在PA13产生中断时向串口输出一段文本,则可以编写如下的中断服务函数: void EXTI15_10_IRQHandler(void) { if (EXTI_GetITStatus(EXTI_Line13) != RESET) { printf("PA13 interrupt occurred!\r\n"); EXTI_ClearITPendingBit(EXTI_Line13); } if (EXTI_GetITStatus(EXTI_Line14) != RESET) { printf("PA14 interrupt occurred!\r\n"); EXTI_ClearITPendingBit(EXTI_Line14); } } 以上就是在STM32F103C8T6上使用PA13PA14引脚进行中断的基本步骤。如果您还有其他问题,请随时提出。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值