[百问网 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\:CMSIS 、STM32F1xx_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.c、stm32f1xx_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