STM32库函数(2):库文件stm32f10x_rcc.c内的函数

函数:void RCC_DeInit ( void )

功能:将RCC时钟配置重置为默认设置状态。在配置RCC的时候用在第一行


函数:void RCC_HSEConfig ( uint32_t RCC_HSE )

功能:配置外部高速晶振(HSE),可以开启、关闭、绕过外部高速晶振(【作用不明】),在配置RCC的时候会用到。


函数:void RCC_HSICmd ( FunctionalState NewState )

功能:使能或禁止内部高速振荡器


函数:void RCC_HCLKConfig ( uint32_t RCC_SYSCLK )

功能:配置AHB时钟(HCLK)(主时钟分频)


函数:void RCC_PCLK1Config ( uint32_t RCC_HCLK )

功能:配置低速APB时钟(PCLK1),将主时钟再分频


函数:void RCC_PCLK2Config ( uint32_t RCC_HCLK )

功能:配置高速APB时钟(PCLK2),将主时钟再分频


函数:void RCC_PLLConfig ( uint32_t RCC_PLLSource, uint32_t RCC_PLLMul )

功能:配置PLL时钟源和放大系数(该函数智能在PLL关闭的时候使用)【作用不明】


函数:void RCC_PLLCmd ( FunctionalState NewState )

功能:使能或禁止PLL(如果PLL作为系统时钟,那么PLL不能被禁止)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用[1]:上一节看完手册以后,你或许已经明白怎么配置一个GPIO接口让它实现输入输出的各种功能了。但是如果我问起你:如果要让GPIOA端口的P0和P1配置成推挽输出10MHz模式,你该怎么做,你会做些什么? 绝大多数人做的事情应该还是翻开手册里GPIO_CRL的寄存器定义,然后照着手册编程。GPIO外设的功能比较简单,需要配置的功能不算太多,这么做没什么难度。但有些外设的配置寄存器有许许多多控制位,比如下面这位: 这是串口通信外设的控制寄存器1(对没错,还有个控制寄存器2),里面的14个有效位都与通信的各种规则和状态密切相关,通过查手册一位一位地改显然有点不太经济且不甚直观。 标准固件函数就是为这个而生的。ST官方将常用的对外设的操作和外设的各种状态封装成可读性更高的函数和结构供用户使用。我们就着GPIIO的函数来看看,这玩意到底有什么魔力。 请从固件文件夹里找出stm32f10x_gpio.h,stm32f10x_gpio.c和stm32f10x_rcc.h、stm32f10x_rcc.c四个文件,添加到寄存器编程的模板里。 并且在你的main里包含两个.h。打开这gpio的两个文件,里面虽然看着纷繁,但核心思路我们一讲便通。 固件版的外设初始化 。 引用[2]:打开stm32f10x_gpio.h,用Ctrl F找到“GPIO_Exported_Functions”,其下便是所有的gpio函数了。 GPIO_Init函数就是初始化外设使用的函数了。有一个形参类型“GPIO_InitTypeDef”我们没有见过,你可以在上边右键单击后选择“Go to Defnition”查看它的内容: typedef struct { uint16_t GPIO_Pin; /*!< Specifies the GPIO pins to be configured. This parameter can be any value of @ref GPIO_pins_define */ GPIOSpeed_TypeDef GPIO_Speed; /*!< Specifies the speed for the selected pins. This parameter can be a value of @ref GPIOSpeed_TypeDef */ GPIOMode_TypeDef GPIO_Mode; /*!< Specifies the operating mode for the selected pins. This parameter can be a value of @ref GPIOMode_TypeDef */ }GPIO_InitTypeDef; 。 引用[3]:void Button_Config(void){ GPIO_InitTypeDef GPIO_InitStructure; /* Enable GPIOD clock */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE); /* Configure PD.03, PD.04 as output push-pull */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4 ; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOD, &GPIO_InitStructure);} 。 问题:stm32f10x_gpio.h文件中有什么内容? 回答: 在stm32f10x_gpio.h文件中,我们可以找到"GPIO_Exported_Functions",其下是所有的GPIO函数。其中,GPIO_Init函数是用于初始化外设的函数。在该文件中还定义了一个名为GPIO_InitTypeDef的结构体,该结构体包含了GPIO_Pin、GPIO_Speed和GPIO_Mode等参数,用于配置GPIO引脚的功能和模式。[2]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值