本文主要是介绍实训day2_1|了解硬件(粤嵌M4开发板芯片型号:STM32F407ZET6 内核:Cortex-M4),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
嵌入式实训
- 一、STM32的芯片选型
- 二、STM32的开发方式
- 三、STM32程序的下载方式
一、STM32的芯片选型
粤嵌M4开发板芯片型号:STM32F407ZET6 内核:Cortex-M4
STM32 — 32位MCU
F — 基础型
407 — 高性能
Z — 144个引脚
E — 512K
T — 封装 QFP (可以不用了解)
6 — 温度 -40 ~ +85
二、STM32的开发方式
STM32的开发方式大体分为两种:固件库开发(推荐) + 寄存器开发
固件库开发:
ST公司针对STM32芯片,开发了很多函数接口,目的就是为了降低开发人员的使用门槛,说白了,就是ST公司写了很多的函数供别人使用,开发人员就无须过多了解底层知识,只要学过C语言就可以轻松开发。
好处:
开发效率提高
代码可读性好
代码容易维护
坏处:固件库编写的代码要比寄存器编写的代码的运行效率大概低10%左右(可以忽略不计)
寄存器开发:
开发人员自己根据芯片的数据手册,去学习寄存器的使用方式,掌握底层开发的关键知识。
好处:
代码的运行效率高
坏处:
开发效率降低
代码不好维护
代码可读性不好
在工作中,绝大部分的情况都是使用固件库开发项目的,极少数情况下会使用寄存器开发
三、STM32程序的下载方式
STM32的程序下载方式:串口下载 + 下载器下载(ST-LINK、J-LINK、U-LINK…推荐)
\1. 安装J-LINK下载器的驱动
\2. 硬件接线方式
注意:先接GND(地),红色线接板子上的GND,另外三根依次接过去,红蓝黄黑
\3. 查看J-LINK驱动是否安装成功
\4. 配置KEIL5,选择对应的下载器
查看图示
\5. 编译程序,点击下载按钮,进行程序下载
====开发板介绍
芯片参数了解:
1.学会看文档手册
2.32位的Cortex-M4处理器,标准工作频率168M,支持FPU浮点运算和DSP指令
3.具有144个引脚,有114个IO口,大部分IO口都是容忍5V电压(模拟(ADC、DAC)通道除外)
4.CPU工作电压:1.7~3.6V电源电压
5.时钟系统
4~26M的外部高速(晶振)时钟
内部的16M高速RC振荡器时钟
内部32K低速RC振荡器时钟
内部锁相环(PLL,倍频),一般系统时钟(168M)都是外部或者内部高速时钟经过PLL倍频后得到的
外部低速32.768K晶振,主要是用于RTC时钟
HSE : H 高速 E 外部
LSE : L 低速 E 外部
LSI : L 低速 I 内部
HSI : H 高速 I 内部
168 = 8M * PLL(21)
注意:如果外部晶振失效,自动切换到内部的16M晶振振荡器
6.一般工作模式有三种:低功耗、标准功耗、高性能
低功耗:睡眠、停止、待机三种模式,可以使用外部RTC和备份寄存器供电
标准功耗:正常工作模式,168M频率
高性能:超频工作,提高芯片工作频率
7.AD
3个12位精度AD支持24个外部通道ADC转换、内部通道可用于内部温度测量
8.DA
2个12位精度的DAC
9.DMA:直接存储器访问
16个DMA通道
10.定时器:17个定时器
10个通用定时器 TIM2 和 TIM5 是32位
2个基本定时器
2个高级定时器
1个系统定时器
2个看门狗定时器
定时器是系统的非常重要的资源:实现定时、计数功能
12.通信接口
3个I2C接口
2个I2S接口
3个SPI接口
2个CAN2.0
2个USB OTG
1个SDIO
6个串口
开发板的芯片可用的IO口:
PA0~PA15 16个引脚
PA~PG + PH0 +PH1 == 114个可用IO
将main.c文件所有内容进行修改为下面
#include “stm32f4xx.h”
int main(void)
{
return 0;
}
创建好工程后-----------------------------------------------------------------------
若编译时出错
修改:
(1)删除stm32f4xx_it.c文件中第32行 #include “main.h”
(2)删除stm32f4xx_it.c文件中第144行 TimingDelay_Decrement();
然后:
修改system_stm32f4xx.c中第316行为
#define PLL_M 8
修改文件stm32f4xx.h中第123行代码为
#define HSE_VALUE ((uint32_t)8000000)
这篇关于实训day2_1|了解硬件(粤嵌M4开发板芯片型号:STM32F407ZET6 内核:Cortex-M4)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!