目录
3.4 GPIO( IO口、分组 16个IO 、下标为 0-15 )
第一周
1. 环境安装
本次嵌入式开发学习的平台编译环境为MDK5
驱动下载链接:https://pan.baidu.com/s/1QnwLaqezFQ7QmqeFovZJxg?pwd=0gob
平台编译环境下载链接:https://pan.baidu.com/s/13dFeGlCEbjqbcIn_f_aR9w?pwd=z4h9
1.1 环境安装说明
文件中已经包含注册机,可以进行软件破解,pack后缀文件为项目开发的芯片包(F、H系列,H更高端),项目开发暂时使用F1系列,同一系列芯片使用同一个库
根据MDK5安装文档进行软件安装,MDK5安装包为MDK521A.exe
1.2 驱动安装说明
串口调试助手:拖到桌面直接能用,主要功能是进行调试并查看调试信息,会经常用到
CH340驱动(SETUP.EXE):串口->USB 协议支持,保证成功使用串口(默认装到C盘)
ST-Link驱动(setup.exe):用于下载代码,将写好的程序下载到芯片里面(默认装到C盘)
另外建议将驱动类程序装到C盘,可以一定程度减少使用问题
安装时关闭防火墙,若电脑品牌为联想,在联想电脑管家中将实时防护也关闭,如果没有出现报毒可以不用管
2. 模版工程创建
模版工程重要但不常用,也是项目开发必须要有的,一个系列芯片开发只需要一个模版,再进行其他项目开发时,只需要进行粘贴复制即可
首先在ST官方进行固件包的下载
按照PDF的流程进行工程创建
这里已经给出了固件包和pdf流程以及模版案例,可以先通过pdf的流程进行工程创建,再跟模版案例进行比较,下载链接:https://pan.baidu.com/s/1lbwyus4H7-yh_4GlQssgtA?pwd=zd1u
2.1 MDK5使用说明
项目工具栏很少用到
扳手图标设置(编码格式GB2312,Tabsize 4)
品字形图标(创建新的分组,改名字,添加源文件)
魔术棒图标(Target 选择Version 5,没有选择默认即可)
放大镜图标(仿真调试,没有硬件时可以进行,使用前提必须要有下载连接(ST-LINK、J-LINK、J-TAG、SW))
2.2 项目开发板型号
STM32F103RCT6(只有智能家居是该型号)
STM32F103C8T6(其它项目板子型号)
2.3 模版案列文件解释
CORE文件夹存放芯片内核文件(不同系列芯片内核文件不同,同一系列相同)
F1->m3 F4->m4
OBJ文件夹(存放中间文件)
FWLIB文件夹(存放F1系列所有库文件和头文件)
HARDWARE文件夹(存放新的,自己编译的东西)(自己创建的)
32芯片分为三类产品(按内存容量分)(小型ld、中型 md、大型 hd、(互联型))
System文件夹(经常用,和库一样)
这里选择hd用于进行向下兼容
烧录到芯片文件为后缀为.hex
项目优化(使用keilkill.bat进行冗余文件的批处理,txt用于说明)
任务一要求
1.完成STM32运行平台(Keil)搭建
2.完成模板工程创建
要求:模板工程创建编译后无错误无警告,知道怎么让模板工程兼容同一系列其他芯片类型的项目工程,选择自己要做的项目,并针对自己项目芯片类型创建模板工程(编译后无错误无警告)
注意:给大家提供的10个项目中,只有智能家居是大容量产品,芯片类型(STM32F103RCT6)其它的都是中容量产品,芯片类型为(STM32F103C8T6)
项目简介:https://pan.baidu.com/s/18JO48VQzMfPtPxFd8VdREA?pwd=uzdc
3 烧录方式、原理图、时钟树
3.1 烧录方式(一般用ST)
IAP 在应用可编程 (智能手环)
ISP 在线可编程 (单片机和项目)
ST-Link(一般用SW下载)(只需要4根线(VCC、GND、数据线DIO、时钟线CLK))
智能家居烧录方式
3.2 原理图(网络标号一模一样的标在一起)
3.3 32F1 的时钟树(使用时钟驱动PC指针)
5个时钟源
F1:HSI(高速内部)、HSE(高速外部)、LSI、LSE、PLL(回环锁、倍频锁)
用 HSE 走 APB1(36MHZ)和 APB2(72MHZ)
使用单片机一般要达到最大频率
3.4 GPIO( IO口、分组 16个IO 、下标为 0-15 )
浮空输入GPIO_IN_FLOATING——浮空输入UART_RXD(上拉电平、下拉电平都不接)
模拟输入GPIO_AIN——外部ADC模拟输入(ADC(模数转换)(万用表)、DAC(数模转换))
STM32-GPIO 输入输出笔记:https://pan.baidu.com/s/1eWaYrHJgX7j19eUnB1xKaQ?pwd=09p9
智慧交通烧录方法:https://pan.baidu.com/s/1sdKQ2CQ245uDmZUoDBgImw?pwd=lhk7
3.5 智慧交通项目需求
C8T6的核心板(所有项目接法一样)并找商家要一份原理图
ST-LINK V2 下载器(GND连接电脑指示灯会亮,若一直闪烁或者熄灭,有可能是没开始烧录程序,也有可能是ST-LINK的驱动没装、下载使用2、4、6、8连接)
注:VCC和GND不能接反,否者会损坏板子
串口下载:
USB TO TTL 模块
需要接一下boot 进行下载
boot0->1 boot1->0 (比较繁琐,建议使用ST-LINK下载)
4. 基础知识简介
4.1 32的的基础知识分类
1、基础知识(IO、NVIC、TIM)
2、接口类 (USART、IIC、SPI、485)提升部分
3、项目(分功能实现)
4、硬件
4.2 F1使用所有外设资源
1、使能外设时钟
2、配外设参数
3、使能外设
4.3 LED的点亮步骤
1、复制一份模版(改为LED)
2、在HARDWARE中创建LED文件、接着创建.c、.h文件
3、头文件的编写(固定框架)
#ifndef _LED_H
#define _LED_H
#include "sys.h"void LED_Init(void);
#endif
注:每个文件后面必须要有一个新行,此步骤需打开魔术棒和品字形图标进行路径和文件的添加
4.4 添加源文件
4.5 编写代码
cmd 使能函数
@brief函数功能描述
@pram函数参数描述
@retval函数返回值描述