其他分享
首页 > 其他分享> > [百问网 7Day物联网智能家居实战训练]Day2基础 单片机开发模式

[百问网 7Day物联网智能家居实战训练]Day2基础 单片机开发模式

作者:互联网

1.上手思路:

 1.资料下载:官网--数据手册、参考手册

ST官网(https://www.st.com/),在搜索框里直接输入“STM32F103C8”

Product Specifications(产品规格)

Reference Manuals(参考手册)

Programming Manuals(编程手册)

 2.开发板资料:《100ASK_STM32F103_MINI原理图》

 3.硬件分析:最小系统+《STM32F103x8数据手册》

 4.程序编写:参考"100ASK_STM32F103_MINI开发板资料\5_程序源码"+《参考手册》

2.最小系统电路:

单片机正常工作的最小电路。

 

3.外设、寄存器:

 

控制外设:通过外设寄存器

4.单片机开发方式:

汇编  

执行高效

编写难度大、移植性差

 

C语言

执行效率中等

编写效率低、移植性差

 

库开发

标准库 执行效率稍低

编写效率高、移植性稍低

 

 

HAL库 执行效率稍低

编写效率高、移植性好

 

标准外设库:

STM32最早发布的固件库,对STM32芯片进行了完整的封装,包含所有

外设的性能特征,每个外设驱动都由一组函数组成,这组函数覆盖了该外设所有功能。

HAL库:

具有更高的抽象整合水平,API集中关注外设的公共函数功能,

使得可以轻松实现从一个STM32产品移植到另一个不同的STM32系列产品。

5.创建工程:

方式1

keil自定义创建工程模版

初期不易上手、定制化程度高、精简

方式2

STM32CubeMX创建工程

 易上手、可视化方便  

5.1 Keil创建工程模板

文件组成:《100ASK_STM32F103MINI用户手册》

文件组成及功能:

文件夹

功能说明

文件

SDK

CMSIS和HAL库

100ASK_STM32F103_MINI开发板资料\2_原厂资料\7.0_en.stm32cubef1(原厂固件包示例源码).zip

Drivers\:CMSISSTM32F1xx_HAL_Driver

Core

从SDK文件夹抽取的部分可能会修改的核心文件

CMSIS\Device\ST\STM32F1xx\Source\Templates\

 arm\:startup_stm32f103xb.s

STM32Cube_FW_F1_V1.8.0\Projects\STM3210E_EVAL\Templates\

Src\:system_stm32f1xx.cstm32f1xx_it.c

Inc\:stm32f1xx_it.h stm32f1xx_hal_conf.h

手动创建:时钟初始化

stm32f1xx_clk.c

stm32f1xx_clk.h

Driver

用户手动编写的外设驱动文件

暂空

Main

主函数文件

创建“main.c”和“main.h”

Project

Keil工程文件[二进制文件]

工程文件由创建Keil工程自动生成

Readme.txt

工程的说明

 

1.keil创建Project

Project>New μVision Project...:

1、选择工程所在路径

2、工程命名:Template

3、Select Device for Target''

 

4、运行时环境(Run-Time Environment,RTE):Cancel

2.导入目录文件

 

 

3.keil工程配置

设置ARM交叉编译工具链:

 

生成hex文件:

 

使用HAL库,使用的芯片型号系列、语法采用C99标准、

 

包含头文件:

调试:使用的ST-Link

 

程序编译、下载:

 

5.2 STM32CubeMX创建工程

 

 

根据原理图,对引脚模式设置:

 

 

 

 

 

代码编写、编译:

标签:文件,HAL,工程,智能家居,Day2,单片机,stm32f1xx,创建,外设
来源: https://www.cnblogs.com/zhangj0726/p/16560001.html