既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
一、 搭建开发环境
1.keil5的安装
2.芯片包的安装和驱动安装
二、STM32固件库移植
1.单片机MCU
单片机:Micro Control Unit微型控制单元,是一类功能简单但非常实用的的处理芯片的统称
比如:
51系列:指基于8051内核衍生出的各种单片机芯片
AT89C51/AT89C52、STC89C51/STC89C52、cc2530(ZigBee)ESP8266(WIFI)……8位单片机
STM32:指基于ARM公司Cortex-M内核衍生出的各种单片机芯片
ST:意法半导体公司
STM32F4xx、STM32F1xx 、STM32F7xx ……32位单片机
商用的有STM32Gxx
位:指芯片同时处理数据量的大小,同时还限定了 寄存器的大小、地址总线的大小
8位: 芯片同时可以处理8bits的数据
2.STM32系列
ST意法半导体公司根据ARM公司的Cortex-M系列的芯片研发出来的一款高性能的单片机芯片
本次实习采用的是STM32F407zet6芯片,性能算不错了,来做这次智能小车的实习感觉有些大材小用了
3.单片机的开发
单片机之所以简单,是由于所有单片机都处于“裸奔”状态
“裸奔”:没有操作系统
单片机的程序设计,是通过直接访问内部硬件寄存器来实现对硬件的操作
单片机的开发主要有两个方向:
1) 单片机电路设计:负责设计基于某款单片机芯片的系统电路,和功能所需要的外围电路
2)单片机程序设计:负责基于某款单片机平台进行程序设计,以实现用户所需要的功能
4.STM32程序设计
STM32单片机的程序设计有三种模式
1) 两层模式
直接通过编写寄存器操作程序,来控制硬件工作,以完成所需功能的设计程序设计语言:汇编、C语言
难点:寄存器太多,难记也难找
2)三层模式
也是通过直接操作寄存器来实现,区别在于,可以利用已经做好的第三方库来借助不同的 接口技术来实现对寄存器操作,无需去深度的掌握寄存器的内容
比如:ST公司在研发出STM32系列芯片的同时,开奖该系列所有的单片机寄存器及其操作封装成了一整套的接口技术 =》 固件库
这也是STM32开发比较方便且容易上手的方式,本次实训也是采用的这种模式
3)操作系统
STM32虽然是款单片机,但由于其性能已经足够强大,因此可以移植并运行特定的操作系统
比如: UCOS 、FreeRTOS
5.固件库的移植
固件库 通常是指基于某个平台而封装的大量操作接口的一种库文件
ST公司为了让更多人能够使用其公司出售的芯片
ST公司提供了几套官方库:标准库、HAL、MT库 等
移植好的STM32标准库程序
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
、实战项目、大纲路线、讲解视频,并且后续会持续更新**