教程演示🔗
(MCU1)学习使用嵌入式C进行裸机驱动开发:从头开始为STM32 GPIO、I2C、SPI、USART编写驱动程序
你将学到什么
-
了解处理和编程 MCU 外设的正确方法
-
为您的微控制器开发外设驱动程序
-
从头开始了解 GPIO、SPI、I2C 和 USART 的完整驱动程序开发步骤。
-
学习编写外设驱动程序头文件、API 原型设计和实现
-
探索 MCU 数据表、参考手册、启动代码以完成工作
-
了解处理/配置各种外设中断的正确方法
-
了解外设 IRQ/向量表/NVIC 接口等
-
了解各种外设的配置/状态/控制寄存器
-
揭秘 SPI、I2C、GPIO、USART 等的幕后工作细节。
-
探索 MCU 总线接口、时钟源、MCU 时钟配置等隐藏的秘密。
-
了解启用/配置各种串行协议的外设时钟/串行时钟/波特率的正确方法
-
了解 MCU AHB、APB 总线协议
-
了解不同的 MCU 时钟,如 HCLK、PCLK、PLL 等
-
学习在逻辑分析仪上捕获/解码/分析串行协议的踪迹
-
通过案例研究了解调试外围设备问题的快速方法
要求
-
C 编程基础知识
-
如果您对 MCU 和 C 编程语言完全陌生,那么建议您首先完成我们针对绝对初学者的“嵌入式 C”课程
描述
>> 您对深入的微控制器编程课程的搜索到此结束!!<<<
课程代码:MCU1
使用嵌入式 C 学习裸机驱动程序开发:从头开始为 STM32 GPIO、I2C、SPI、USART 编写驱动程序
本课程启用英文字幕/CC。
更新6:视频更新为最新的STM32CUBEIDE
更新 5:所有驱动程序都是在实时会话中开发的,包含分步编码,并添加了使用 SPI 和 I2C 的 stm32-Arduino 通信练习。
更新 4:指定专门的支持团队来解决学生的问题/解答
更新 3:修复了英文隐藏式字幕
更新 2:添加了总线矩阵/内存映射/向量表/中断设计讨论以及代码示例。
更新 1:添加了适用于基于 ARM Cortex M 的 MCU 的 Eclipse IDE 设置
该课程专为初学者到高级受众而设计。
简要描述;简介:
本课程揭秘微控制器及其外围设备的内部工作原理。
通过从数据表、参考手册、规格等中提取最大信息,逐步对外设进行编码并完全从头开始开发软件驱动程序
使用逻辑分析仪进行协议解码、调试、测试以及提示和技巧。
详细描述:
学习嵌入式系统编程可能是一个挑战。由于这是一个相对复杂的领域,因此对于如何实践或教授事物还没有真正的黄金标准,这可能会让那些只是想学习新事物但无法将各个点联系起来的人感到沮丧。
这就是创建这门课程的动机,通过以相对较低的价格提供高质量的高级讲座,帮助工程师和学生学习嵌入式系统的不同方面。
幕后大师工作;
创建这门课程是因为我相信您的时间很宝贵,您不必四处寻找嵌入式系统编程的实用基础。在本课程中,您将学习为最常用的外设(例如 GPIO、I2C、SPI、USART 等)编写外设驱动程序,令人兴奋的是您将从头开始学习所有内容。
没有第三方库!
禁止盲目编码!
通过处理 MCU 的外设寄存器来编写驱动程序 API!
从头开始编码和实现 API,深入研究 MCU 的数据表和参考手册。我将彻底解释如何从数据表、技术参考手册中提取最大信息来配置和处理外设。您可以将这些技术应用于您手头的任何 MCU。
在本课程中,我将通过参考手册和数据表逐步引导您完成配置各种外设(例如 GPIO、SPI、USART、I2C)的过程。我们将开发一个完全工作的驱动程序代码、中断处理程序、示例应用程序,一切从头开始,以了解全局。
在每次讲座中,我向您保证,您将学到一些新的东西,以便在您的工作或项目中使用。您会发现自己可以更加清晰地处理这些外围设备。您将能够快速推测和调试问题。我将向您展示使用逻辑分析仪等调试工具调试最常见问题的技巧和技巧。
这不是 Arduino 风格的编程:
我相信 Arduino 适用于项目/产品的快速原型设计,但不适用于掌握微控制器及其外围设备的工作。与 Arduino 编程(使用第三方库开发快速解决方案和产品原型设计)不同,本课程完全不同。在本课程中,不使用第三方库。我们将参考 MCU 的技术参考手册来编写所有内容,并创建我们自己的库。这种方法的强大之处在于,当您的项目由于错误而出现问题时,您可以像专业人士一样快速推测问题并进行调试。如果说我和我的学生擅长的一件事就是“调试”。为了获得良好的调试技巧,必须通过了解幕后的工作原理来进行编码,而不是盲目地使用一些第三方库,
该课程的设计和解释使其在任何微控制器上都是通用的。我们开发的代码可以用作模板,为您的 MCU 片上外设快速构建外设驱动程序。
使用的软件/硬件:
在本课程中,我们将开发代码,以便将其移植到您手头的任何 MCU。如果您需要任何帮助将这些代码移植到不同的 MCU,您可以随时联系我!本课程严格不绑定任何一种类型的 MCU。因此,如果您已经拥有任何运行 ARM-Cortex M3/M4 处理器的开发板,我建议您继续使用它。但如果您没有任何开发板,请查看以下开发板。
1.基于STM32F407xx的Discovery板(这是本课程中使用的板)
MCU供应商:意法半导体
IDE:STM32CUBEIDE(免费)
我的承诺:
我相信本课程将为您节省大量学习/实验/谷歌搜索的时间来了解 MCU 编程。我将亲自回答您有关本材料的问题,无论是私下还是在小组讨论中。如果您出于任何原因不满意,您可以在 30 天内从 Udemy 获得全额退款。无话可问。 但我相信你不需要。我 100% 支持本课程,并致力于为您提供帮助。
FastBit Embedded Brain Academy 课程的学习顺序,
如果您是嵌入式系统领域的初学者,那么您可以按照以下顺序学习我们的课程。
这只是教练给初学者的建议。
1)微控制器嵌入式C编程:绝对初学者(Embedded C)
2) ARM Cortex-M3/M4 处理器上的嵌入式系统编程(特定于 ARM Cortex M4 处理器)
3) 掌握微控制器嵌入式驱动开发(MCU1)
4) 掌握微控制器:TIMERS、PWM、CAN、RTC、LOW POWER(MCU2)
5) 掌握微控制器:STM32-LTDC、LCD-TFT、LVGL(MCU3)
6) 使用UML状态机(State machine)进行嵌入式系统设计
7) 掌握 RTOS:实战 FreeRTOS 和 STM32Fx 调试(RTOS)
8)ARM Cortex M微控制器DMA编程揭秘(DMA)
9) STM32Fx微控制器定制Bootloader开发(Bootloader)
10) 使用 Beaglebone Black 逐步学习嵌入式 Linux(Linux)
11) 使用Beaglebone Black(LDD1)进行Linux设备驱动程序编程
本课程适合谁:
- 有兴趣探索嵌入式系统的专业人士
- 希望在嵌入式世界开始职业生涯的爱好者和学生
- 如果您考虑“嵌入式”,那么请考虑参加这门课程。你不会失望的
- 本课程可能不适合那些正在寻求使用 Arduino 等板进行快速原型设计的人