程序如下: EXTI_InitTypeDef EXTI_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE); GPIO_EXTILineConfig(GPIO_PortSourceGPIOB,GPIO_PinSource3); EXTI_InitStructure.EXTI_Line=EXTI_Line3; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure); NVIC_InitStructure.NVIC_IRQChannel = EXTI3_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x01; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); 将PB3设置成外部中断下降沿触发,关闭JTAG,在调试中发现IO口仍然无法正常使用,求问是什么原因? |
【MCU实战经验】基于STM32F103C8T6的hart总线调试器设计
求教STM32F103进入STOP模式后用外部中断唤醒的问题
基于STM32F103RCT6的无源蜂鸣器音乐播放(生日快乐歌)
STM32F103c8t6有没有DAC 功能?
STM32F103x中文数据手册
新手求教,为何在我电脑上找不到STM32F1Xx.h文件
金龙107例程汇总(STM32F107)
万利STM32F107VC 原理图
STM32F103 ADC多通道检测必须要DMA吗?
【官方例程】STM32F107以太网官方例程
我曾经用F103的JTAG/SWJ的PB13/PB14改GPIO用,我发现每一次置0/置1使用之前,都要运行一次GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); 不能仅仅在初始化的时候执行一次就以为永远有效。您可以试一试每当等待中断的时候就执行一次GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);。
评分
查看全部评分
DBGMCU->CR &= ~((uint32_t)1<<5);
FIO->MAPR = (AFIO->MAPR & ~((uint32_t)0x7 << 24)) | (2 << 24);
把这个指令加上就没问题了
抱歉寄存器这块不太懂,请问这样设置是否关闭了SWD模式?
没有关闭SWD
这是关闭IO口的异步跟踪 SWD可以正常使用
您好!加入之后报错是怎么回事?
写错了 改成AFIO
您好,按照您的方法加入后依旧无法触发中断
谢谢,这段代码用在其他IO口是正常的
搞错了
写这个吧
DBGMCU->CR |= ((uint32_t)1<<5);
这样试一下
感谢!但是依旧不行
RCC->APB2ENR |= 1 | (1<<3); /*AFIO/ GPIOB*/
DBGMCU->CR = DBGMCU->CR & ~((uint32_t)1<<5);
AFIO->MAPR |= (AFIO->MAPR & ~((uint32_t)0x7 << 24)) | (2 << 24); //SW模式
请问这样写是否可以?不知道这样写会不会关闭SW模式,所以暂时没敢下载调试
DBGMCU->CR = (DBGMCU->CR | ((uint32_t)1<<5));
这个相与换成相或 第五位需要置位 相与之后清零了
单独加这一句就够了 其他的保留你原理的库函数设置
评分
查看全部评分