手把手教你STM32笔记(3)

2020-03-27 13:03

里面可以这样写

if((EXTI->PR & 0x20)==0x20) //说明中断线5发生了中断 {

//中断内容 }

EXTI->PR|=1<<5;//清除中断挂起

例如下面代码:

void EXTI9_5_IRQHandler(void) {

delay_ms(10);//延时去抖动 if(KEY3==0) { }

else if(KEY4==0) // {

DS3=!DS3;

DS3=!DS3;

}

else if(KEY5==0) {

DS3=!DS3;

}

}

EXTI_ClearITPendingBit(EXTI_Line5); EXTI_ClearITPendingBit(EXTI_Line8); EXTI_ClearITPendingBit(EXTI_Line9);

有个问题,为什么库函数版本的程序里面中断配置里有一个要选择是中断模式还是事件模式,这个地方没有看懂? 外部中断的红色代码没有进行测试。需要测试一下 外部中断讲解完毕。 定时器:

定时器分为初始化和中断程序编写: 初始化:

TIM3_Int_Init(5000-1,8400-1); 该函数有两个参数:

第一个参数是arr自动重装初值,第二个参数是时钟分频数 定时器溢出时间:Tout=((arr+1)*(psc+1))/Ft 单位是us 其中Ft为定时器的工作频率单位MHz Ft=APB1*2=42*2=84MHz

如图,因为APB1分频系数presc = 4,APB2分频系数presc = 2,所以此处是else,APB1或者APB2时钟的二倍作为定时器时钟。 各种时钟的挂载:

RCC_AHB1Periph_GPIOA: GPIOA clock RCC_AHB1Periph_GPIOB: GPIOB clock RCC_AHB1Periph_GPIOC: GPIOC clock RCC_AHB1Periph_GPIOD: GPIOD clock RCC_AHB1Periph_GPIOE: GPIOE clock RCC_AHB1Periph_GPIOF: GPIOF clock RCC_AHB1Periph_GPIOG: GPIOG clock RCC_AHB1Periph_GPIOG: GPIOG clock RCC_AHB1Periph_GPIOI: GPIOI clock

RCC_AHB1Periph_GPIOJ: GPIOJ clock (STM32F42xxx/43xxx devices) RCC_AHB1Periph_GPIOK: GPIOK clock (STM32F42xxx/43xxx devices) RCC_AHB1Periph_CRC: CRC clock

RCC_AHB1Periph_BKPSRAM: BKPSRAM interface clock

RCC_AHB1Periph_CCMDATARAMEN CCM data RAM interface clock RCC_AHB1Periph_DMA1: DMA1 clock RCC_AHB1Periph_DMA2: DMA2 clock

RCC_AHB1Periph_DMA2D: DMA2D clock (STM32F429xx/439xx devices) RCC_AHB1Periph_ETH_MAC: Ethernet MAC clock RCC_AHB1Periph_ETH_MAC_Tx: Ethernet Transmission clock RCC_AHB1Periph_ETH_MAC_Rx: Ethernet Reception clock RCC_AHB1Periph_ETH_MAC_PTP: Ethernet PTP clock RCC_AHB1Periph_OTG_HS: USB OTG HS clock RCC_AHB1Periph_OTG_HS_ULPI: USB OTG HS ULPI clock RCC_AHB2Periph_DCMI: DCMI clock RCC_AHB2Periph_CRYP: CRYP clock RCC_AHB2Periph_HASH: HASH clock RCC_AHB2Periph_RNG: RNG clock RCC_AHB2Periph_OTG_FS: USB OTG FS clock RCC_APB1Periph_TIM2: TIM2 clock RCC_APB1Periph_TIM3: TIM3 clock RCC_APB1Periph_TIM4: TIM4 clock RCC_APB1Periph_TIM5: TIM5 clock RCC_APB1Periph_TIM6: TIM6 clock RCC_APB1Periph_TIM7: TIM7 clock RCC_APB1Periph_TIM12: TIM12 clock

RCC_APB1Periph_TIM13: TIM13 clock RCC_APB1Periph_TIM14: TIM14 clock RCC_APB1Periph_WWDG: WWDG clock RCC_APB1Periph_SPI2: SPI2 clock RCC_APB1Periph_SPI3: SPI3 clock RCC_APB1Periph_USART2: USART2 clock RCC_APB1Periph_USART3: USART3 clock RCC_APB1Periph_UART4: UART4 clock RCC_APB1Periph_UART5: UART5 clock RCC_APB1Periph_I2C1: I2C1 clock RCC_APB1Periph_I2C2: I2C2 clock RCC_APB1Periph_I2C3: I2C3 clock RCC_APB1Periph_CAN1: CAN1 clock RCC_APB1Periph_CAN2: CAN2 clock RCC_APB1Periph_PWR: PWR clock RCC_APB1Periph_DAC: DAC clock RCC_APB1Periph_UART7: UART7 clock RCC_APB1Periph_UART8: UART8 clock RCC_APB2Periph_TIM1: TIM1 clock RCC_APB2Periph_TIM8: TIM8 clock RCC_APB2Periph_USART1: USART1 clock RCC_APB2Periph_USART6: USART6 clock


手把手教你STM32笔记(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:检验科应急预案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: