【STM32单片机线上1对1】嵌入式开发STM32单片机一对一企业培训实战课程
口碑优质 快速领先
授课方式:
寄宿面授远程教学在线直播常年招生
上课时段:
线下全天班线上特训班
课程培训大纲

直播课程安排:

第1周:学习资料下载&硬件和软件环境搭建&基本变量、函数、

源文件,头文件等C语法熟悉

1)下载工具软件和例程资料

2)安装必备嵌入式开发软件

3)使用IAR新建C语言工程并熟悉开发环境调试技巧

4)准备制作实物必备的焊接工具

5)熟悉下载线制作方法和核心板底座扩展

7)熟悉集成开发环境的编译、下载及调试

8)熟悉烧录工具单独下载HEX文件1.png第2周:动手做一个可以移动显示字幕+图案的点阵项目

1) cubeMX图形化配置工程:RCC配置,SYS配置,Clock Tree,

输出I0

2)显示驱动芯片MAX7219:级联方式,原理分析,时序分析

3)显示驱动芯片MAX7219:如何查看数据手册及写驱动代码

4)点阵屏显示阵列:单个LED的行列式排列,8行8列(8*8),16行

16列(16*16)

2.png

第3周:模块封装+代码分层+多任务并发处理框架式编程

1) APP+DRIVE代码分层结构:底层驱动+上层交互(独立分离、低耦合)

2)代码封装技术分析:结构体成员封装模块属性,功能函数封装

模块方法

3)功能函数的三种调用方式:初始化调用,后台轮询调用,中断

处理调用

4) static关键词妙用:修饰函数(内部函数),修饰变量(静态变量),

限定作用域

5)状态机工作方式:并发处理,轮询计数,非阻塞方式

6)软件定时器(SoftTimer):链表结构,时间片分配

第4周:显示算法原理和自定义图案

1) DisplayBuff显示缓存分析:声明接口,定义实现,参数意义,

引用方式

2) Bursh屏幕刷新分析:声明接口,定义实现,参数意义,引用方式

3) OUT向外移动算法:声明接口,定义实现,参数意义,引用方式

4) LIFT向左移动算法:声明接口,定义实现,参数意义,引用方式

5) RIGHT向右移动算法:声明接口,定义实现,参数意义,引用方式

6)字模提取工具:汉字字库和手动编辑图案

第5周:动手做个翻页显示+菜单编辑+自定义铃闹的数码时钟项目

1)如何让产品贴近用户习惯:人性化设计

2)如何在显示受限的设备上为用户展现更多信息

3)产品设计注重细节设计:防误操作、自动复原等

第6周:按键、灯、蜂鸣器等设备底层驱动和代码封装

l) LED设备深入设计和封装

A、BLINK闪烁灯封装详细过程分析

B、BREATH呼吸灯封装详细过程分析

2) KEY设备深入设计和封装

A、为什么要按键状态机软件消抖

B、什么是按键单击事件、长按事件

C、什么是一键单发和一键多发

3) BEEP蜂鸣器封装(发声请求,发声处理,异步实现)

4)MSG消息队列(静态循环队列,入队和出队,消息打包)

第7周:数码管、时钟芯片、闪存控制器等设备底层驱动和代码封装

1) SMG数码管设备驱动封装:

A、数字字符型常见显示器件

B、数码管的两种显示方式:静态/动态

C、什么是数码管重影和频闪及如何消除

2) DS1302时钟芯片驱动封装:

A、如何设置时间和获取时间

B、什么是内部的涓流充电

C、如何使用芯片内的RAM寄存器

D、什么是BCD编码格式

3)掉电记忆器件:闪存控制器、EEPROM、FLASH

第8周:翻页显示+层级菜单编辑模式+掉电记忆功能:

上层应用交互方式

1)如何定义页面ID及在不同页面间切换

2)什么是系统的生命周期:休眠态、唤醒态、工作态、归位态

3)层级菜单:菜单结构、菜单项目、项目数据

4)掉电记忆:存储方式、数据类型转字节流写入、读取字节流后

转换到数据类型

5)消息机制:底层打包消息发送出去、上层接收消息后传入页面处理

录播课程

第一部分STM32单片机概念优势与学习方法

01单片机是什么?

集成电路芯片

微型计算机

体积小、质量轻、实时强的微控制器MCU

02 STM32有什么优势?

非常全面的库函数和官方示例

开发工具成熟高效

功能强大、速度快、类型丰富

03 为什么要学STM32?

应用广泛、市场主流

人才需求缺口大

行业标杆一直被模仿

04 STM32要怎么样学?

先模仿后超越

划分模块、先易后难

持之以恒、厚积薄发

05 STM32学什么?

学各类嵌入式开发工具使用

学C语言语法和算法

学STM32内部资源

学外部拓展芯片和模块驱动及应用

06学完达到什么样的水平

掌握软件工程师必备的逻辑设计思

维:抽象封装、代码分层和框架式

编程方法

第二部分学习嵌入式工具包及软件模块操作讲解

01集成开发环境IAR

02集成开发环境Keil

03图形化自动代码生成器cubeMX

04下载调试器STM32ST-LINK Utility

05 虚拟逻辑分析仪KinestVIS

06代码阅读神器Source Insight和VSCode

07文件差异比较器Beyond Compare

08分布式代码版本管理Git

09 上位机图形界面开发Labwindow/CVI

10 电子电路仿真ProteusISIS

11字模和图形提取小工具

12虚拟串口VSPD和全能型终端神器MobaXterm

13全盘极速查找定位文件和目录Everything

14可替换windows记事本文本编辑器notepad++

第三部分快速上手C语言语法

01据类型

基本类型

枚举类型

void类型

派生类型

02 变量

变量的定义

变量的声明

03数组

一维数组

二维数组

04运算符

算术运算符+-*/

逻辑运算符&&!

05判断结构

if语句和iflese语句

switch case语句

06循环结构

while语句和do while语句

for语句

07函数

无参数和无返回值函数

带参数和无返回值函数

无参数和带返回值函数

带参数和带返回值函数

08结构体定义形式

大小

对齐方式

09指针

什么是指针如何使用指针NULL空指针

10处理

宏定义#define

包含指令#include条件编译#ifndefine #endif

第四部分STM32单片机内部资源外设模块

1通用输入输出端口GPIO

·HAL库GPIO模块API函数介绍

·空等待延时方式实现闪灯

·轮询计数延时方式实现闪灯

·什么是串行处理和并发处理

·按键传统消抖和状态机消抖

2外部中断EXIT

·如何配置cubeMX的EXIT初始化

·HAL库EXIT模块API函数介绍

·什么是EXIT中断回调函数

·按键边沿触发中断

3定时器TIMER

·如何配置cubeMX的TIMER初始化

·HAL库TIMER模块API函数介绍

·使用定时器实现精确闪灯

·硬件PWM呼吸灯

·共极数码管动态显示

·点阵屏和汉字图案取模

4系统节拍器SysTick

·24位内核递减计数器

·微秒级延时函数

·测量代码运行时间

·操作系统嘀嗒节拍器

5模数转换ADC

·如何配置cubeMX的ADC初始化

·HAL库ADC模块API函数介绍

·ADC中断回调函数

·旋钮电位器和电池电压检测

6_串口通信UART

·如何配置cubeMX的UART初始化

·HAL库UART模块API函数介绍

·UART中断回调函数

·发送和接收上位机数据

·printf重映射UART格式化打印输出

7同步串行总线I2C

·如何配置cubeMX的12C设备初始化

·HAL库I2C模块API函数介绍

·12C阻塞方式和中断方式

·使用12C读写EEPROM芯片

8 串行外设总线SPI

·如何配置cubeMX的SPI设备初始化

·HAL库SP|模块API函数介绍

·SPI阻塞方式和中断方式

·如何使用SPI读写Flash芯片

9_存储控制器FSMC[选修]

·手册查看存储器分布结构

·HAL库FSMC模块API函数介绍

·移植官方示例擦除和页编程

·如何使用FSMC保存全局参数到指定地址

10_直接存储器存取DMA[选修]

·cubeMX配置DMA设备初始化

.使用DMA可释放CPU负担

·DMA如何应用到外设上如

ADC、UART、12C、SPI

11_通用串行总线USB[选修]

·如何配置cubeMX的USB设备初始化

·USBH主设备和USBD从设备

·USB应用类HID、MSC

·如何使用USB制作虚拟U盘

如何使用USB制作鼠标和键盘

·如何使用USB和文件系统读写普通U盘

第五部分 驱动和应用模块

01灯

·从亮灯灭灯到闪烁灯再到呼吸灯逐步深

如何封装成通用的便于移植的灯的底层

驱动框架

编写一个呼吸灯的底层驱动实例

02按键

按键如何消抖

什么是按键的单击事件、长按事件

如何实现按键长按事件的单发和多发

编写一个独立按键的底层驱动框架实例

03 蜂鸣器

如何使用蜂鸣器自定义铃声

什么是静态循环队列

编写一个蜂鸣器发声的底层驱动框架实例

04串转并芯片74HC595

根据芯片手册介绍595引脚功能

如何根据时序图写出驱动函数

05数码管

什么是数码管的静态显示

什么是动态显示

如何让显示翻页以及定义页面ID

编写一个时钟数码管的底层驱动框架实例

06串口线

如何快速测试串口线好坏

使用串口线和上位机通信

编写一个printf格式化打印到串口实例

07 点阵屏

点阵显示汉字原理

根据时序图写出MAX7219驱动函数

编写一个点阵屏的底层驱框架实例

如何使用工具对汉字和图案取模

如何让汉字移动显示字幕效果

08时钟芯片DS1302

如何设置时间和获取时间

什么是内部的涓流充电

如何使用芯片内的RAM寄存器

如何采用ADC测量纽扣电池电压

    

如果您想学习本课程,请联系我们进行报名点击联系我们

如果没找到合适的课程或有特殊培训需求,也可以联系我们定制培训:点击联系我们

除培训外,我们还提供Layout外包、PCB制板、SMT贴片一站式服务(点击可进入官网),有需求请发需求表到邮箱zhengzf@fanypcb.com,或致电13142188866(同微信)

服务优势:

丰富专家资源,一线工程师背景,项目技术精英,面向企业用岗需求,针对性培训,互动式交流,案例教学,线下线下精品小班,实际工程项目经验分享,快捷高效,节约时间成本,少走弯路与错路,引荐学员高薪就业。

专家力量:

10-20年一线电子工程师项目研发经验团队;

德累斯顿工业大学硕士/飞利浦皇家全球母婴首席电子工程师/桂电研究院特聘专家;

Mentor, Cadence,Altium,华为等大型公司高级工程师,项目经理,技术支持专家;

凡亿教育电子培训中心,资深专家或特邀讲师;

大多名牌大学,硕士以上学历,相关学历背景专业,理论素养高;

多年实际项目实践,大型复杂项目实战案例分享,热情,乐于技术分享;

针对客户实际需要,真实案例演示,互动式教学沟通,学有所值,学有所成。

关于我们>>更多

十年专业积累,专家技术团队,国内最大的电子设计人才培训基地,开设有硬件、PCB、单片机、仿真、EMC、射频等相关课程。

联系我们
电话:

15616880848

微信咨询报名

领试听与大纲

聚焦电子设计

预约信息
150**88,1小时前预约了硬件培训
130**55,2小时前预约了射频培训
176**45,4小时前预约了PCB培训
176**11,2小时前预约了单片机培训
181**45,1小时前预约了硬件培训
136**51,3小时前预约了PCB培训
183**33,12小时前预约了FPGA培训
173**22,10小时前预约了C语言培训
177**88,8小时前预约了嵌入式培训
138**99,12小时前预约了射频培训
186**33,7小时前预约了FPGA培训
191**10,9小时前预约了单片机培训
171**78,6小时前预约了嵌入式培训
133**90,3小时前预约了PCB培训
152**00,8小时前预约了单片机培训
137**33,9小时前预约了嵌入式培训
157**44,6小时前预约了嵌入式培训
174**44,9小时前预约了C语言培训
172**55,6小时前预约了EMC培训
161**42,10小时前预约了FPGA培训
189**22,6小时前预约了电源培训
178**23,10小时前预约了C语言培训
187**42,10小时前预约了射频培训
162**10,5小时前预约了EMC培训
172**78,11小时前预约了FPGA培训
163**76,9小时前预约了C语言培训
173**01,5小时前预约了EMC培训
134**66,5小时前预约了仿真培训
175**44,3小时前预约了FPGA培训
157**44,6小时前预约了电源培训
139**88,10小时前预约了嵌入式培训
135**55,2小时前预约了电源培训
159**66,10小时前预约了电源培训
174**99,5小时前预约了PCB培训
182**77,2小时前预约了C语言培训
153**67,5小时前预约了硬件培训
184**66,9小时前预约了C语言培训
159**55,3小时前预约了PCB培训
171**87,3小时前预约了FPGA培训
169**89,4小时前预约了仿真培训
188**99,11小时前预约了嵌入式培训
158**78,9小时前预约了单片机培训
198**78,2小时前预约了C语言培训
199**45,6小时前预约了PCB培训
195**10,5小时前预约了FPGA培训
186**11,7小时前预约了射频培训
183**32,12小时前预约了嵌入式培训
175**21,1小时前预约了电源培训
134**22,4小时前预约了FPGA培训
188**99,3小时前预约了仿真培训
135**33,8小时前预约了FPGA培训
150**99,2小时前预约了单片机培训
178**65,8小时前预约了仿真培训
155**89,2小时前预约了硬件培训
131**66,11小时前预约了C语言培训
179**76,9小时前预约了硬件培训
167**32,7小时前预约了嵌入式培训
176**99,3小时前预约了FPGA培训
160**70,4小时前预约了射频培训
178**10,4小时前预约了PCB培训
174**78,7小时前预约了仿真培训
173**12,1小时前预约了电源培训
194**23,12小时前预约了仿真培训
178**44,1小时前预约了电源培训
192**76,3小时前预约了嵌入式培训
186**70,6小时前预约了仿真培训
196**76,8小时前预约了EMC培训
138**22,4小时前预约了C语言培训
182**44,5小时前预约了EMC培训
166**70,1小时前预约了单片机培训
184**88,8小时前预约了仿真培训
139**01,1小时前预约了单片机培训
158**11,2小时前预约了PCB培训
170**34,3小时前预约了射频培训
131**88,7小时前预约了EMC培训
130**44,6小时前预约了EMC培训
136**77,7小时前预约了仿真培训
137**55,1小时前预约了硬件培训
156**44,1小时前预约了硬件培训
183**55,12小时前预约了EMC培训
177**10,10小时前预约了单片机培训
170**11,7小时前预约了仿真培训
168**23,11小时前预约了电源培训
165**45,8小时前预约了硬件培训
176**88,6小时前预约了EMC培训
172**45,8小时前预约了嵌入式培训
175**55,9小时前预约了硬件培训
164**78,2小时前预约了PCB培训
180**89,4小时前预约了PCB培训
171**88,12小时前预约了射频培训
177**55,6小时前预约了EMC培训
182**76,7小时前预约了单片机培训
190**89,1小时前预约了硬件培训
175**33,12小时前预约了射频培训
193**32,7小时前预约了电源培训
185**23,3小时前预约了电源培训
179**21,9小时前预约了射频培训
171**78,2小时前预约了单片机培训
187**11,5小时前预约了射频培训
177**55,10小时前预约了C语言培训