RTOS训练营
韦东山RTOS训练营-大课
10小时+
5499100612收藏
立即购买

90天,晚课名师2小时带学+专属录播课

【项目1】01_基于HAL库实现智能家居课前必看

课程目录

1-1-1_资料下载说明(必看)
01_资料下载说明(必看)
1-1-2_资料目录结构_文档阅读器_everything工具(必看)
1-1-3_项目1功能及学习顺序
1-1-4_sourceinsight的使用
1-1-5_STM32程序烧写

【项目1】02_环境搭建及C语言基础

课程目录

1-2-1_环境搭建与创建空工程
1-2-2_C语言基础概述
1-2-3_进制转换
1-2-4_位运算
1-2-5_封装寄存器
1-2-6_函数指针
1-2-7_链表
1-2-8_扩展_变量与指针
1-2-9_扩展_CPU与外设
C语言的本质
C语言基础答疑
直播公开课_01_C语言的本质课程内容概述
直播公开课_02_ARM架构与汇编简明教程
直播公开课_03_局部变量的分配与初始化
直播公开课_04_答疑_栈
直播公开课_05_全局变量的初始化和空间分配
直播公开课_06_栈和堆
直播公开课_07_栈和堆_答疑
直播公开课_08_堆的malloc函数最简单的实现
直播公开课_09_答疑
直播公开课_10_函数
直播公开课_11_指针
直播公开课_12_指针再介绍
直播公开课_13_结构体
直播公开课_14_联合体
直播公开课_15_位域
直播公开课_16_答疑
直播公开课_17_头文件的作用
直播公开课_18_答疑
直播公开课_19_指针专题1_int变量的初始化
直播公开课_20_指针专题2_字符串和结构体的初始化
直播公开课_21_指针专题3_使用指针访问结构体
直播公开课_22_答疑_结构体初始化示例
直播公开课_23_使用指针访问硬件

【项目1】03_项目必备的HAL库基础

课程目录

1-3-1_创建基础模板
1-3-2_LED和按键原理概述
1-3-3_完成LED驱动程序
1-3-4_完成按键的驱动程序
1-3-5_初识OLED
1-3-6_I2C协议
1-3-7_完成I2C底层驱动
1-3-8_SSD1306的I2C数据格式和显存访问
1-3-9_完成OLED的底层驱动程序
1-3-10_OLED的数据填充与像素显示
1-3-11_OLED显示字符的方法
1-3-12_显示字符的方法2和字符串显示以及拓展
1-3-13_通信概念和实验现象
1-3-14_分析原理图和UART收发流程
1-3-15_HAL库初始化UART流程
1-3-16_printf重定向和命令点灯
1-3-17_中断收发
1-3-18_环形缓冲区的概念和实现
1-3-19_外部中断控制打印输出
韦东山C语言基础线上公开课

【项目1】04_AT指令(基于ESP8266)

课程目录

1-4-1_课程安排和学习前的准备工作
1-4-2_ESP8266-01S详细介绍
1-4-3_什么是AT指令
1-4-4_使用AT指令前需要注意的事
1-4-5_AT指令的分类和提示信息(1)
1-4-6_AT指令的分类和提示信息(2)
1-4-7_基础AT指令概述
1-4-8_基础Wi-Fi功能AT指令概述
1-4-9_TCP&IP功能AT指令概述
1-4-10_AT指令应用示例_单连接 TCP Client
1-4-11_AT指令应用示例_UDP 传输_固定远端的 UDP 通信
1-4-12_AT指令应用示例_远端可变的 UDP 通信
1-4-13_AT指令应用示例_TCP Client 单连接透传
1-4-14_AT指令应用示例_UDP透传
1-4-15_AT指令应用示例_多连接 TCP Server

【项目1】05_基于HAL库的智能家居

课程目录

1-5-1_程序功能及框架设计
1-5-2_输入系统_数据结构抽象
1-5-3_输入系统_设计思路
1-5-4_输入系统_实现环形缓冲区
1-5-5_输入子系统_实现按键输入
1-5-6_输入子系统_设备管理
1-5-7_输入子系统_单元测试
1-5-8_设备系统_设计思路
1-5-9_设备系统_实现LED设备
1-5-10_设备系统_单元测试
1-5-11_设备系统_显示设备结构体抽象
1-5-12_设备系统_实现显示设备
1-5-13_设备系统_显示设备单元测试
1-5-14_设备系统_风扇设备源码讲解
1-5-15_字体系统_设计思路与结构体
1-5-16_字体系统_实现ASCII字库的操作
1-5-17_文字显示_设计思路
1-5-18_文字显示_编程
1-5-19_文字显示_单元测试
1-5-20_网络系统_设计思路与结构体
1-5-21_网络系统_ESP8266模块编程
1-5-22_网络系统_实现AT命令
1-5-23_网络系统_串口设备编程
1-5-24_网络系统_单元测试
1-5-25_网络系统_用作输入设备
1-5-26_网络系统_用作输入设备_单元测试
1-5-27_业务系统_需求和思路
1-5-28_业务系统_编写代码
1-5-29_业务系统_测试

【项目2】01_FreeRTOS快速入门

课程目录

2-1-1_单片机_RTOS_架构的概念
2-1-2_堆的概念
2-1-3_栈的概念
2-1-4_从官方源码精简出第1个FreeRTOS程序
2-1-5_修改官方源码增加串口打印
2-1-6_自己的第1个FreeRTOS程序
2-1-7_源码结构与编程规范
2-1-8_动态_静态创建任务
2-1-9_进一步实验
2-1-10_任务状态理论讲解
2-1-11_任务状态实验
2-1-12_vTaskDelay和vTaskDelayUntil
2-1-13_空闲任务及其钩子函数
2-1-14_任务调度算法
2-1-15_同步互斥与通信概述
2-1-16_队列的理论讲解
2-1-17_队列的常规使用
答疑直播_队列(20211101)
2-1-18_队列集
2-1-19_信号量的理论讲解
2-1-20_信号量的常规使用
2-1-21_互斥量的理论讲解
2-1-22_互斥量的常规使用
2-1-23_互斥量的缺陷和递归锁
2-1-24_事件组的理论讲解
2-1-25_事件组的使用_等待事件
2-1-26_事件组的使用_同步点
2-1-27_任务通知理论讲解
2-1-28_ 任务通知使用_轻量级信号量
2-1-29_任务通知使用_轻量级队列
2-1-30_任务通知使用_轻量级事件组
2-1-31_定时器的理论介绍
2-1-32_定时器的一般使用
2-1-33_使用定时器消除抖动
2-1-34_中断管理
2-1-35_资源管理
2-1-36_调试
2-1-37_统计任务信息的原理
2-1-38_编写程序获取统计信息
2-1-39_FreeRTOS入门结课总结
2-1-40_答疑

【项目2】02_FreeRTOS的内部机制

课程目录

  1. 任务的引入_ARM架构_汇编简明教程
  2. 栈的作用
  3. 保存现场的几种场景
  4. 创建任务的函数简析
  5. 创建任务的内部细节
  6. 任务的调度机制
  7. 任务状态的切换
  8. 任务调度深入探讨
    9.回顾调度链表
    10_多任务系统中互斥的引入
    11_队列怎么实现互斥访问
    12_使用队列的第2个好处_休眠唤醒_提高CPU利用率
    13_队列的核心_关中断_环形缓冲区_链表
    14_队列结构体及读流程
    15_队列写流程
    16_队列的超时唤醒
    17_引入信号量(semaphore)
    18_信号量操作流程和代码分析
    19_互斥量的引入(优先级反转与继承)
    20_互斥量源码分析
    21_事件组(event_group)内部机制
    22_事件组(event_group)为什么不关中断
    23_任务通知(TaskNotify)内部机制
    24_软件定时器(timer)理论介绍
    25_软件定时器(timer)代码阅读
    26_FreeRTOS的中断机制_两套API
    27_FreeRTOS的中断机制_两类中断
    28_FreeRTOS的中断机制_优先级
    29_临界资源访问方法

【实战项目】_FreeRTOS下串口的封装

课程目录

20240325_第1讲_串口的封装
20240325_第2讲_串口的封装答疑
20240325_第3讲_串口的编程思路
20240327_第4讲_RT-Thread串口赏析
20240327_第5讲_FreeRTOS的串口封装_编程思路
20240327_第6讲_FreeRTOS的串口封装_编程
20240327_第7讲_FreeRTOS的串口封装_答疑

【项目2】02_3人射球机商用项目代码讲解

课程目录

01_需求分析与任务拆分
02_任务的创建
03_监听任务(listen)分析
04_玩家任务分析
05_Host任务分析
06_UI任务分析
07_按键读取流程分析

【项目2】03_CubeMX对FreeRTOS的适配

课程目录

2-2-1_cubemx创建FreeRTOS的工程模板
2-2-2_CMSIS下的RTOS接口介绍
2-2-3_STM32CubeMX创建任务
2-2-4_STM32CubeMX创建信号量
2-2-5_STM32CubeMX创建互斥量
2-2-6_STM32CubeMX创建事件
2-2-7_STM32CubeMX创建消息队列
2-2-8_CMSIS下的任务通知
2-2-9_STM32CubeMX创建软件定时器

【项目2】04_基于FreeRTOS实现智能家居

课程目录

2-3-1_裸机程序的不足
2-3-2_程序合并(裸机+FreeRTOS)
2-3-3_使用FreeRTOS改造的思路
2-3-4_把裸机程序转换为FreeRTOS程序
2-3-5_把环形缓冲区转换为队列
2-3-6_调试队列程序
2-3-7_CortexM3_M4中断体系彻底讲解
2-3-8_中断体系上机实验
2-3-9_FreeRTOS的中断设置
2-3-10_DHT11温湿度传感器的使用
2-3-11_DHT11程序讲解
2-3-12_在多任务系统中使用DHT11
2-3-13_使用中断来实现DHT11的读取
2-3-14_使用中断来实现DHT11的读取_调试
2-3-15_获取sntp服务器的时间
2-3-16_智能家居项目增加功能_框架设计
2-3-17_复习01_裸机的缺陷与RTOS改造
2-3-18_复习02_RTOS创建任务和调度简述
2-3-19_复习03_IPC的引入
2-3-20_复习04_IPC的第2个好处
2-3-21_复习05_IPC内部链表的引入
2-3-22_复习06_队列内部机制代码分析
2-3-23_复习07_main函数栈的回收
2-3-24_复习08_空闲任务与xTaskAbortDelay
2-3-25_复习09_任务切换可能发生在任何地方
2-3-26_复习10_信号量Semaphore的内部机制
2-3-27_复习11_队列集

【项目3】01_深入理解ARM架构

课程目录

3-1-1_为什么讲单片机_讲什么内容
3-1-2_资料说明与下载
3-1-3_处理器的区分MCU_MPU_AP
3-1-4_嵌入式系统硬件组成
3-1-5_硬件知识_LED原理图
3-1-6_GPIO引脚操作方法概述
3-1-7_STM32F103的GPIO操作方法
3-1-8_STM32F103的LED编程
3-1-9_地址空间_RISC与CISC
3-1-10_ARM内部寄存器
3-1-11_ARM汇编
3-1-12_ARM汇编模拟器VisUAL
3-1-13_内存访问指令
3-1-14_数据处理指令
3-1-15_跳转指令
3-1-16 编程知识_进制
3-1-17 编程知识_字节序_位操作
3-1-18_编程知识_汇编_反汇编_机器码_基于STM32F103开发板
3-1-19_编程知识_C与汇编深入分析_基于STM32F103开发板
3-1-20_纯汇编点灯_基于STM32F103开发板
3-1-21_使用按键控制LED_基于STM32F103开发板
3-1-22_硬件知识_UART硬件介绍
3-1-23_STM32F103_UART操作
3-1-24_STM32F103_UART编程
3-1-25_KEIL_IDE背后的命令
3-1-26_准备工作_安装windows-gcc工具_CodeBlocks
3-1-27 gcc编译过程详解
3-1-28 Makefile的引入及规则
3-1-29 Makefile的语法
3-1-30 Makefile函数
3-1-31 Makefile实例
3-1-32_改造裸机程序的Makefile
3-1-33_段的概念_重定位的引入_基于STM32F103开发板
3-1-34 重定位要做的事情
3-1-35 散列文件使用与分析
3-1-36 清除BSS段(ZI段)
3-1-37 代码段重定位
3-1-38 重定位的纯C函数实现
3-1-39_异常与中断的概念引入与处理流程
3-1-40_ARM架构中异常与中断的处理
3-1-41_异常处理深入分析_保存现场
3-1-42_实战_未定义指令异常(STM32F103)
3-1-43_实战_SVC异常(STM32F103)
3-1-44_实战_SysTick异常(STM32F103)
3-1-45_中断的硬件框架
3-1-46_实战_GPIO中断编程_基于STM32F103开发板
3-1-47_STM32CubeMX生成GCC工程
复习01_ARM架构与汇编回顾
复习02_中断处理过程
复习03_段和重定位
3-1-48_CPU模式和状态以及访问等级
3-1-49_提升访问等级
3-1-50_MSP和PSP

【项目3】02_自己写RTOS_实现多任务系统

课程目录

3-2-1_裸机程序框架和缺陷
3-2-2_RTOS的引入和概念
3-2-3_ARM架构简明教程_6条汇编指令
3-2-4_分析C函数的汇编码理解程序本质
3-2-5_ARM架构过程调用标准AAPCS
3-2-6_中断处理时现场的保存和恢复
3-2-7_任务切换的实质_栈
3-2-8_编程1_创建任务_伪造现场
3-2-9_编程2_启动任务
3-2-10_中断返回的特殊处理理
3-2-11_编程2_完善启动任务
3-2-12_编程3_切换任务
3-2-13_任务切换的代码总体讲解
3-2-14_RTOS的更多特性
3-2-15_RTOS代码复盘
3-2-16_创建任务时栈的设置
3-2-17_启动第1个任务时寄存器和栈的变化
3-2-18_任务切换时寄存器和栈的变化

【项目4】FreeRTOS移植与内部实现

课程目录

4-1_普通的链表操作
4-2_普通链表的创建和添加操作
4-3_普通链表的删除操作
4-4_普通链表的排序
4-5_作业与引子
4-6_普通链表的改进
4-7_通用链表
4-8_通用链表的三种实现方式
4-9_双向链表
4-10_FreeRTOS的链表代码分析
4-11_heap_1源码分析
4-12_heap_2操作原理
4-13_heap_2源码分析
4-14_heap_4源码分析
4-15_heap_5源码分析
4-16_任务函数源码分析_创建任务_伪造现场
4-17_任务函数源码分析_创建任务_链表操作
4-18_任务函数源码分析_启动第1个任务
4-19_任务函数源码分析_任务切换
4-20_任务函数源码分析_暂停和恢复
4-21_任务函数源码分析_阻塞和唤醒
4-22_临界区进出函数源码分析_关闭中断
4-23_临界区进出函数源码分析_关闭调度器
4-24_通用队列是核心
4-25_队列源码分析
4-26_队列集源码分析
4-27_信号量和互斥量源码分析
4-28_事件组源码分析_概述
4-29_事件组源码分析_情景分析1
4-30_事件组源码分析_情景分析2
4-31_任务通知源码分析
20220506_FreeRTOS复习1_RTOS引入
20220506_FreeRTOS复习3_调度
20220506_FreeRTOS复习4_全局变量读写问题

【项目4b】_扩展项目_使用libmodbus

课程目录

01_Modbus简易理解
02_libmodbus简易理解
03_libmodbus情景分析
04_libmodbus改造思路
05_libmodbus改造好的源码分析
06_在裸机上使用libmodbus编程
07_在裸机上使用libmodbus调试

【项目5】01_基于RT-Thread Nano快速入门

课程目录

RT-Thread快速入门内部直播课1
5-1-1_RTOS的引入
5-1-2_几条汇编指令
5-1-3_线程切换过程示例
5-1-4_多线程与裸机编程的不同
5-1-5_粗略测量线程切换时间
5-1-6_FreeRTOS和RT-Thread启动流程对比
5-1-7_非入门知识_栈回溯示例
5-1-8_非入门知识_栈回溯原理
5-1-9_怎么确定栈的大小
5-1-10_栈大小的精确计算
5-1-11_调度示例及状态转换图
5-1-12_消息队列的引入
5-1-13_消息队列的函数
5-1-14_RTT消息队列相比于FreeRTOS的优点
5-1-15_消息队列示例代码
5-1-16_邮箱内部实现与操作
5-1-17_信号量接口函数
5-1-18_信号量示例
5-1-19_信号的引入与Linux体验
5-1-20_应用程序获取数据的4种方式
5-1-21_使用信号的程序示例
5-1-22_互斥量跟信号量的三点不同
5-1-23_互斥量优先级继承示例
5-1-24_事件集的引入
5-1-25_事件集示例
5-1-26_RT-Thread和FreeRTOS的事件集差别

【项目5】02_RT-Thread Studio基本配置

课程目录

5-2-1_RT-Thread Studio配置使用说明
5-2-2_RT-Thread Studio配置实现温湿度上云

【项目5】03_RT-Thread驱动程序

课程目录

5-3-1_驱动程序模型的引入
5-3-2_编写Hello驱动程序
5-3-3_使用RTT-Studio编译驱动
5-3-4_调试Hello驱动程序
5-3-5_内部实现_链表简述
5-3-6_C语言的继承
5-3-7_驱动程序回顾与问题引入(怎么限定接口)
5-3-8_优化Hello驱动程序_分层设计_限定接口
5-3-9_分层的Hello驱动程序(方法1)_编写
5-3-10_分层的Hello驱动程序(方法1)_上机
5-3-11_分层的Hello驱动程序(方法2)_编写
5-3-12_分层的Hello驱动程序(方法2)_上机
5-3-13_总结设备驱动程序的框架
5-3-14_GPIO驱动程序框架
5-3-15_GPIO驱动程序代码分析
5-3-16_使用pin驱动来操作LED
5-3-17_扩展知识_Linux输入系统
5-3-18_MultiButton原理
5-3-19_MultiButton源码框架
5-3-20_使用MultiButton_编写框架代码
5-3-21_使用MultiButton_完善代码
5-3-22_使用MultiButton_上机
5-3-23_使用MultiButton_情景分析
5-3-24_Touch驱动程序框架
5-3-25_Touch驱动程序情景分析
5-3-26_UART驱动程序框架
5-3-27_UART驱动程序读写情景分析
5-3-28_控制台和UART
5-3-29_I2C协议
5-3-30_I2C设备的2种访问方法
5-3-31_I2C控制器驱动程序的层次
5-3-32_I2C控制器驱动注册过程情景分析
5-3-33_I2C设备的第1种访问方法_APP通过控制器驱动来访问
5-3-34_I2C设备的第2种访问方法_APP通过设备驱动来访问
5-3-35_SPI协议
5-3-36_SPI主从设备的结构体与联系
5-3-37_SPI控制器驱动程序注册过程情景分析
5-3-38_APP直接通过SPI控制器访问SPI设备不可行
5-3-39_注册SPI从设备
5-3-40_怎么编写自己的SPI设备驱动程序
5-3-41_基本概念_挂载点_设备_文件系统
5-3-42_devfs情景分析_挂载
5-3-43_devfs情景分析_open
5-3-44_devfs情景分析_read
5-3-45_devfs情景分析_总结
5-3-46_ELM(FAT)情景分析_挂载
5-3-47_ELM(FAT)情景分析_open
5-3-48_ELM(FAT)情景分析_read
5-3-49_怎么写块设备驱动程序
5-3-50_使用内存模拟块设备_编程
5-3-51_使用内存模拟块设备_编译调试
5-3-52_使用内存模拟块设备_太小了无法使用ELMFAT
5-3-53_使用内存模拟块设备_挂载失败
5-3-54_使用自带Flash作为块设备_编程
5-3-55_使用自带Flash作为块设备_编译
5-3-56_使用自带Flash作为块设备_上机发现新问题
5-3-57_使用自带Flash作为块设备_可以格式化mount无法写文件
5-3-58_使用自带Flash作为块设备_调试
总结1_驱动程序的引入
总结2_最简单的LED驱动程序
总结3_怎么统一接口
总结4_PIN驱动简单分析
总结5_I2C驱动简单分析
总结6_块设备驱动程序
总结7_挂载点
总结8_挂载点_文件系统_块设备三者关系
总结9_ELM文件系统和flash驱动程序
总结10_devfs文件系统
【块设备驱动直播_AT24C02】01_框架
【块设备驱动直播_AT24C02】02_编写AT24C02驱动_总体代码
【块设备驱动直播_AT24C02】03_编写AT24C02驱动_完善代码
【块设备驱动直播_AT24C02】04_配置I2C总线驱动_编译AT24C02驱动
【块设备驱动直播_AT24C02】05_检查代码
【块设备驱动直播_AT24C02】06_作业_使用内存模拟块设备
【块设备驱动直播_SPI Flash】01_RT-Thread驱动框架回顾
【块设备驱动直播_SPI Flash】02_块设备驱动程序框架
【块设备驱动直播_SPI Flash】03_编写SPI_Flash驱动框架
【块设备驱动直播_SPI Flash】04_SPI_Flash操作方法(阅读芯片手册)
【块设备驱动直播_SPI Flash】05_怎么使用SPI控制器驱动
【从0实现文件系统】00_课程介绍与资料下载
【从0实现文件系统】01_RT-Thread里访问文件的流程
【从0实现文件系统】02_实现格式化函数
【从0实现文件系统】03_实现挂载函数
【从0实现文件系统】04_格式化与挂载_调试
【从0实现文件系统】05_ls涉及的三个函数
【从0实现文件系统】06_open根目录
【从0实现文件系统】07_APP层文件如何跟文件系统建立联系
【从0实现文件系统】08_分析ls命令理解文件系统的操作函数
【从0实现文件系统】09_设置mount和open时的私有数据
【从0实现文件系统】10_getdents(获得目录项)
【从0实现文件系统】11_getstat(获得文件状态)
【从0实现文件系统】12_使用ls命令测试
【从0实现文件系统】13_普通文件的open
【从0实现文件系统】14_普通文件的读写
【从0实现文件系统】15_普通文件的close
【从0实现文件系统】16_普通文件的创建
【从0实现文件系统】17_更新目录项
【从0实现文件系统】18_检查与回顾代码
【从0实现文件系统】19_调试
【从0实现文件系统】20_总结

【项目5】04_RT-Thread源码管理与编译系统

课程目录

5-4-1_KEIL_IDE背后的命令
5-4-2_准备工作_安装windows-gcc工具_CodeBlocks
5-4-3_gcc编译过程详解
5-4-4_Makefile的引入及规则
5-4-5_Makefile的语法
5-4-6_Makefile函数
5-4-7_Makefile实例

【项目6】01_RT-Thread内部实现

课程目录

6-1-1_下载体验最新源码
6-1-2_调用函数的方法
6-1-3_RT-Thread启动流程
6-1-4_C语言的继承与object
6-1-5_RT-Thread的链表操作
6-1-6.1_三种堆的实现概述
6-1-6.2A_小内存管理算法mem初始化
6-1-6.2B_小内存管理算法mem分配
6-1-6.2C_小内存管理算法mem释放
6-1-6.3_多个堆的管理算法memheap
6-1-6.4A_大内存管理算法slab_形象类比与初始化
6-1-6.4B_大内存管理算法slab_大内存申请与释放
6-1-6.4C_大内存管理算法slab_常规内存分配与释放
6-7-1_线程的创建
6-7-2A_启动第1个线程_理论介绍
6-7-2B_启动第1个线程_代码分析
6-7-3_线程的切换
6-7-4_线程的挂起和恢复
6-8-1_定时器原理及调用过程
6-8-2_定时器插入操作(跳表)_原理
6-8-3_定时器插入操作(跳表)_代码分析
6-8-4_判断超时的方法
6-9-1_消息队列原理
6-9-2_消息队列代码分析
6-10_邮箱代码分析
6-11-1_信号的机制
6-11-2_信号代码分析_初始化与发送
6-11-3_信号代码分析_处理
6-11-4_信号代码分析_Bug演示
6-11-5_信号代码分析_Bug分析与解决
6-12_信号量代码分析
6-13_互斥量代码分析
6-14-1_事件组代码分析
6-14-2_事件组Bug分析与解决

【项目7】基于RT-Thread BSP实现环境监控

课程目录

01_网络基础知识
02_MQTT概念通俗理解
03_怎么写MQTT程序
04_MQTT程序分层
05_MQTT程序结构
06_源码分析_连接服务器
07_源码分析_发布消息
08_源码分析_订阅消息及处理流程
09-1_使用RT-Thread_studio读取DHT11温湿度
09-2_DHT11驱动分析
10-1_使用ESP8266
10-2_ESP8266驱动分析
10-3_ping命令情景分析
11-1_使用MQTT
11-2_pahomqtt源码分析
12_实现环境监测

【项目8】基于ESP32-C3 SDK实现智能家居

课程目录

电子书RTOS训练营ESP32-C3开发板资料下载
0.课程介绍
1.ESP32-C3开发资源介绍
2_1-1.搭建开发环境之运行ubuntu虚拟机系统
2_1-2.搭建开发环境之ubuntu命令工具使用
2_1-3.搭建开发环境之ubuntu安装samba实现文件共享
2_2.搭建开发环境之获取源码并配置esp-idf开发环境
2_3.搭建开发环境之编译运行helloword
3-0.ESP32-IDF框架简介
3-1.sourceinsight使用smaba访问esp-idf工程
4-0.编译烧写led闪灯示例
4-0_1.GPIO模块开发流程简介
4-1.GPIO硬件原理
4-2.ESP32-GPIO控制器简介
4-3.获取开发板GPIO设备对应引脚编号
4-4_1.基于esp-idf进行GPIO开发
4-4_2.基于esp-idf使用gpio_config开发
4-5.GPIO模块项目扩展组合示例
5-0. I2C OLED示例运行演示
5-1. I2C通信协议原理
5-2. ESP32-C3 I2C控制器
5-3. 板载I2C引脚连接分析说明
5-4_1. 使用ESP-IDF 进行I2C开发
5-4_2. 使用ESP-IDF 进行I2C开发
5-4_3. 使用ESP-IDF 进行I2C开发
5-4_4. 使用ESP-IDF 进行I2C开发
5-5. I2C OLED模块开发概述
5-5_1.OLED开发流程与准备工作
5-5_2. oled模块开发
6-1.使用封装好的I2C函数
6-2.移植STM32_OLED驱动
7-0.存储设备NVS简介
7-1.存储设备NVS示例讲解
7-2.存储设备NVS自定义分区
8-1.WIFI原理讲解上
8-2.WIFI原理讲解下
8-3. ESP32创建STA连接WIFI路由器
8-4.使用ESP32创建WIFI AP热点
8-5. 创建AP+STA无线桥接模式
8-6. 使用SmartConfig进行配网
9-1.回顾程序框架
9-2_1.移植设备子系统
9-2_2.设备子系统上机实验
9-3.移植字体子系统
9-4.移植文本子系统
9-5_1.移植网络子系统_WIFI连接
9-5_2.WIFI连接上机实验
9-5_3.接收UDP数据
9-6_1.移植输入子系统_网络输入
9-6_2.移植输入子系统_按键输入
9-6_3.移植输入子系统_上机实验
9-7.移植业务子系统

【项目9】深入理解RISC-V32架构,实现多任务系统

课程目录

[01-1]_课程介绍与资料下载
[02-1]_处理器的区分MCU_MPU_AP
[02-2]_硬件结构与启动流程
[02-3]_ESP32-C3地址映射与启动流程
[03-1]_使用ROM函数操作LED
[03-2]_通过寄存器操作LED
[04-1]_内部寄存器
[04-2]_常用汇编指令
[04-3]_使用模拟器练习汇编
[05-1]_编程知识_汇编_反汇编_机器码
[05-2-1]_编程知识_C与汇编深入分析
[05-2-2]_C函数的反汇编实例分析
[05-3]_纯汇编点灯
[06-1]_使用按键控制LED
[07-1]_使用ROM函数读写串口
[07-2]_更多的打印函数
[08-1]_KEIL IDE背后的命令
[08-2]_准备工作_安装windows gcc工具 CodeBlocks
[08-3]_gcc编译过程详解
[08-4]_Makefile的引入及规则
[08-5]_Makefile的语法
[08-6]_Makefile函数
[08-7]_Makefile实例
[09-1]_段的概念_重定位的引入
[09-2]_重定位要做的事情
[09-3]_链接脚本使用与分析
[09-4]_清除BSS段
[09-5]_代码段重定位
[10-1]_异常与中断的概念引入与处理流程(通用)
[10-2]_ESP32C3异常与中断处理流程
[10-3-1]_实战_未定义指令,ecall指令触发异常
[10-3-2]_实战_未定义指令,ecall指令完善实验
[10-4-1]_实战_定时器_启动
[10-4-2]_实战_定时器_中断实验
[11-1]_回顾自己编写的RTOS
[11-2]_移植自己编写的RTOS

【项目10】基于FreeRTOS实现环境监测

课程目录

1_搭建局域网测试环境
2_ESP32-C3适配MQTT
3_添加外设
4_优化程序
5_通过外网进行通信
08_在裸机上使用libmodbus调试
06_Modbus传感器的使用
05_libmodbus改造好的源码分析
04_libmodbus改造思路
03_libmodbus情景分析
02_libmodbus简易理解

【赠送项目】逻辑分析仪

课程目录

0_基于瑞士军刀的逻辑分析仪功能展示
1-1_逻辑分析仪项目课程概述与体验
2-1_逻辑分析仪SUMP协议分析_扫描
2-2_逻辑分析仪SUMP协议分析_设置
2-3_逻辑分析仪SUMP协议分析_采样
3-1_逻辑分析仪软件设计方案
3-2_精确测量读GPIO的时间
3-3_精确测量其他操作的时间
3-4_方案修订
3-5_实现功能
3-6-1_改进功能_演示与程序结构
3-6-2_使用汇编提高采样频率
3-6-3_增加改进USB串口功能
3-6-4_使用RLE提升重复数据的传输效率

售前问题:

淘宝 https://100ask.taobao.com

售后问题:

交流社区:https://forums.100ask.net

讨论群

学习交流微信群:http://wiki.100ask.org/Community#%E5%BE%AE%E4%BF%A1%E4%BA%A4%E6%B5%81%E7%BE%A4

学习交流QQ群: http://wiki.100ask.org/Community#QQ%E4%BA%A4%E6%B5%81%E7%BE%A4

投诉:

加微信:13510691477,备注:投诉