STM32F103C8T6库函数有哪些
时间: 2023-12-13 18:09:01 浏览: 139
STM32F103C8T6是一款基于ARM Cortex-M3内核的微控制器,它支持ST的标准外设库(Standard Peripheral Library,简称SPL)和HAL库(Hardware Abstraction Layer,硬件抽象层库)。以下是常用的库函数:
1. GPIO库函数:包括GPIO初始化、GPIO模式设置、GPIO输出、GPIO输入等函数。
2. 中断库函数:包括中断初始化、中断优先级设置、中断使能、中断清除等函数。
3. 定时器库函数:包括定时器初始化、定时器模式设置、定时器使能、定时器中断使能等函数。
4. USART库函数:包括USART初始化、USART数据发送、USART数据接收等函数。
5. SPI库函数:包括SPI初始化、SPI数据发送、SPI数据接收等函数。
6. I2C库函数:包括I2C初始化、I2C数据发送、I2C数据接收等函数。
7. ADC库函数:包括ADC初始化、ADC采样、ADC中断使能等函数。
8. PWM库函数:包括PWM初始化、PWM输出等函数。
以上是常用的库函数,还有更多的函数可以参考ST的官方文档。
相关问题
stm32f103c8t6库函数例程
好的,下面是一个基于STM32F103C8T6的库函数示例程序,实现了延时函数和LED闪烁功能:
```
#include "stm32f10x.h"
#include "delay.h"
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOC, &GPIO_InitStructure);
}
int main(void)
{
GPIO_Configuration();
while(1)
{
GPIO_SetBits(GPIOC, GPIO_Pin_13);
delay_ms(500);
GPIO_ResetBits(GPIOC, GPIO_Pin_13);
delay_ms(500);
}
}
```
同时,需要包含以下头文件:
```
#include "stm32f10x.h"
#include "delay.h"
```
其中,delay.h文件的内容如下:
```
#ifndef __DELAY_H
#define __DELAY_H
void delay_init(void);
void delay_ms(uint16_t nms);
void delay_us(uint32_t nus);
#endif
```
delay.c文件的内容如下:
```
#include "delay.h"
static uint32_t fac_us=0;
static uint32_t fac_ms=0;
void delay_init(void)
{
SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);
fac_us = SystemCoreClock / 8000000;
fac_ms = (uint16_t)fac_us*1000;
}
void delay_us(uint32_t nus)
{
uint32_t ticks;
uint32_t told, tnow, tcnt = 0;
uint32_t reload = SysTick->LOAD;
ticks = nus*fac_us;
tcnt = 0;
told = SysTick->VAL;
while (1)
{
tnow = SysTick->VAL;
if (tnow != told)
{
if (tnow<told)tcnt += told - tnow;
else tcnt += reload - tnow + told;
told = tnow;
if (tcnt >= ticks)break;
}
};
}
void delay_ms(uint16_t nms)
{
uint32_t i;
for (i = 0; i<nms; i++) delay_us(1000);
}
```
这个示例程序实现了在PC13引脚上通过控制电平实现LED的闪烁,每次延迟500ms。同时,利用delay.c中的延时函数实现了延时功能。需要注意的是,使用delay.c中的延时函数前,需要先调用delay_init()函数进行初始化。
stm32f103c8t6库函数包
STM32F103C8T6是一款基于ARM Cortex-M3内核的微控制器芯片。在使用STM32F103C8T6进行开发时,可以使用STM32F10x标准外设库函数来简化寄存器操作。库函数是一组封装了控制寄存器操作的语句,以函数的形式提供给开发者使用。通过调用这些函数并填入相应的参数,可以实现对寄存器的控制操作。使用库函数的优点是简单易用,容易上手。在STM32F10x标准外设库中,可以找到相应的库函数包。其中,路径为STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template。此外,还可以在路径STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x中找到相关的库函数包。
阅读全文