江科大STM32笔记一——新建工程

一、配置寄存器编程和库函数编程

  • STM32通过配置寄存器编程类似于51单片机的编程方式,此方法虽然较为直观、效率高,但是需要翻阅STM32技术手册,开发效率低。
  • 库函数编程通过引入官方编写好的STM32的内核和外设的函数,调用函数以实现配置寄存器的目的,开发效率高。

二、工程架构

STM32启动运行的架构

  • STM32在运行main函数前会运行startup_stm3210x_xx.s启动函数,其中xx需要根据stm32FXXX的具体型号进行选择,这里使用startup_stm3210x_md.s。该函数由汇编语言编写。
  • 在startup_stm3210x_md.s中调用了复位中断和其他中断函数,其中复位中断主要调用了SystemInit函数(配置微控制器系统,初始化嵌入式闪存接口,更新系统核心时钟变量,总之就是完成了一些初始化工作)。
  • 在mian函数中需要调用函数进行配置寄存器,以实现指定功能。通常需要在main函数中引用 stm32f10x.h头文件,该头文件中又引入了core_cm3.hsystem_stm32f10x.h头文件,其中包含了系统内核的寄存器地址及其相应函数。
  • stm32f10x.h偏尾部有以下语句,该语句为一个条件编译,当程序中定义了USE_STDPERIPH_DRIVER语句(使用标准外设驱动)时,将引入stm32f10x_conf.h头文件,该头文件中引入了所有STM32外设的头文件(时钟、定时器、adc、中断、串口、spi等),编译后即可调用外设的函数。
#ifdef USE_STDPERIPH_DRIVER
  #include "stm32f10x_conf.h"
#endif
  • 标准外设驱动可在魔术棒 —> C/C++ —> Preprocessor Symbols —> Difine中设置。

新建工程

  • 建立工程文件夹,Keil中新建工程,选择型号
  • 工程文件夹里建立Start、Library、User等文件夹,复制固件库里面的文件到工程文件夹
  • 工程里对应建立Start、Library、User等同名称的分组,然后将文件夹内的文件添加到工程分组里
  • 工程选项,C/C++,Include Paths内声明所有包含头文件的文件夹
  • 工程选项,C/C++,Define内定义USE_STDPERIPH_DRIVER
  • 工程选项,Debug,下拉列表选择对应调试器,Settings,Flash Download里勾选Reset and Run
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
科大STM32笔记是关于STM32单片机的学习笔记,其中涵盖了一些关于按键初始化和按键读取的代码示例。在这些代码中,通过引用中的Key_Init函数来对按键进行初始化,然后通过引用中的Key_GetNum函数来获取按键按下的键码值。代码中使用了STM32的GPIO模块来配置引脚的工作模式和读取引脚的电平状态。此外,引用中提到STM32内部集成了硬件收发电路,可以通过写入控制寄存器CR和数据寄存器DR来实现与外设的通信,并通过读取状态寄存器SR来了解外设电路的当前状态。这些寄存器的使用可以实现对外设的控制和监测,减轻CPU的负担。因此,科大STM32笔记主要是介绍了STM32单片机的相关知识和编程技巧。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [STM32学习笔记 -- I2C(科大)](https://blog.csdn.net/weixin_61244109/article/details/131002266)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [STM32科大学习笔记](https://blog.csdn.net/weixin_38647099/article/details/128337708)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值