国外课栈 - 国外电子信息技术
掌握具有嵌入式驱动程序开发的微控制器 
掌握具有嵌入式驱动程序开发的微控制器
类别 : 视频教程
格式 : MP4
支付  提交
概述

学习使用嵌入式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等
  • 了解在逻辑分析仪上捕获/解码/分析串行协议的痕迹
  • 了解更多信息通过案例研究调试外围问题的快速方法

在本课程中,您将学习为大多数常用的外围设备(例如GPIO,I2C,SPI,USART等)编写自己的外围设备驱动程序。

从头开始编写代码和实现API,并深入研究MCU的数据表和参考手册。我将彻底解释如何从技术参考手册的数据表中提取最大信息,以配置和处理外围设备。您可以将这些技术应用于您手头的任何MCU。

在本课程中,我将通过带您进入参考手册和数据手册,逐步指导您如何配置各种外设,例如GPIO,SPI,USART,I2C。我们将开发一个可以正常工作的驱动程序代码,中断处理程序,对应用程序进行示例采样,从头开始到了解全局。

在每一次讲座中,我向您保证,您一定会学到一些可以在您的工作或项目中使用的新知识。您会发现自己更加清晰地处理了这些外围设备,并且能够快速推测和调试问题,并且向您展示使用调试工具(例如逻辑分析仪)调试最常见问题的技巧和窍门。

使用的软件/硬件:

在本课程中,代码的开发方式使其可以移植到您手边的任何MCU上。如果在将这些代码移植到不同的MCU时需要帮助,请随时与我联系!该课程严格不受任何一种MCU的约束。因此,如果您已经有运行ARM-Cortex M3 / M4处理器的开发板,那么我建议您继续使用它。

总目录(24h16m)

  • 笔记和信息
  • 我们课程中使用的开发板
  • 硬件/软件要求
  • IDE安装
  • 使用STM32CUBEIDE创建项目
  • 嵌入式代码调试技巧和窍门
  • 了解MCU内存映射
  • MCU总线接口
  • 了解MCU时钟和详细信息
  • 了解MCU时钟树
  • 了解MCU向量表
  • 了解MCU中断设计,NVIC,中断处理
  • “易失性”关键字的重要性
  • GPIO必须了解概念
  • GPIO编程结构和寄存器
  • GPIO寄存器:SPEED,PULL UP / DOWN,IDR和ODR
  • GPIO备用功能寄存器和用法示例
  • GPIO外设时钟控制
  • GPIO驱动程序开发概述和项目创建
  • 使用总线域和外围设备详细信息更新特定于MCU的头文件
  • 构建外围寄存器
  • 写入时钟启用和禁用宏
  • GPIO驱动程序API要求和句柄结构
  • GPIO驱动程序API实现:时钟控制
  • GPIO驱动程序API实现:GPIO初始化和取消初始化
  • GPIO驱动程序API实现:GPIO数据读写
  • 练习
  • GPIO引脚中断配置
  • 练习:GPIO中断
  • SPI简介和总线详细信息
  • SPI总线配置和功能框图
  • STM32 NSS引脚设置和管理
  • SPI CPOL和CPHA讨论
  • SPI串行时钟讨论
  • SPI驱动程序:API要求和配置结构
  • SPI驱动程序API实现:时钟控制
  • SPI驱动程序API实现:SPI初始化
  • SPI驱动程序API实现:发送数据
  • 练习:SPI发送数据
  • 练习:STM32主站与Arduino从站通信
  • SPI驱动程序API:接收数据
  • 练习:SPI接收数据
  • SPI中断
  • SPI中断模式API
  • SPI驱动程序API:IRQ处理
  • SPI中的常见问题
  • I2C简介和I2C信号
  • I2C模式
  • 了解I2C协议
  • I2C主从通信
  • STM32 I2C功能框图
  • I2C驱动程序API要求和配置结构
  • I2C串行时钟讨论(SCLK)
  • I2C驱动程序API:I2C初始化
  • I2C驱动程序API:I2C主设备发送数据
  • I2C上拉电阻,上升时间和总线电容
  • 练习
  • I2C驱动程序API:I2C主设备接收数据
  • 练习
  • I2C中断和IRQ编号
  • 基于I2C中断的API
  • I2C IRQ处理程序实现
  • 练习
  • I2C从站编程
  • 练习
  • I2C的常见问题
  • UART基础
  • UART功能块和外设时钟
  • UART通讯
  • USART驱动程序开发
  • USART过采样和波特率
  • 练习
  • USART中断