ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-08-07 22:01:27  阅读:242  来源: 互联网

标签:文件 HAL 工程 智能家居 Day2 单片机 stm32f1xx 创建 外设


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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有