创建基于HAL库的STM32f103C8T6的工程模板

STM32的标准固件库已经停止更新了,取而代之的是HAL库,虽然通过STM32CUBEMX能够轻松建立一个工程,但为了更熟知软件结构而言,还是手动创建一个模板吧。

工具:Keil5,en.stm32cubef1

一、安装软件,下载HAL库

安装Keil软件就不再赘述啦,下面写一下如何下载HAL库~

首先,进入ST官网……&*¥&¥%%,好了,电梯直达-->链接,当然了,这里需要注册账号。百度链接,密码:jv3w。

二、建立工程文件夹,拷贝相关的工程库文件

建立文件夹,保存工程的各种文件,其下的目录结构如下图所示:

其中,CORE  启动文件以及关键头文件,HALLIB 主要驱动文件,OBJ 编译文件目录,Pro MDK工程文件目录,USER 用户文件。

目录建立好之后,拷贝文件。

1、CORE目录:其源文件目录为en.stm32cubef1\STM32Cube_FW_F1_V1.7.0\Drivers\CMSIS\Include,将

cmsis_armcc.h,core_cm3.h,core_cmFunc.h,core_cmInstr.h,core_cmSimd.h这5个文件拷贝至CORE文件夹下。

再将en.stm32cubef1\STM32Cube_FW_F1_V1.7.0\Drivers\CMSIS\Device\ST\STM32F1xx\Source\Templates\arm目录下的startup_stm32f103xb.s拷进来。

2、HALLIB目录:其子目录为

 Device目录:源文件为en.stm32cubef1\STM32Cube_FW_F1_V1.7.0\Drivers\CMSIS\Device\ST\STM32F1xx\Include中的stm32f1xx.h,stm32f101xb.h,system_stm32f1xx.h。

STM32F1xx_HAL_Drive目录:源文件为en.stm32cubef1\STM32Cube_FW_F1_V1.7.0\Drivers\STM32F1xx_HAL_Driver下的Inc和Src文件夹。

USER目录:源文件为en.stm32cubef1\STM32Cube_FW_F1_V1.7.0\Projects\STM32F103RB-Nucleo\Templates文件下的Inc和Src文件夹,由于没有用到板载资源,所以在使用是要对出错的头文件稍作删除即可。

这样,文件拷贝完成。

三、创建工程并进行相应配置。

创建工程时,选择STM公司的stm32f103c8t6这款芯片。将工程目录建在StdProject文件夹下的Pro文件夹下。

配置:点击魔术棒C/C++选项卡的define填写STM32F103xB,USE_HAL_DRIVER,includepath为以下截图

 工程项目管理器中的目录如下:

 

 

接下来,将mian.中出错的引用删除,编译!

以上。模板工程也已上传。 

  • 8
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
STM32F103C8T6是一款高性能的ARM Cortex-M3核心的微控制器,具有丰富的外设和强大的运算能力。在这款开发板上,我们可以使用HAL来实现DMA(Direct Memory Access)和ADC(Analog to Digital Converter)的多通道功能。 首先,DMA是一种直接内存访问技术,它允许外设通过DMA控制器直接访问存储器,而不需要CPU的干预。这样可以提高外设数据传输的效率,减轻CPU的负担。STM32F103C8T6的HAL提供了简化的API来配置和控制DMA。 对于ADC多通道的实现,首先我们需要设置ADC的时钟源和采样时间。然后,我们可以使用HAL提供的函数来配置ADC的通道和触发源。在HAL中,我们可以使用HAL_ADC_ConfigChannel()函数来配置ADC通道,使用HAL_ADC_ConfigInjectedChannel()函数来配置注入通道。 在配置完ADC通道后,我们可以使用HAL_ADC_Start_DMA()函数来启动DMA传输,将ADC的转换结果存储到内存缓冲区中。需要注意的是,我们还需要配置DMA的通道和传输方向。在配置完DMA传输后,我们可以使用中断回调函数来处理转换完成的数据。 总结来说,使用HAL可以简化DMA和ADC多通道的配置和控制。我们只需调用适当的API函数来完成配置和启动即可。此外,还需要合理设置时钟源、采样时间和触发源,以满足我们的需求。这些功能使得我们能够有效地实现DMA ADC多通道在STM32F103C8T6开发板中的应用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值