傻大方


首页 > 学习 >

stm32|stm32学习经历( 二 )



按关键词阅读: 学习 STM32 经历


/等待外部晶振稳定 HSEStartUpStatus = RCC_WaitForHSEStartUp();
/假如外部晶振启动胜利 , 那么进行下一步操作 if(HSEStartUpStatus=SUCCESS) /设置HCLKAHB时钟=SYSCLK 将系统时钟进行分频后 , 作为AHB总线时钟 RCC_HCLKConfig(RCC_SYSCLK_Div1);
/PCLK1(APB1) = HCLK/2 将HCLK时钟2分频后给低速外部总线 RCC_PCLK1Config(RCC_HCLK_Div2);
/PCLK2(AP 。

8、B2) = HCLK HCLK时钟配置给高速外部总线 RCC_PCLK2Config(RCC_HCLK_Div1);
/外部高速时钟HSE 4倍频 RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_4);
/启动PLL RCC_PLLCmd(ENABLE);
/等待PLL稳定 while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) = RESET);
/系统时钟SYSCLK来自PLL输出 RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
/切换时钟后等待系统时钟稳定 while(RCC 。

9、_GetSYSCLKSource()!=0x08);
/ 下面这些都是外设总线上所挂的外部设备时钟的配置 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph _AFIO, ENABLE);
void GPIO_Configuration(void) /GPIO配置函数 /GPIO_DeInit(GPIOA);
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_4;
GPIO_InitStru 。

10、cture.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode= GPIO_Mode_Out_PP;
GPIO_Init(GPIOA,GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_12;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode= GPIO_Mode_Out_PP;
GPIO_Init(GPIOB,GPIO_InitStructure);
GPIO_I 。

11、nitStructure.GPIO_Pin=GPIO_Pin_8|GPIO_Pin_9;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode= GPIO_Mode_IPU;
GPIO_Init(GPIOB,GPIO_InitStructure);
void EXTI_Config(void) EXTI_InitTypeDef EXTI_InitStructure;
/ 管脚选择 GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource8) 。

12、;
GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource9);
/ 去除 EXTI线路挂起位 EXTI_ClearITPendingBit(EXTI_Line8|EXTI_Line9);
/ EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_Line = EXTI_Line8|EXTI_Line9;
EXTI_InitStr 。

13、ucture.EXTI_LineCmd = ENABLE;
EXTI_Init(EXTI_InitStructure);
void NVIC_Config(void) NVIC_InitTypeDef NVIC_InitStructure;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQn;
/ 留意名称是“_IRQn , 不是“_IRQChannel NVIC_InitStructure.NVIC_IRQChannelPreemptionPriorit 。

14、y = 0;
/ NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
/ NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(NVIC_InitStructure);
int main(void) RCC_Configuration();
GPIO_Configuration();
EXTI_Config();
NVIC_Config();
while(1) GPIO_ResetBits(GPIOB,GPIO_Pin_12);
GPIO_ResetBits(GPIOA,GPIO_Pi 。

【stm32|stm32学习经历】15、n_4);
中断文件 it.c中 void EXTI9_5_IRQHandler(void) if ( EXTI_GetITStatus(EXTI_Line8) != RESET ) EXTI_ClearITPendingBit(EXTI_Line8);
GPIO_SetBits(GPIOA,GPIO_Pin_4);
while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_8)=0);
if ( EXTI_GetITStatus(EXTI_Line9) != RESET ) EXTI_ClearITPendingBit(EXTI_Line9);
GPIO_SetBits(GPIOB,GPIO_Pin_12);
while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_9)=0);
勤劳的蜜蜂有糖吃 92021年7月 Word版本 。


稿源:(未知)

【傻大方】网址:/a/2021/0821/0023864438.html

标题:stm32|stm32学习经历( 二 )


上一篇:九年级数学下册|九年级数学下册 5.1 函数与它的表示法同步训练题 (新版)青岛版

下一篇:汽车|汽车实习报告