STM32单片机 f103c8t6库函数配置

本文探讨了库函数在STM32开发中的应用,介绍了其简化编程的优点和跨平台移植的局限性。通过库函数f103官方库件结构图,展示如何配置工程和启动文件,特别关注了启动文件链接。重点关注了库函数开发方式与寄存器操作的区别,并提供了实例分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   库函数顾名思义是库函数是控制寄存器操作的语句被封装 库函数是控制寄存器操作的语句被封装
成函数的函数集合,需要执行相应动作 成函数的函数集合,需要执行相应动作
的时候只需要调用函数(并填入参数) (的时候只需要调用函数(并填入参数)
即可。
优点:比较简单,很容易上手。

 

缺点:库函数只对一类单片机进行开发,但是转到另一种单片机就比较困难。

库函数开发方式和寄存器对比如图:

我们主要是围绕如下图来进行开发:

库函数f103官方库件库结构图如下:

 我们需要配置如上的工程文件和启动文件

 关于启动文件我在末尾会放链接

https://pan.baidu.com/s/19RIFQWeS4jvtm317Fb_fcw 提取码:cjbd

STM32F103C8T6是一款基于ARM Cortex-M3内核的单片机,它可以通过库函数配置CAN(Controller Area Network)功能。要配置CAN功能,可以按照以下步骤进行操作: 1. 确保你的项目中已经包含了相关的库文件和头文件,并且正确配置了系统时钟。 2. 初始化CAN控制器,设置CAN的工作模式、波特率以及其他相关参数。 3. 配置CAN的发送和接收缓冲区,以及相关中断。 4. 启动CAN控制器,使其开始工作。 在具体的代码实现上,你可以使用STM32标准外设库(Standard Peripheral Library)提供的函数来配置CAN。以下是一个简单示例,展示了如何使用库函数配置CAN: ```c #include "stm32f10x.h" // 定义CAN的参数 CAN_InitTypeDef CAN_InitStructure; CAN_FilterInitTypeDef CAN_FilterInitStructure; int main(void) { // 初始化CAN控制器 CAN_StructInit(&CAN_InitStructure); // 配置CAN的工作模式,波特率等参数 CAN_InitStructure.CAN_Mode = CAN_Mode_Normal; CAN_InitStructure.CAN_SJW = CAN_SJW_1tq; CAN_InitStructure.CAN_BS1 = CAN_BS1_6tq; CAN_InitStructure.CAN_BS2 = CAN_BS2_8tq; CAN_InitStructure.CAN_Prescaler = 12; CAN_Init(CAN1, &CAN_InitStructure); // 配置CAN过滤器 CAN_FilterInitStructure.CAN_FilterNumber = 0; CAN_FilterInitStructure.CAN_FilterMode = CAN_FilterMode_IdMask; CAN_FilterInitStructure.CAN_FilterScale = CAN_FilterScale_32bit; CAN_FilterInitStructure.CAN_FilterIdHigh = 0x0000; CAN_FilterInitStructure.CAN_FilterIdLow = 0x0000; CAN_FilterInitStructure.CAN_FilterMaskIdHigh = 0x0000; CAN_FilterInitStructure.CAN_FilterMaskIdLow = 0x0000; CAN_FilterInitStructure.CAN_FilterFIFOAssignment = 0; CAN_FilterInitStructure.CAN_FilterActivation = ENABLE; CAN_FilterInit(&CAN_FilterInitStructure); // 启动CAN控制器 CAN_Cmd(CAN1, ENABLE); while(1) { // 你的代码 } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白今天也很酷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值