![网络整理物联网、嵌入式工程师体系课[完结40周]](/_next/image?url=https%3A%2F%2Fres.getyouji.com%2Fyxg%2Fcovers%2Fredraw-yxg-170-v1.webp&w=3840&q=75)
物联网、嵌入式工程师体系课[完结40周]
来自 网络整理·免费领取学习资源
6,689 领取 · 6,073 收藏更新于 2026年9月20日
这份资料来自网络整理2026年的付费VIP课,内容以视频为主,对应《物联网、嵌入式工程师体系课[完结40周]》。官网需要单独购买,有集上可以免费领取。
课程目录
- 【阶段10:智能硬件开发-嵌入式底层开发之系统移植】第25周 大厂必备- linux内核与文件系统移植
- 25-1-1 第1章 学习方法介绍及系统启动流程分析
- 25-1-1-1 课程学习方法介绍
- 25-1-1-2 PC机启动流程分析
- 25-1-1-3 嵌入式设备启动流程分析(一)
- 25-1-1-4 嵌入式设备启动流程分析(二)
- 25-1-1-5 Android设备启动流程分析
- 25-2-1 第1章 IMX6ull芯片启动流程分析及镜像烧写
- 25-2-1-1 IMX6ull芯片启动流程介绍
- 25-2-1-10 镜像文件启动过程分析
- 25-2-1-11 镜像文件制作
- 25-2-1-12 裸机镜像文件烧写到emmc
- 25-2-1-13 裸机镜像文件烧写到SD卡
- 25-2-1-14 Linux系统镜像烧写
- 25-2-1-2 IMX6ull启动模式介绍
- 25-2-1-3 Boot From Fuses mode介绍
- 25-2-1-4 Serial Downloader Mode介绍
- 25-2-1-5 Internal Boot mode介绍
- 25-2-1-6 硬件原理图阅读及启动模式设定
- 25-2-1-7 镜像文件格式介绍
- 25-2-1-8 Image Vector Table and Boot Data介绍(一)
- 25-2-1-9 Image Vector Table and Boot Data介绍(二)
- 25-3-1 第1章 u_boot引导Linux内核启动
- 25-3-1-1 u-boot介绍
- 25-3-1-10 u-boot进行tftp下载失败情况分析
- 25-3-1-11 u-boot启动Linux内核相关命令介绍
- 25-3-1-12 通过NFS挂载文件系统最近学习
- 25-3-1-13 u_boot MMC设备相关操作命令(一)
- 25-3-1-14 u_boot MMC设备相关操作命令(二)
- 25-3-1-15 u_boot MMC设备相关操作命令(三)
- 25-3-1-16 u_boot MMC设备相关操作命令(四)
- 25-3-1-17 u_boot本地方式引导Linux内核启动
- 25-3-1-2 u_boot基础命令介绍
- 25-3-1-3 u_boot网络通信参数设置及ping命令
- 25-3-1-4 ftfp服务使用
- 25-3-1-5 nfs服务使用(一)
- 25-3-1-6 nfs服务使用(二)
- 25-3-1-7 u-boot通过tftp下载Linux内核相关镜像
- 25-3-1-8 手动通过tftp下载Linux内核相关镜像引导Linux内核启动
- 25-3-1-9 自动通过tftp下载Linux内核相关镜像引导Linux内核启动
- 25-4-1 第1章 Linux内核移植(一)
- 25-4-1-1 Linux内核介绍
- 25-4-1-2 Linux内核源码目录介绍(一)
- 25-4-1-3 Linux内核源码目录介绍(二)
- 25-4-1-4 Linux内核源码目录介绍(三)
- 25-4-1-5 Linux内核配置与编译
- 25-4-1-6 Linux设备树编译
- 25-4-1-7 测试编译出的内核和设备树
- 25-4-1-8 工程化编译脚本编写
- 25-5-1 第1章 Linux内核移植(二)
- 25-5-1-1 Linux内核镜像分析
- 25-5-1-2 Kconfig和Makefile之间的关系
- 25-5-1-3 Linux内核源码子目录Makefile分析
- 25-5-1-4 Kconfig语法介绍(一)
- 25-5-1-5 Kconfig语法介绍(二)
- 25-5-1-6 Kconfig语法介绍(三)
- 25-5-1-7 在Linux 内核中添加自己的代码编译进内核
- 25-5-1-8 Linux内核启动流程分析
- 25-6-1 第1章 wifi网卡RTL8723驱动移植
- 25-6-1-1 wifi驱动下载
- 25-6-1-10 运行wpa_supplicant程序连接wifi(一)
- 25-6-1-11 运行wpa_supplicant程序连接wifi(二)
- 25-6-1-12 wpa_cli命令使用
- 25-6-1-2 wifi驱动移植
- 25-6-1-3 wpa_supplicant介绍
- 25-6-1-4 wpa_supplicant移植准备相关源码包下载
- 25-6-1-5 openssl移植
- 25-6-1-6 libnl移植
- 25-6-1-7 wpa_supplicant移植
- 25-6-1-8 wpa_supplicant相关依赖文件拷贝到开发板文件系统目录下
- 25-6-1-9 添加wpa_supplicant相关程序路径和依赖的动态库路径到系统环境变量
- 25-7-1 第1章 busybox制作根文件系统
- 25-7-1-1 busybox介绍
- 25-7-1-10 开机自启动应用程序(二)
- 25-7-1-11 开机自启动应用程序(三)
- 25-7-1-12 开机自启动应用程序(四)
- 25-7-1-2 busybox移植
- 25-7-1-3 制作根文件系统(一)
- 25-7-1-4 制作根文件系统(二)
- 25-7-1-5 根文件系统测试
- 25-7-1-6 busybox的init启动流程分析(一)
- 25-7-1-7 busybox的init启动流程分析(二)
- 25-7-1-8 busybox的init启动流程分析(三)
- 25-7-1-9 开机自启动应用程序(一)
- 25-8-1 第1章 LCD及触摸屏驱动移植
- 25-8-1-1 LCD驱动移植设备树修改
- 25-8-1-2 LCD驱动移植驱动程序修改
- 25-8-1-3 LCD驱动移植LCD自动关闭解决方法
- 25-8-1-4 触摸屏驱动移植设备树修改
- 25-8-1-5 触摸屏驱动修改及测试(一)
- 25-8-1-6 触摸屏驱动修改及测试(二)
- 25-9-1 第1章 tslib及Qt移植
- 25-9-1-1 vmware虚拟机硬盘空间添加
- 25-9-1-10 qt源码编译完进行安装
- 25-9-1-11 移植Qt库到根文件系统(一)
- 25-9-1-12 移植Qt库到根文件系统(二)
- 25-9-1-13 qt库测试
- 25-9-1-14 Linux端Qt开发环境搭建
- 25-9-1-15 Linux端Qt工程创建及编译
- 25-9-1-16 qt工程交叉编译
- 25-9-1-17 qt交叉开发环境搭建
- 25-9-1-2 tslib介绍及下载
- 25-9-1-3 tslib库移植
- 25-9-1-4 tslib库测试(一)
- 25-9-1-5 tslib库测试(二)
- 25-9-1-6 qt源码下载及解压
- 25-9-1-7 qt源码下修改qmake.conf配置文件修改
- 25-9-1-8 qt源码配置
- 25-9-1-9 qt源码编译
- 【阶段10:智能硬件开发-嵌入式底层开发之系统移植】第26周 嵌入式开发-系统移植-bootloader、yocto
- 26-1-1 第1章 u-boot初步接触
- 26-1-1-1 u-boot介绍
- 26-1-1-2 u-boot源码目录分析(一)
- 26-1-1-3 u-boot源码目录分析(二)
- 26-1-1-4 u-boot配置与编译
- 26-1-1-5 u-boot编译生成文件说明(一)
- 26-1-1-6 u-boot编译生成文件说明(二)
- 26-1-1-7 u-boot测试
- 26-10-1 第1章 yocto系统剖析
- 26-10-1-1 Yocto工程介绍
- 26-10-1-10 Yocto专有名词之BitBake介绍
- 26-10-1-11 Yocto专有名词之packages,esdk,image介绍
- 26-10-1-12 Yocto工程构建流程介绍(一)
- 26-10-1-13 Yocto工程构建流程介绍(二)
- 26-10-1-14 Yocto工程的User Configuration介绍
- 26-10-1-15 Yocto工程的bblayers.conf配置文件介绍
- 26-10-1-16 Yocto工程的local.conf配置文件介绍
- 26-10-1-17 Yocto工程相关Layers介绍
- 26-10-1-18 Yocto工程Distro Layer介绍
- 26-10-1-19 Yocto工程BSP Layer介绍
- 26-10-1-2 Yocto 分层设计介绍
- 26-10-1-20 Yocto工程Software Layer介绍
- 26-10-1-21 Yocto工程Sources介绍
- 26-10-1-22 Yocto工程Package Feeds介绍
- 26-10-1-23 Yocto工程BitBake Tool介绍(一)
- 26-10-1-24 Yocto工程BitBake Tool介绍(二)
- 26-10-1-25 Yocto工程Images介绍
- 26-10-1-26 Yocto工程Application Development SDK介绍(一)
- 26-10-1-27 Yocto工程Application Development SDK介绍(二)
- 26-10-1-28 Yocto工程Cross-Development Toolchain Generation介绍
- 26-10-1-3 Yocto 工程的poky介绍
- 26-10-1-4 Yocto专有名词之conf文件介绍
- 26-10-1-5 Yocto专有名词之recipe介绍
- 26-10-1-6 Yocto专有名词之layer介绍
- 26-10-1-7 Yocto专有名词之Metadata介绍
- 26-10-1-8 Yocto专有名词之OE-Core介绍
- 26-10-1-9 Yocto专有名词之Poky介绍
- 26-11-1 第1章 yocto工程使用
- 26-11-1-1 yocto工程介绍
- 26-11-1-10 bitbake构建系统解metadata介绍
- 26-11-1-11 bitbake构建系统解析recipes介绍
- 26-11-1-12 bitbake构建系统Providers供应者介绍
- 26-11-1-13 bitbake构建系统Preferences优先级介绍
- 26-11-1-14 bitbake构建系统依赖关系及任务列表介绍
- 26-11-1-15 imx-setup-release.sh脚本介绍
- 26-11-1-16 imx-setup-release.sh脚本传入参数分析
- 26-11-1-17 imx-setup-release.sh脚本主要功能分析
- 26-11-1-18 yocto的HelloWorld(一)
- 26-11-1-19 yocto的HelloWorld(二)
- 26-11-1-2 yocto工程中metadata与layer概念介绍
- 26-11-1-20 yocto的HelloWorld(三)
- 26-11-1-21 yocto工程的bitbake相关命令使用(一)
- 26-11-1-22 yocto工程的bitbake相关命令使用(二)
- 26-11-1-23 yocto工程的bitbake相关命令使用(三)
- 26-11-1-24 yocto工程u-boot使用(一)
- 26-11-1-25 yocto工程u-boot使用(二)
- 26-11-1-26 yocto工程linux-kernel使用
- 26-11-1-27 yocto工程rootfs使用(一)
- 26-11-1-28 yocto工程rootfs使用(二)
- 26-11-1-3 元数据(metadata)具体数据类别介绍
- 26-11-1-4 yocto工程中layer分层介绍
- 26-11-1-5 yocto工程中metadata与layer区别
- 26-11-1-6 yocto工程中pokey介绍
- 26-11-1-7 yocto工程中bitbake介绍
- 26-11-1-8 yocto工程构建的基本流程介绍
- 26-11-1-9 bitbake构建系统介绍
- 26-2-1 第1章 u-boot启动流程源码分析(一)
- 26-2-1-1 u-boot源码阅读开发环境搭建(一)
- 26-2-1-10 u-boot启动流程board_init_f函数分析(一)
- 26-2-1-11 u-boot启动流程board_init_f函数分析(二)
- 26-2-1-12 u-boot启动流程在外部内存中进行sp和gd结构体设置
- 26-2-1-13 u-boot启动重定向u-boot分析
- 26-2-1-14 u-boot启动BSS段清0分析
- 26-2-1-15 u-boot启动board_init_r函数跳转分析
- 26-2-1-2 u-boot源码阅读开发环境搭建(二)
- 26-2-1-3 u-boot源码阅读开发环境搭建(三)
- 26-2-1-4 u-boot启动流程异常向量表分析
- 26-2-1-5 u-boot启动流程save_boot_params函数分析
- 26-2-1-6 u-boot启动流程关闭中断设置ARM核为SVC模式分析
- 26-2-1-7 u-boot启动流程cpu_init_cp15函数分析
- 26-2-1-8 u-boot启动流程cpu_init_crit及lowlevel_init函数分析
- 26-2-1-9 u-boot启动流程在SOC内部RAM中进行sp和gd结构体设置
- 26-3-1 第1章 uboot启动流程源码分析(二)
- 26-3-1-1 u-boot启动流程board_init_r函数分析
- 26-3-1-2 u-boot启动流程run_main_loop函数分析
- 26-3-1-3 u-boot命令描述结构体分析
- 26-3-1-4 u-boot命令定义分析
- 26-3-1-5 u-boot添加自定义命令实现
- 26-3-1-6 引导Linux内核的命令介绍
- 26-3-1-7 u-boot的booz命令实现分析
- 26-3-1-8 u-boot引导Linux内核启动过程分析
- 26-4-1 第1章 u-boot移植
- 26-4-1-1 移植的核心思想介绍
- 26-4-1-10 更新板子里面的u-boot
- 26-4-1-2 u-boot中添加自己的开发板(一)
- 26-4-1-3 u-boot中添加自己的开发板(二)
- 26-4-1-4 配置编译及测试(一)
- 26-4-1-5 配置编译及测试(二)
- 26-4-1-6 u-boot定制化修改开发板名称修改
- 26-4-1-7 u-boot定制化修改LCD驱动修改
- 26-4-1-8 u-boot定制化修改网卡驱动修改
- 26-4-1-9 u-boot定制化修改EMMC驱动修改
- 26-5-1 第1章 buildroot制作文件系统
- 26-5-1-1 buildroot介绍
- 26-5-1-10 buildroot制作根系统shell终端提示符显示路径
- 26-5-1-2 buildroot依赖安装
- 26-5-1-3 buildroot菜单图形化配置
- 26-5-1-4 buildroot编译源码(一)
- 26-5-1-5 buildroot编译源码(二)
- 26-5-1-6 buildroot测试文件系统(一)
- 26-5-1-7 buildroot测试文件系统(二)
- 26-5-1-8 buildroot构建根文件系统流程介绍
- 26-5-1-9 buildroot配置busybox
- 26-6-1 第1章 buildroot支持第三方软件
- 26-6-1-1 buildroot配置编译wpa_supplicant软件
- 26-6-1-10 sshd 启动慢解决办法
- 26-6-1-11 alsa音频架构介绍
- 26-6-1-12 buildroot配置及编译alsa(一)
- 26-6-1-13 buildroot配置及编译alsa(二)
- 26-6-1-14 在内核源码目录下修改设备树中的音频设备信息
- 26-6-1-15 alsa播放音乐测试
- 26-6-1-16 WM8960音频解码硬件原理图及驱动修改
- 26-6-1-17 alsa录音测试
- 26-6-1-18 alsamixer图形化界面配置声卡
- 26-6-1-2 wpa_supplicant软件测试
- 26-6-1-3 wpa_supplicant软件手动连接wifi
- 26-6-1-4 开机的时候wpa_supplicant软件启动自动连接wifi
- 26-6-1-5 buildroot配置编译openssh软件
- 26-6-1-6 配置sshd 运行环境
- 26-6-1-7 启动sshd服务进程
- 26-6-1-8 在主机ubuntu上通过ssh登录开发板并传输文件
- 26-6-1-9 在windows上ssh登录开发板并传输文件
- 26-7-1 第1章 buildroot支持Qt5
- 26-7-1-1 升级ARM GCC编译器(一)
- 26-7-1-2 升级ARM GCC编译器(二)
- 26-7-1-3 buildroot配置外部编译器
- 26-7-1-4 修改编译器的内核版本
- 26-7-1-5 buildroot配置及编译Qt5
- 26-7-1-6 查看生成的Qt目标文件
- 26-7-1-7 Qt5的根文件系统测试(一)
- 26-7-1-8 Qt5的根文件系统测试(二)
- 26-8-1 第1章 ubuntu文件系统移植
- 26-8-1-1 qemu介绍
- 26-8-1-10 在ubuntu根文件系统安装常用的软件工具
- 26-8-1-11 设置串口终端挂载ubuntu根文件系统
- 26-8-1-12 ubuntu根文件系统ls命令颜色显示
- 26-8-1-13 systemd介绍
- 26-8-1-14 编写systemd的service程序
- 26-8-1-15 编写systemd的service脚本
- 26-8-1-16 systemd开机自启动与取消service执行
- 26-8-1-17 systemctl相关命令介绍
- 26-8-1-2 安装qemu arm平台模拟器
- 26-8-1-3 binfmt介绍
- 26-8-1-4 ARM平台程序在X86平台执行测试
- 26-8-1-5 获取ARM平台Ubuntu文件系统
- 26-8-1-6 解压ubuntu文件系统,添加qemu仿真环境
- 26-8-1-7 chroot命令介绍
- 26-8-1-8 chroot进入与退出ubuntu根文件系统
- 26-8-1-9 更新ubuntu软件源
- 26-9-1 第1章 yocto初步接触
- 26-9-1-1 嵌入式Linux四大组件介绍
- 26-9-1-10 repo介绍及使用
- 26-9-1-11 获取 Yocto 项目
- 26-9-1-12 yocto项目配置
- 26-9-1-13 yocto项目配置参数分析
- 26-9-1-14 yocto项目编译(一)
- 26-9-1-15 yocto项目编译(二)
- 26-9-1-16 yocto项目编译(三)
- 26-9-1-17 构建生成的镜像介绍
- 26-9-1-2 Boot ROM组件介绍
- 26-9-1-3 Bootloader组件介绍
- 26-9-1-4 Linux Kernel组件介绍
- 26-9-1-5 rootfs根文件系统组件介绍
- 26-9-1-6 yocto构建嵌入式Linux系统介绍
- 26-9-1-7 yocto介绍
- 26-9-1-8 yocto构建主机系统及硬盘空间要求介绍
- 26-9-1-9 yocto构建主机必须安装的软件包介绍
- 【阶段11: Linux设备驱动入门到高级进阶】第27周 嵌入式底层核心技能-Linux设备驱动初级
- 27-1-1 第1章 学习方法及开发环境搭建
- 27-1-1-1 学习方法介绍
- 27-1-1-10 NFS网络方式启动Linux内核
- 27-1-1-2 vscode远程连接到ubuntu
- 27-1-1-3 在vscode上面安装clangd插件
- 27-1-1-4 在ubuntu上面安装clangd程序
- 27-1-1-5 在ubuntu上面安装bear程序
- 27-1-1-6 给Linux内核生成编译数据库文件
- 27-1-1-7 在vscode中设置clangd
- 27-1-1-8 远程连接ubuntu打开Linux内核目录建立索引
- 27-1-1-9 消除警告信息和关闭函数调用时的形参显示
- 27-10-1 第1章 Linux内核自带LED驱动leds-gpio使用
- 27-10-1-1 LED子系统介绍
- 27-10-1-2 LED子系统触发器介绍
- 27-10-1-3 Linux内核自带LED设备驱动分析(一)
- 27-10-1-4 Linux内核自带LED设备驱动分析(二)
- 27-10-1-5 Linux内核自带LED设备驱动分析(三)
- 27-10-1-6 Linux内核自带LED设备驱动使用
- 27-10-1-7 关于gpio子系统偷偷设置pinctl功能说明
- 27-2-1 第1章 Linux驱动之模块化编程
- 27-2-1-1 模块化编程介绍
- 27-2-1-2 模块化编程基本格式介绍
- 27-2-1-3 模块程序编写
- 27-2-1-4 模块代码编译方法介绍
- 27-2-1-5 Linux内核编译系统介绍
- 27-2-1-6 模块代码编译Makefile(一)
- 27-2-1-7 模块代码编译Makefile(二)
- 27-2-1-8 模块相关的操作命令介绍
- 27-2-1-9 Linux 内核打印函数printk介绍
- 27-3-1 第1章 Linux驱动之模块参数和符号导出
- 27-3-1-1 模块参数及参数传递格式介绍
- 27-3-1-2 模块参数例子代码介绍
- 27-3-1-3 模块加载传递整型变量代码实现
- 27-3-1-4 模块加载传递字符串代码实现
- 27-3-1-5 模块加载传递数组代码实现
- 27-3-1-6 模块符号导出
- 27-3-1-7 模块之间的依赖
- 27-3-1-8 关闭vscode自动插入头文件功能
- 27-3-1-9 depmod和modprobe命令使用
- 27-4-1 第1章 Linux设备驱动介绍
- 27-4-1-1 驱动程序介绍
- 27-4-1-2 Linux驱动的本质是什么
- 27-4-1-3 Linux 设备分类
- 27-5-1 第1章 Linux字符设备驱动
- 27-5-1-1 file_operations提供设备操作函数接口
- 27-5-1-10 字符设备驱动编写步骤总结
- 27-5-1-11 ioctl函数接口及命令设计介绍
- 27-5-1-12 底层驱动支持ioctl操作
- 27-5-1-13 应用层程序通过ioctl访问底层驱动
- 27-5-1-14 底层驱动支持动态设备号获取
- 27-5-1-15 sysfs文件系统介绍
- 27-5-1-16 自动创建设备文件的工具介绍
- 27-5-1-17 底层驱动创建类
- 27-5-1-18 底层驱动创建设备导出设备号信息
- 27-5-1-19 底层驱动出错处理优化
- 27-5-1-2 led_device设备对象内存分配
- 27-5-1-3 cdev结构体记录file_operations结构体首地址
- 27-5-1-4 设备号注册与注销
- 27-5-1-5 根据设备号添加字符设备
- 27-5-1-6 应用层创建设备文件
- 27-5-1-7 应用层程序访问底层驱动程序
- 27-5-1-8 Linux应用层访问底层驱动过程分析
- 27-5-1-9 Linux分层设计思想介绍
- 27-6-1 第1章 imx6ull LED驱动实现
- 27-6-1-1 硬件原理图阅读及GPIO相关寄存器介绍
- 27-6-1-2 底层驱动添加GPIO相关寄存器物理地址
- 27-6-1-3 底层驱动实现物理地址映射成虚拟地址
- 27-6-1-4 底层驱动实现GPIO初始化
- 27-6-1-5 底层驱动实现LED灯亮灭功能
- 27-7-1 第1章 platform子系统
- 27-7-1-1 传统字符设备驱动框架的缺点分析
- 27-7-1-10 在platform总线驱动中获取资源
- 27-7-1-2 ARM核的SOC内部的结构介绍
- 27-7-1-3 总线、设备、驱动核心思想介绍
- 27-7-1-4 Linux操作系统总线理解
- 27-7-1-5 基于总线写驱动思路
- 27-7-1-6 platform总线设备注册
- 27-7-1-7 platform总线驱动注册
- 27-7-1-8 修复platform总线上设备卸载时的bug
- 27-7-1-9 在platform总线设备中添加资源
- 27-8-1 第1章 设备树使用
- 27-8-1-1 设备树初步了解
- 27-8-1-10 在设备树中添加LED设备自定义属性
- 27-8-1-11 在驱动中解析设备树节点属性
- 27-8-1-12 添加led字符设备注册和注销函数接口
- 27-8-1-13 修改Makefile支持多个c文件编译成一个ko文件
- 27-8-1-14 在驱动中注册与注销字符设备
- 27-8-1-15 在led_device结构体中记录获取的资源
- 27-8-1-16 优化掉全局变量pled
- 27-8-1-17 根据结构体成员地址获取结构体首地址
- 27-8-1-18 优化LED驱动操作函数接口
- 27-8-1-19 运行应用程序测试LED驱动
- 27-8-1-2 设备树介绍
- 27-8-1-20 在设备树中添加多个LED设备和驱动匹配
- 27-8-1-21 修复LED驱动中创建重复类的bug
- 27-8-1-22 修复LED驱动中重复创建设备的bug
- 27-8-1-3 在Linux内核中寻找和自己开发平台相关的设备树文件
- 27-8-1-4 设备树的语法规则介绍
- 27-8-1-5 设备树相关命令
- 27-8-1-6 常用设备树属性介绍
- 27-8-1-7 在Linux内核中添加LED设备树节点
- 27-8-1-8 在开发板上寻找LED设备树节点
- 27-8-1-9 在驱动中匹配设备树节点
- 27-9-1 第1章 pinctrl子系统与GPIO子系统
- 27-9-1-1 总结之前编写的驱动
- 27-9-1-10 pinctrl-0与pinctrl-names属性介绍
- 27-9-1-11 led设备树节点添加
- 27-9-1-12 pinctrl-0内核自动设置过程分析
- 27-9-1-13 gpio设备树节点分析
- 27-9-1-14 gpio控制器驱动分析(一)
- 27-9-1-15 gpio控制器驱动分析(二)
- 27-9-1-16 gpio子系统架构分析
- 27-9-1-17 通过sysfs文件系统操作gpio(一)
- 27-9-1-18 通过sysfs文件系统操作gpio(二)
- 27-9-1-19 通过sysfs文件系统操作gpio(三)
- 27-9-1-2 PAD功能模式复用介绍
- 27-9-1-20 设备树gpio相关属性介绍
- 27-9-1-21 LED设备树节点gpio属性添加
- 27-9-1-22 通过module_platform_driver生成注册platform driver注册代码
- 27-9-1-23 设备树gpio信息解析函数分析
- 27-9-1-24 在驱动中解析gpio信息
- 27-9-1-25 解决设备树中的管脚冲突
- 27-9-1-26 sysfs文件系统介绍
- 27-9-1-27 device_create_file函数介绍
- 27-9-1-28 在驱动中使用device_create_file
- 27-9-1-29 sysfs_create_group函数介绍
- 27-9-1-3 IOMUXC控制器设备树节点介绍
- 27-9-1-30 在驱动中使用sysfs_create_group函数
- 27-9-1-31 在show和store函数中获取gpio编号
- 27-9-1-32 sysfs文件系统中控制GPIO驱动LED设备
- 27-9-1-4 pinctrl-controller与pinctrl-client节点介绍
- 27-9-1-5 IOMUXC控制器设备树子节点分析
- 27-9-1-6 pinctrl控制器驱动分析(一)
- 27-9-1-7 pinctrl控制器驱动分析(二)
- 27-9-1-8 pinctrl控制器驱动分析(三)
- 27-9-1-9 pinctrl子系统架构分析
- 【阶段11: Linux设备驱动入门到高级进阶】第28周 嵌入式底层核心技能-Linux设备驱动中级
- 28-1-1 第1章 Linux中断子系统
- 28-1-1-1 Linux内核异常处理过程介绍
- 28-1-1-10 gpio中断控制器设备树节点介绍
- 28-1-1-11 按键设备树节点编写
- 28-1-1-12 按键设备驱动获取中断资源
- 28-1-1-13 按键设备驱动注册中断
- 28-1-1-14 中断共享介绍
- 28-1-1-15 中断共享设备树节点添加
- 28-1-1-16 中断共享驱动程序测试
- 28-1-1-2 Linux内核中断异常处理过程总结
- 28-1-1-3 Linux内核中断注册与注销函数接口介绍
- 28-1-1-4 Linux中断信息查看
- 28-1-1-5 Linux系统中断管理介绍
- 28-1-1-6 设备树中断相关属性介绍
- 28-1-1-7 imx6ull芯片中断控制器之间关系介绍
- 28-1-1-8 gic中断控制器设备树节点介绍
- 28-1-1-9 pgc中断控制器设备树节点介绍
- 28-10-1 第1章 Linux 驱动并发控制
- 28-10-1-1 信号量介绍
- 28-10-1-10 互斥锁注意点介绍
- 28-10-1-11 RCU介绍
- 28-10-1-12 RCU核心API函数介绍
- 28-10-1-13 RCU应用案例分析
- 28-10-1-14 RCU基本要素介绍
- 28-10-1-15 RCU在驱动中使用(一)
- 28-10-1-16 RCU在驱动中使用(二)
- 28-10-1-17 RCU在驱动中使用(三)
- 28-10-1-18 RCU在驱动使用(四)
- 28-10-1-19 RCU使用注意点介绍
- 28-10-1-2 信号量API函数接口介绍
- 28-10-1-20 per-CPU 变量介绍
- 28-10-1-21 per-CPU变量api函数接口介绍
- 28-10-1-22 per-CPU应用举例需求及实现思路介绍
- 28-10-1-23 per-CPU应用程序介绍
- 28-10-1-24 per-CPU驱动程序分析(一)
- 28-10-1-25 per-CPU驱动程序分析(二)
- 28-10-1-26 per-CPU驱动程序分析(三)
- 28-10-1-27 per-CPU驱动程序分析(四)
- 28-10-1-28 per-CPU 变量使用注意点介绍
- 28-10-1-3 信号量在驱动中使用
- 28-10-1-4 信号量注意点介绍
- 28-10-1-5 读写信号量介绍
- 28-10-1-6 读写信号量API函数介绍
- 28-10-1-7 读写信号量在驱动中使用及注意点介绍
- 28-10-1-8 互斥锁及API函数接口介绍
- 28-10-1-9 互斥锁在驱动中使用
- 28-2-1 第1章 中断上半部与下半部
- 28-2-1-1 进程上下文介绍
- 28-2-1-2 中断上下文介绍
- 28-2-1-3 中断上半部与下半部介绍
- 28-2-1-4 中断上半部与下半部一些思考
- 28-3-1 第1章 中断下半部机制
- 28-3-1-1 软中断下半部机制介绍
- 28-3-1-10 tasklet下半部机制在驱动中运用
- 28-3-1-11 tasklet下半部机制测试
- 28-3-1-12 workqueue介绍
- 28-3-1-13 workqueue相关API函数接口介绍
- 28-3-1-14 workqueue执行流程介绍
- 28-3-1-15 workqueue下半部机制在驱动中运用
- 28-3-1-16 中断线程化介绍
- 28-3-1-17 中断线程化API介绍
- 28-3-1-18 中断线程什么时候触发执行
- 28-3-1-19 中断线程化在驱动中运用
- 28-3-1-2 软中断相关API函数接口介绍
- 28-3-1-20 中断下半部机制对比分析
- 28-3-1-3 软中断调用时机介绍
- 28-3-1-4 软中断处理过程分析(一)
- 28-3-1-5 软中断处理过程分析(二)
- 28-3-1-6 软中断处理过程分析(三)
- 28-3-1-7 tasklet下半部机制介绍
- 28-3-1-8 tasklet相关API函数接口介绍
- 28-3-1-9 tasklet执行流程介绍
- 28-4-1 第1章 Linux 内核时间管理和定时器
- 28-4-1-1 Linux时间中断介绍
- 28-4-1-10 Linux内核定时器使用介绍
- 28-4-1-11 按键驱动使用定时器消抖介绍
- 28-4-1-12 按键驱动使用定时器消抖实现
- 28-4-1-2 节拍率HZ介绍
- 28-4-1-3 高HZ值的优势与劣势分析
- 28-4-1-4 Linux 内核的jiffies介绍
- 28-4-1-5 Linux内核关于处理回绕问题的API介绍
- 28-4-1-6 jiffies 和 ms、us、ns 之间的转换函数介绍
- 28-4-1-7 Linux 内核短延时函数介绍
- 28-4-1-8 Linux内核定时器介绍
- 28-4-1-9 Linux内核定时器相关函数接口介绍
- 28-5-1 第1章 Linux input子系统
- 28-5-1-1 Linux input子系统介绍
- 28-5-1-10 注册input_dev对象
- 28-5-1-11 input_event上报事件
- 28-5-1-12 按键驱动上报按键码值
- 28-5-1-13 input_event结构体介绍
- 28-5-1-14 按键应用程序编写
- 28-5-1-15 Linux内核自带按键驱动介绍
- 28-5-1-16 gpio_keys.c驱动分析
- 28-5-1-17 gpio_keys驱动设备树节点属性解析
- 28-5-1-18 gpio_keys驱动设备树节点编写及测试
- 28-5-1-2 Linux 输入子系统架构介绍
- 28-5-1-3 Linux输入子系统注册input_dev介绍
- 28-5-1-4 Linux输入子系统注册input_handler介绍
- 28-5-1-5 Linux输入子系统注册input_handle介绍
- 28-5-1-6 Linux 输入子系统架构总结
- 28-5-1-7 创建input_dev对象
- 28-5-1-8 设置Event types和Event codes(一)
- 28-5-1-9 设置Event types和Event codes(二)
- 28-6-1 第1章 ADC设备驱动及misc子系统
- 28-6-1-1 硬件原理图阅读
- 28-6-1-10 misc子系统注册字符设备过程分析
- 28-6-1-11 misc子系统misc_register函数接口分析及混杂设备注册
- 28-6-1-12 解决注册混杂设备时候的段错误
- 28-6-1-13 misc子系统open函数接口分析及miscdevice的file_operations提供
- 28-6-1-14 misc子系统架构设计分析总结
- 28-6-1-15 在adc驱动中支持read函数接口
- 28-6-1-16 用户空间与内核空间数据拷贝函数接口介绍
- 28-6-1-17 在驱动中open函数获取imx6ull_adc结构体地址
- 28-6-1-18 在驱动open函数初始化adc控制器
- 28-6-1-19 在驱动中解析设备树的adc-input-channel属性
- 28-6-1-2 设备树节点clock资源提供
- 28-6-1-20 在驱动open函数开启adc转换产生中断
- 28-6-1-21 在驱动中断处理函数中读取adc采集的值
- 28-6-1-22 解决在驱动中进行休眠的bug
- 28-6-1-23 在驱动中支持ioctl函数接口
- 28-6-1-24 在应用层调用ioctl开启adc转换
- 28-6-1-25 在驱动中read函数读取adc采集的值
- 28-6-1-26 在应用程序读取adc采集的值
- 28-6-1-3 adc设备树编写
- 28-6-1-4 基于platform子系统的adc驱动编写
- 28-6-1-5 解决管脚占用的问题
- 28-6-1-6 adc驱动获取设备树的资源
- 28-6-1-7 adc驱动优化
- 28-6-1-8 在adc驱动中注册中断
- 28-6-1-9 misc子系统介绍
- 28-7-1 第1章 Linux 驱动IO模型
- 28-7-1-1 Linux IO模型介绍(一)
- 28-7-1-10 应用程序通过select函数访问adc驱动
- 28-7-1-11 什么是fasync
- 28-7-1-12 fasync在应用程序中的用法
- 28-7-1-13 fasync函数在驱动中实现
- 28-7-1-14 驱动程序发送信号通知应用程序
- 28-7-1-2 Linux IO模型介绍(二)
- 28-7-1-3 等待队列使用介绍
- 28-7-1-4 adc驱动read函数中支持阻塞访问
- 28-7-1-5 应用程序阻塞方式访问adc驱动测试
- 28-7-1-6 adc驱动read函数中支持非阻塞访问
- 28-7-1-7 select函数在内核空间实现代码分析
- 28-7-1-8 Linux驱动实现IO多路复用原理分析
- 28-7-1-9 adc驱动实现poll函数接口支持IO多路复用
- 28-8-1 第1章 Linux 驱动并发控制
- 28-8-1-1 并发与竞态中涉及的一些基础概念介绍
- 28-8-1-10 中断屏蔽在解决并发竞态的优缺点
- 28-8-1-11 原子操作介绍
- 28-8-1-12 X86和ARM提供的单核与多核原子操作介绍
- 28-8-1-13 x86 SMP架构下的原子操作介绍
- 28-8-1-14 ARM SMP架构下的原子操作介绍
- 28-8-1-15 原子操作相关的API函数接口介绍
- 28-8-1-16 原子变量API在adc驱动中运用
- 28-8-1-17 adc驱动只允许打开一次设计
- 28-8-1-2 什么是并发与竞态
- 28-8-1-3 并发产生的场景介绍(一)
- 28-8-1-4 并发产生的场景介绍(二)
- 28-8-1-5 Linux内核竞态解决方案介绍
- 28-8-1-6 中断屏蔽介绍
- 28-8-1-7 中断屏蔽相关API函数接口介绍
- 28-8-1-8 进程调度的时刻思考
- 28-8-1-9 adc驱动使用中断屏蔽
- 28-9-1 第1章 Linux 驱动并发控制
- 28-9-1-1 并发与竞态介绍
- 28-9-1-10 中断情况下使用自旋锁介绍
- 28-9-1-11 自旋锁在中断中使用
- 28-9-1-12 自旋锁死锁场景分析
- 28-9-1-13 自旋锁使用场合及注意点
- 28-9-1-14 读写锁介绍
- 28-9-1-15 读写锁API函数接口介绍
- 28-9-1-16 读写锁在驱动运用
- 28-9-1-17 读写锁编译错误解决
- 28-9-1-18 读写锁使用注意点
- 28-9-1-19 顺序锁介绍
- 28-9-1-2 linux内核抢占介绍(一)
- 28-9-1-20 顺序锁读者与写者介绍
- 28-9-1-21 顺序锁相关API介绍
- 28-9-1-22 顺序锁在驱动中使用
- 28-9-1-23 顺序锁在注意点介绍
- 28-9-1-3 linux内核抢占介绍(二)
- 28-9-1-4 自旋锁介绍
- 28-9-1-5 自旋锁实现原理介绍
- 28-9-1-6 自旋锁初始化介绍
- 28-9-1-7 获得自旋锁介绍
- 28-9-1-8 释放自旋锁介绍
- 28-9-1-9 自旋锁在驱动中使用
- 【阶段11: Linux设备驱动入门到高级进阶】第29周 嵌入式底层核心技能-Linux设备驱动高级1
- 29-1-1 第1章 I2C设备驱动子系统之控制器驱动
- 29-1-1-1 光环境传感器硬件原理图分析
- 29-1-1-10 i2c_algorithm的master_xfer分析(一)
- 29-1-1-11 i2c_algorithm的master_xfer分析(二)
- 29-1-1-12 i2c_imx_start函数分析
- 29-1-1-13 i2c_imx_read函数分析
- 29-1-1-14 i2c_imx_write函数分析
- 29-1-1-15 i2c_imx_stop函数分析
- 29-1-1-16 i2c_add_numbered_adapter函数接分析
- 29-1-1-17 i2c_register_adapter函数分析
- 29-1-1-18 i2c_new_device函数分析
- 29-1-1-19 device_register函数分析
- 29-1-1-2 I2C控制器设备树节点分析(一)
- 29-1-1-20 I2C控制器驱动总结
- 29-1-1-3 I2C控制器设备树节点分析(二)
- 29-1-1-4 I2C控制器驱动平台驱动注册分析
- 29-1-1-5 I2C控制器驱动probe函数分析(一)
- 29-1-1-6 I2C控制器驱动probe函数分析(二)
- 29-1-1-7 I2C控制器驱动remove函数分析
- 29-1-1-8 I2C子系统架构设计思想介绍
- 29-1-1-9 I2C控制器驱动的i2c_algorithm介绍
- 29-10-1 第1章 Linux RFID RC522驱动
- 29-10-1-1 RFID概述
- 29-10-1-10 MFRC522 SPI接口通信时序介绍
- 29-10-1-11 MFRC522 SPI接口读写内部寄存器
- 29-10-1-12 RC522 SPI设备树节点添加
- 29-10-1-13 RC522驱动解析设备树复位管脚
- 29-10-1-14 RC522驱动设计结构体描述设备记录信息
- 29-10-1-15 RC522驱动open函数实现RC522硬件复位
- 29-10-1-16 RC522驱动write函数实现写寄存器操作
- 29-10-1-17 RC522驱动read函数实现读寄存器操作
- 29-10-1-18 RC522驱动寄存器地址读写特殊处理
- 29-10-1-19 应用程序读写RC522内部寄存器值(一)
- 29-10-1-2 RFID分类介绍
- 29-10-1-20 应用程序读写RC522内部寄存器值(二)
- 29-10-1-21 RC522驱动使用regmap子系统对寄存器读写(一)
- 29-10-1-22 RC522驱动使用regmap子系统对寄存器读写(二)
- 29-10-1-23 RC522驱动设置SPI总线工作模式
- 29-10-1-3 RFID的三个主要工作频段
- 29-10-1-4 NFC技术介绍
- 29-10-1-5 RFID工作原理
- 29-10-1-6 卡介绍
- 29-10-1-7 MFRC522介绍
- 29-10-1-8 MFRC522内部结构介绍
- 29-10-1-9 MFRC522总线接口介绍
- 29-11-1 第1章 Linux RFID RC522应用程序
- 29-11-1-1 什么是M1卡
- 29-11-1-10 ISO14443协议选卡介绍
- 29-11-1-11 ISO1443协议通信例子说明
- 29-11-1-12 RC522厂家提供的代码移植
- 29-11-1-13 RC522读写寄存器函数接口实现
- 29-11-1-14 RC522寻卡函数接口实现
- 29-11-1-15 RC522寻卡函数接口测试
- 29-11-1-16 RC522防冲突函数接口实现
- 29-11-1-17 RC522选卡函数接口实现
- 29-11-1-18 M1卡存储结构介绍
- 29-11-1-19 M1卡的访问控制介绍
- 29-11-1-2 M1卡工作原理及内部结构
- 29-11-1-20 M1卡密钥验证(一)
- 29-11-1-21 M1卡密钥验证(二)
- 29-11-1-22 M1卡密钥验证(三)
- 29-11-1-23 M1卡数据块读取(一)
- 29-11-1-24 M1卡数据块读取(二)
- 29-11-1-25 M1卡数据块写入(一)
- 29-11-1-26 M1卡数据块写入(二)
- 29-11-1-27 M1卡充值扣款介绍
- 29-11-1-28 M1卡充值扣款数据格式初始化
- 29-11-1-29 M1卡充值功能实现(一)
- 29-11-1-3 M1 射频卡与读写器的通讯
- 29-11-1-30 M1卡充值功能实现(二)
- 29-11-1-31 M1卡扣款功能实现
- 29-11-1-4 ISO14443协议介绍
- 29-11-1-5 ISO14443协议帧格式介绍(一)
- 29-11-1-6 ISO14443协议帧格式介绍(二)
- 29-11-1-7 ISO14443协议帧格式介绍(三)
- 29-11-1-8 ISO14443协议寻卡介绍
- 29-11-1-9 ISO14443协议防冲突介绍
- 29-2-1 第1章 I2C设备驱动子系统之i2c-dev
- 29-2-1-1 I2C子系统架构介绍
- 29-2-1-10 基于i2c-dev驱动编写应用程序读寄存器函数接口实现
- 29-2-1-11 基于i2c-dev驱动编写应用程序读取传感器ID
- 29-2-1-12 解决基于i2c-dev驱动编写应用程序读取传感器ID无效参数错误
- 29-2-1-13 基于i2c-dev驱动编写应用程序读取接近传感器数据
- 29-2-1-14 基于i2c-dev驱动编写应用程序读取光线传感器数据
- 29-2-1-15 i2c-dev驱动的ioctl函数接口分析
- 29-2-1-16 i2c_transfer函数接口分析
- 29-2-1-2 i2c-dev驱动的字符设备注册与注销
- 29-2-1-3 i2c-dev驱动设备创建与销毁
- 29-2-1-4 i2c-dev驱动打开函数接口
- 29-2-1-5 i2c-dev驱动总结
- 29-2-1-6 i2c-dev驱动和i2c控制器驱动确认是否正常工作
- 29-2-1-7 基于i2c-dev驱动编写应用程序编程思路介绍
- 29-2-1-8 基于i2c-dev驱动编写应用程序框架
- 29-2-1-9 基于i2c-dev驱动编写应用程序写寄存器函数接口实现
- 29-3-1 第1章 I2C设备驱动子系统之从设备驱动
- 29-3-1-1 I2C子系统架构分析
- 29-3-1-10 i2c从设备驱动PS传感器数据读取
- 29-3-1-11 i2c从设备驱动light传感器数据读取
- 29-3-1-12 i2c从设备驱动的应用程序编写
- 29-3-1-13 i2c从设备驱动的应用程序bug解决
- 29-3-1-2 I2C总线上从设备注册
- 29-3-1-3 I2C总线上i2c_driver注册
- 29-3-1-4 I2C总线上设备与驱动匹配介绍
- 29-3-1-5 i2c从设备驱动字符设备注册
- 29-3-1-6 i2c从设备驱动自动创建设备文件
- 29-3-1-7 i2c从设备驱动ioctl命令设计
- 29-3-1-8 i2c从设备驱动传感器寄存器读写函数接口实现
- 29-3-1-9 i2c从设备驱动传感器ID读取
- 29-4-1 第1章 Linux IIO子系统
- 29-4-1-1 什么是IIO子系统
- 29-4-1-10 IIO通道多个通道信息指定介绍
- 29-4-1-11 IIO通道一个通道有多个数据信息指定介绍
- 29-4-1-12 在驱动中指定IIO通道信息
- 29-4-1-13 IIO设备的通道操作函数接口介绍
- 29-4-1-14 在驱动中实现IIO设备的通道测试函数接口
- 29-4-1-15 IIO设备注册与注销
- 29-4-1-16 测试驱动中实现IIO设备的通道读写函数接口
- 29-4-1-17 在驱动中读取接近传感器数据
- 29-4-1-18 在驱动中优化读取光照强度函数接口
- 29-4-1-19 在驱动中读取光照强度传感器数据
- 29-4-1-2 IIO子系统架构分析
- 29-4-1-20 应用程序读取传感器采集的数据
- 29-4-1-21 关于应用程序每次都要打开后读取数据说明
- 29-4-1-3 IIO 子系统各模块介绍
- 29-4-1-4 iio_dev设备创建
- 29-4-1-5 iio_dev结构体介绍
- 29-4-1-6 iio_dev结构体初始化
- 29-4-1-7 什么是IIO通道
- 29-4-1-8 IIO通道描述的结构体
- 29-4-1-9 IIO通道单个通道信息指定介绍
- 29-5-1 第1章 Linux regmap子系统
- 29-5-1-1 Linux regmap子系统介
- 29-5-1-10 在驱动中使用regmap实现寄存器读写
- 29-5-1-11 基于regmap子系统的驱动在板子上进行验证
- 29-5-1-2 regmap子系统架构介绍
- 29-5-1-3 regmap子系统优点
- 29-5-1-4 配置regmap信息介绍
- 29-5-1-5 在驱动中配置regmap信息
- 29-5-1-6 regmap子系统cache类型介绍
- 29-5-1-7 初始化regmap
- 29-5-1-8 regmap子系统读写寄存器函数接口介绍
- 29-5-1-9 regmap子系统使用例子讲解
- 29-6-1 第1章 SPI设备驱动子系统之控制器驱动
- 29-6-1-1 硬件原理图阅读
- 29-6-1-10 SPI控制器驱动probe函数分析(二)
- 29-6-1-11 SPI控制器驱动probe函数分析(三)
- 29-6-1-12 SPI控制器驱动probe函数分析(四)
- 29-6-1-13 SPI控制器驱动remove函数分析
- 29-6-1-14 SPI控制器驱动通信接口使用介绍
- 29-6-1-15 SPI控制器驱动通信接口分析
- 29-6-1-16 在Linux内核里面添加SPI控制器设备过程分析
- 29-6-1-17 SPI控制器驱动总结
- 29-6-1-2 SPI控制器设备树节点分析
- 29-6-1-3 SPI控制器设备树节点修改
- 29-6-1-4 软件模拟SPI总线设备树节点介绍
- 29-6-1-5 确认SPI控制器驱动已经编译进Linux内核
- 29-6-1-6 SPI控制器设备与SPI控制器驱动匹配确认
- 29-6-1-7 SPI控制器驱动分析设备与驱动匹配失败原因
- 29-6-1-8 解决修改完SPI控制器设备树节点后网卡设备不能正常工作
- 29-6-1-9 SPI控制器驱动probe函数分析(一)
- 29-7-1 第1章 SPI设备驱动子系统之spidev
- 29-7-1-1 spi子系统架构介绍
- 29-7-1-10 spidev字符设备的ioctl函数SPI数据传输
- 29-7-1-11 应用程序给spidev驱动传递数据做回环测试
- 29-7-1-12 SPI硬件回环程序在板子上面测试
- 29-7-1-13 spidev驱动的spidev_message函数分析
- 29-7-1-14 spi_transfer和spi_message结构体介绍
- 29-7-1-15 spidev驱动的spidev_sync函数分析
- 29-7-1-2 spidev驱动的spi_driver注册与注销
- 29-7-1-3 spi从设备的设备树节点添加
- 29-7-1-4 spi_driver的probe和remove函数
- 29-7-1-5 spidev的字符设备的打开与关闭
- 29-7-1-6 应用程序访问spidev驱动的打开和关闭函数
- 29-7-1-7 spidev字符设备的ioctl函数SPI通信参数获取
- 29-7-1-8 解决SPI通信参数获取错误
- 29-7-1-9 spidev字符设备的ioctl函数SPI通信参数设置
- 29-8-1 第1章 SPI设备驱动子系统之从设备驱动
- 29-8-1-1 spi子系统架构介绍
- 29-8-1-2 spi从设备注册
- 29-8-1-3 spi_driver注册
- 29-8-1-4 spi总线上设备与驱动匹配分析
- 29-8-1-5 在驱动中注册混杂设备
- 29-8-1-6 spi_message使用方式介绍
- 29-8-1-7 spi_message在驱动中使用(一)
- 29-8-1-8 spi_message在驱动中使用(二)
- 29-8-1-9 应用程序访问底层驱动测试SPI硬件回环数据
- 29-9-1 第1章 spi master的消息队列机制
- 29-9-1-1 同步与异步方式介绍
- 29-9-1-10 spi异步方式实现思路介绍
- 29-9-1-2 spi_sync实现原理分析(一)
- 29-9-1-3 spi_sync实现原理分析(二)
- 29-9-1-4 spi_sync实现原理分析(三)
- 29-9-1-5 spi_async实现原理分析(一)
- 29-9-1-6 spi_async实现原理分析(二)
- 29-9-1-7 spi控制器驱动支持消息队列机制(一)
- 29-9-1-8 spi控制器驱动支持消息队列机制(二)
- 29-9-1-9 spi_master的消息队列机制总结
- 【阶段11: Linux设备驱动入门到高级进阶】第30周 嵌入式底层核心技能-Linux设备驱动高级2
- 30-1-1 第1章 Linux LCD驱动(一)
- 30-1-1-1 LCD屏的工作原理
- 30-1-1-10 framebuffer设备打开
- 30-1-1-11 获取LCD屏固定参数信息
- 30-1-1-12 获取LCD屏可变参数信息
- 30-1-1-13 内核空间内存映射到用户空间
- 30-1-1-14 在LCD屏上绘制矩形
- 30-1-1-2 LCD屏RGB接口时序介绍
- 30-1-1-3 Linux 内核LCD设备树节点编写介绍
- 30-1-1-4 实际LCD屏设备树节点编写(一)
- 30-1-1-5 实际LCD屏设备树节点编写(二)
- 30-1-1-6 Linux内核添加厂家的LCD驱动
- 30-1-1-7 framebuffer子系统架构介绍
- 30-1-1-8 fbmem.c驱动设计思想介绍
- 30-1-1-9 LCD应用程序测试
- 30-10-1 第1章 Linux 网络子系统之网卡控制器驱动(二)
- 30-10-1-1 网卡控制器驱动probe函数创建net_device对象
- 30-10-1-10 mdio总线注册(三)
- 30-10-1-11 网卡控制器驱动remove函数介绍
- 30-10-1-12 网卡控制器驱动发包流程分析
- 30-10-1-13 Linux 网卡驱动收包机制之传统方式接收
- 30-10-1-14 Linux 网卡驱动收包机制之NAPI方式接收(一)
- 30-10-1-15 Linux 网卡驱动收包机制之NAPI方式接收(二)
- 30-10-1-16 Linux内核NAPI相关API介绍
- 30-10-1-17 网卡控制器驱动收包流程分析(一)
- 30-10-1-18 网卡控制器驱动收包流程分析(二)
- 30-10-1-19 网卡控制器驱动收包流程分析(三)
- 30-10-1-2 网卡控制器驱动probe函数获取资源解及析设备树属性
- 30-10-1-20 网卡控制器驱动open函数分析
- 30-10-1-21 网卡控制器驱动stop函数分析
- 30-10-1-3 网卡控制器驱动probe函数获取时钟资源及使能时钟
- 30-10-1-4 网卡控制器驱动probe函数复位phy设备
- 30-10-1-5 网卡控制器驱动probe函数初始化enet
- 30-10-1-6 网卡控制器驱动probe函数获取中断资源及中断注册
- 30-10-1-7 网卡控制器驱动probe函数net_device注册
- 30-10-1-8 mdio总线注册(一)
- 30-10-1-9 mdio总线注册(二)
- 30-11-1 第1章 Linux 网络子系统之phy驱动
- 30-11-1-1 phy寄存器介绍(一)
- 30-11-1-10 mdio bus上面注册phy_driver介绍(一)
- 30-11-1-11 mdio bus上面注册phy_driver介绍(二)
- 30-11-1-12 PHY的12种状态介绍
- 30-11-1-13 PHY状态机开启过程分析
- 30-11-1-14 PHY自动协商开启过程分析
- 30-11-1-15 PHY状态变化过程总结
- 30-11-1-16 Linux网络子系统架构介绍
- 30-11-1-17 去掉Linux内核里面的phy驱动
- 30-11-1-18 Linux phy_driver注册(一)
- 30-11-1-19 Linux phy_driver注册(二)
- 30-11-1-2 phy寄存器介绍(二)
- 30-11-1-20 Linux phy_driver注册(三)
- 30-11-1-3 phy寄存器Register 0h – Basic Control介绍
- 30-11-1-4 phy寄存器Register 1h – Basic Status介绍
- 30-11-1-5 phy寄存器-PHY Identifier Register
- 30-11-1-6 Linux mdio总线介绍
- 30-11-1-7 Linux mdio bus定义及匹配规则
- 30-11-1-8 mdio bus上面注册phy_device介绍(一)
- 30-11-1-9 mdio bus上面注册phy_device介绍(二)
- 30-12-1 第1章 Linux 块设备驱动之ramdisk
- 30-12-1-1 块设备vs字符设备介绍
- 30-12-1-10 gendisk介绍
- 30-12-1-11 在块设备驱动中添加gendisk
- 30-12-1-12 块设备操作函数接口介绍
- 30-12-1-13 在块设备驱动中指定 gendisk操作函数接口
- 30-12-1-14 在块设备驱动中初始化 gendisk的请求队列
- 30-12-1-15 在块设备驱动中处理请求队列中的请求(一)
- 30-12-1-16 在块设备驱动中处理请求队列中的请求(二)
- 30-12-1-17 在块设备驱动中处理请求队列中的请求(三)
- 30-12-1-18 在块设备驱动使用(一)
- 30-12-1-19 在块设备驱动使用(二)
- 30-12-1-2 硬盘发展历史介绍
- 30-12-1-20 块设备驱动总结
- 30-12-1-3 硬盘的磁头、磁道、柱面、扇区介绍
- 30-12-1-4 操作系统对存储设备管理单位介绍
- 30-12-1-5 Linux块设备子系统架构设计介绍(一)
- 30-12-1-6 Linux块设备子系统架构设计介绍(二)
- 30-12-1-7 Linux块设备子系统架构设计介绍(三)
- 30-12-1-8 Linux 块设备IO调度器介绍
- 30-12-1-9 块设备的注册与注销
- 30-13-1 第1章 Linux 块设备驱动之Flash存储器(一)
- 30-13-1-1 Flash 存储器介绍
- 30-13-1-10 SDIO数据线传输数据格式介绍
- 30-13-1-11 SDIO接口命令格式介绍
- 30-13-1-12 SDIO命令响应介绍
- 30-13-1-2 Nor Flash 和 Nand Flash介绍
- 30-13-1-3 Nor Flash工作原理介绍
- 30-13-1-4 Nand Flash工作原理介绍(一)
- 30-13-1-5 Nand Flash工作原理介绍(二)
- 30-13-1-6 MMC卡介绍
- 30-13-1-7 SD卡介绍
- 30-13-1-8 SDIO接口介绍
- 30-13-1-9 SDIO接口通信协议介绍
- 30-14-1 第1章 Linux 块设备驱动之Flash存储器(二)
- 30-14-1-1 SD卡命令介绍
- 30-14-1-10 eMMC总线协议速率模式介绍
- 30-14-1-11 eMMC总线协议通信模型介绍(一)
- 30-14-1-12 eMMC总线协议通信模型介绍(二)
- 30-14-1-13 eMMC命令与应答介绍(一)
- 30-14-1-14 eMMC命令与应答介绍(二)
- 30-14-1-15 eMMC工作模式介绍
- 30-14-1-16 eMMC设备识别模式分析
- 30-14-1-17 eMMC数据传输模式介绍
- 30-14-1-18 eMMC数据传输模式Read Data介绍
- 30-14-1-19 eMMC数据传输模式Write Data介绍
- 30-14-1-2 SD卡的操作模式介绍
- 30-14-1-3 SD卡识别过程分析(一)
- 30-14-1-4 SD卡识别过程分析(二)
- 30-14-1-5 SD卡数据传输过程分析
- 30-14-1-6 eMMC存储器介绍
- 30-14-1-7 eMMC存储器物理分区介绍
- 30-14-1-8 eMMC存储器Flash控制器及通信接口介绍
- 30-14-1-9 eMMC存储器内部寄存器介绍
- 30-15-1 第1章 Linux 块设备驱动之MMC子系统
- 30-15-1-1 Linux MMC子系统架构介绍(一)
- 30-15-1-10 MMC子系统块设备读写总结
- 30-15-1-2 Linux MMC子系统架构介绍(二)
- 30-15-1-3 Linux MMC子系统架构介绍(三)
- 30-15-1-4 MMC Core注册MMC Bus分析
- 30-15-1-5 MMC Block注册mmc driver及添加磁盘设备
- 30-15-1-6 Linux系统实现实现块设备的驱动框架回顾
- 30-15-1-7 MMC Block实现块设备驱动过程分析
- 30-15-1-8 MMC子系统块设备读写分析(一)
- 30-15-1-9 MMC子系统块设备读写分析(二)
- 30-16-1 第1章 Linux 块设备驱动之emmc驱动
- 30-16-1-1 Linux MMC子系统架构设计
- 30-16-1-10 mmc host处理mmc_request分析
- 30-16-1-11 MMC驱动子系统总结
- 30-16-1-2 emmc存储器硬件原理图及datasheet手册阅读
- 30-16-1-3 usdhc设备树节点分析
- 30-16-1-4 usdhc设备树节点修改
- 30-16-1-5 mmc host控制器驱动probe函数创建sdhci_host对象分析
- 30-16-1-6 mmc host控制器驱动probe函数时钟资源、pinctrl设置、设备树节点属性解析分析
- 30-16-1-7 mmc host控制器驱动probe函数sdhci_host对象添加分析
- 30-16-1-8 mmc_rescan扫描mmc设备分析
- 30-16-1-9 mmc card注册到mmc bus分析
- 30-2-1 第1章 Linux LCD驱动(二)
- 30-2-1-1 LCD驱动platform子系统
- 30-2-1-10 解决解析lcd设备树时序参数失败的bug
- 30-2-1-11 使用of_node_put释放节点
- 30-2-1-12 framebuffer内存分配介绍
- 30-2-1-13 在LCD驱动中分配framebuffer内存
- 30-2-1-14 cache与write buffer介绍
- 30-2-1-15 cache与write buffer总结
- 30-2-1-16 初始化fb_info结构体的固定参数信息
- 30-2-1-17 初始化fb_info结构体的可变参数信息
- 30-2-1-18 framebuffer操作函数接口fb_ops介绍
- 30-2-1-19 初始化fb_info结构体的操作函数接口
- 30-2-1-2 解决LCD驱动与设备匹配不上的问题
- 30-2-1-20 framebuffer设备注册
- 30-2-1-21 解决framebuffer设备注册的bug
- 30-2-1-22 LCD驱动remove函数实现
- 30-2-1-23 LCD像素时钟初始化
- 30-2-1-24 解决LCD像素时钟初始化的bug
- 30-2-1-25 LCD控制器初始化
- 30-2-1-26 LCD屏时序参数设置
- 30-2-1-27 LCD帧缓存地址设置及控制器使能
- 30-2-1-28 解决LCD驱动加载卡死情况
- 30-2-1-29 用应用程序测试LCD驱动
- 30-2-1-3 Linux framebuffer子系统架构介绍
- 30-2-1-30 framebuffer操作函数接口fb_check_var实现
- 30-2-1-31 framebuffer操作函数接口fb_set_par实现(一)
- 30-2-1-32 framebuffer操作函数接口fb_set_par实现(二)
- 30-2-1-33 framebuffer操作函数接口fb_setcolreg实现
- 30-2-1-34 framebuffer操作函数接口fb_blank实现
- 30-2-1-35 Qt应用程序测试LCD驱动(一)
- 30-2-1-36 Qt应用程序测试LCD驱动(二)
- 30-2-1-4 struct fb_info结构体及使用方法介绍
- 30-2-1-5 在probe函数里面分配fb_info结构体内存
- 30-2-1-6 在probe函数里面获取寄存器资源
- 30-2-1-7 在probe函数里面获取时钟资源
- 30-2-1-8 解析LCD设备树时序参数介绍
- 30-2-1-9 在probe函数里面解析lcd设备树时序参数
- 30-3-1 第1章 Linux 触摸屏驱动
- 30-3-1-1 硬件原理图及设备树节点
- 30-3-1-10 input_dev创建及初始化
- 30-3-1-11 初始化上报的事件类型及按键类型
- 30-3-1-12 设置单点触摸、多点触摸参数
- 30-3-1-13 注册输入设备
- 30-3-1-14 注册输中断
- 30-3-1-15 解决中断一直触发问题
- 30-3-1-16 触摸坐标读取(一)
- 30-3-1-17 触摸坐标读取(二)
- 30-3-1-18 上报坐标值(一)
- 30-3-1-19 上报坐标值(二)
- 30-3-1-2 i2c子系统介绍
- 30-3-1-20 触摸屏驱动在tslib上测试
- 30-3-1-3 i2c从设备驱动注册
- 30-3-1-4 设备树节点与i2c从设备驱动匹配
- 30-3-1-5 gt911设备结构体设计及内存分配
- 30-3-1-6 gt解析设备树节点的gpio属性
- 30-3-1-7 gt911设备初始化
- 30-3-1-8 gt911内部寄存器读写函数接口封装
- 30-3-1-9 输入子系统架构介绍
- 30-4-1 第1章 Linux Camera应用程序
- 30-4-1-1 V4L2简介
- 30-4-1-10 申请摄像头缓冲区
- 30-4-1-11 映射内核缓冲区介绍
- 30-4-1-12 映射摄像头缓冲区
- 30-4-1-13 开启摄像头采集数据
- 30-4-1-14 输入与输出队列介绍
- 30-4-1-15 摄像头输出队列采集数据分析
- 30-4-1-16 读取摄像头采集的数据
- 30-4-1-17 将采集的摄像头数据写入文件
- 30-4-1-18 yuv图片显示
- 30-4-1-19 mjpeg格式数据采集
- 30-4-1-2 在虚拟机中识别USB摄像头
- 30-4-1-20 取消映射关闭摄像头
- 30-4-1-3 打开摄像头设备
- 30-4-1-4 查询摄像头参数介绍
- 30-4-1-5 获取设想头支持的像素格式数据
- 30-4-1-6 查询摄像头支持的能力
- 30-4-1-7 设置摄像头采集数据格式介绍
- 30-4-1-8 设置摄像头支持的数据格式
- 30-4-1-9 申请内核缓冲区介绍
- 30-5-1 第1章 v4l2子系统之Camera控制器驱动
- 30-5-1-1 V4L2子系统架构介绍
- 30-5-1-10 Camera控制器驱动probe函数注册v4l2_async_notifier(二)
- 30-5-1-11 Camera控制器驱动probe函数注册v4l2_async_notifier(三)
- 30-5-1-12 Camera控制器驱动probe函数注册v4l2_async_notifier(四)
- 30-5-1-13 应用层访问驱动层函数调用关系file_operations与v4l2_file_operations
- 30-5-1-14 应用层访问驱动层函数调用关系open函数调用过程分析
- 30-5-1-15 应用层访问驱动层函数调用关系ioctl函数调用过程分析(一)
- 30-5-1-16 应用层访问驱动层函数调用关系ioctl函数调用过程分析(二)
- 30-5-1-17 应用层访问驱动层函数调用关系mmap函数调用过程分析
- 30-5-1-18 应用层访问驱动层函数调用关系poll函数调用过程分析
- 30-5-1-19 v4l2子系统缓存管理
- 30-5-1-2 Camera控制器设备树节点分析(一)
- 30-5-1-3 Camera控制器设备树节点分析(二)
- 30-5-1-4 Camera控制器驱动与设备树节点匹配
- 30-5-1-5 Camera控制器驱动probe函数内存分配及资源获取
- 30-5-1-6 Camera控制器驱动probe函数注册v4l2_device
- 30-5-1-7 Camera控制器驱动probe函数注册video_device(一)
- 30-5-1-8 Camera控制器驱动probe函数注册video_device(二)
- 30-5-1-9 Camera控制器驱动probe函数注册v4l2_async_notifier(一)
- 30-6-1 第1章 Linux v4l2子系统之Camera Sensor驱动
- 30-6-1-1 V4L2子系统架构介绍
- 30-6-1-10 v4l2_async_register_subdev函数注册子设备(二)
- 30-6-1-11 Linux驱动模块段错误调试(一)
- 30-6-1-12 Linux驱动模块段错误调试(二)
- 30-6-1-13 解决卸载模块的时候产生段错误(一)
- 30-6-1-14 解决卸载模块的时候产生段错误(二)
- 30-6-1-15 Camera product ID获取(一)
- 30-6-1-16 Camera product ID获取(二)
- 30-6-1-17 Camera product ID获取(三)
- 30-6-1-18 v4l2_subdev_core_ops操作函数实现
- 30-6-1-19 v4l2_subdev_video_ops操作函数提供思路介绍
- 30-6-1-2 ov2640硬件原理图介绍
- 30-6-1-20 v4l2_subdev_video_ops操作函数enum_mbus_fmt实现(一)
- 30-6-1-21 v4l2_subdev_video_ops操作函数enum_mbus_fmt实现(二)
- 30-6-1-22 v4l2_subdev_video_ops操作函数s_mbus_fmt实现(一)
- 30-6-1-23 v4l2_subdev_video_ops操作函数s_mbus_fmt实现(二)
- 30-6-1-24 v4l2_subdev_video_ops操作函数s_mbus_fmt实现(三)
- 30-6-1-25 v4l2_subdev_video_ops操作函数s_mbus_fmt实现(四)
- 30-6-1-26 v4l2_subdev_video_ops操作函数s_mbus_fmt实现(五)
- 30-6-1-27 v4l2_subdev_video_ops操作函数g_mbus_fmt实现(一)
- 30-6-1-28 v4l2_subdev_video_ops操作函数g_mbus_fmt实现(二)
- 30-6-1-29 v4l2_subdev_video_ops操作函数s_stream实现(一)
- 30-6-1-3 ov2640设备树节点添加(一)
- 30-6-1-30 v4l2_subdev_video_ops操作函数s_stream实现(二)
- 30-6-1-31 v4l2_subdev_video_ops操作函数其他实现
- 30-6-1-32 ov2640摄像头驱动程序调试(一)
- 30-6-1-33 ov2640摄像头驱动程序调试(二)
- 30-6-1-4 ov2640设备树节点添加(二)
- 30-6-1-5 i2c-driver注册
- 30-6-1-6 Camera Sensor结构体设计及内存分配
- 30-6-1-7 解析设备树gpio管脚资源
- 30-6-1-8 v4l2_subdev结构体初始化
- 30-6-1-9 v4l2_async_register_subdev函数注册子设备(一)
- 30-7-1 第1章 mjpeg-streamer移植及测试摄像头驱动
- 30-7-1-1 libjpeg库移植
- 30-7-1-2 mjpeg-streamer移植
- 30-7-1-3 拷贝mjpeg-streamer到rootfs
- 30-7-1-4 运行mjpeg-streamer程序
- 30-7-1-5 测试摄像头驱动
- 30-8-1 第1章 Linux 网络子系统之虚拟网卡驱动
- 30-8-1-1 Linux 网络子系统介绍(一)
- 30-8-1-10 net_device结构体介绍
- 30-8-1-11 网卡收包与发包流程介绍
- 30-8-1-12 虚拟网卡驱动编写思路介绍
- 30-8-1-13 虚拟网卡设备注册(一)
- 30-8-1-14 虚拟网卡设备注册(二)
- 30-8-1-15 虚拟网卡设备注册(三)
- 30-8-1-16 虚拟网卡设备发包函数编程思路介绍
- 30-8-1-17 虚拟网卡设备发包函数实现(一)
- 30-8-1-18 虚拟网卡设备发包函数实现(二)
- 30-8-1-19 虚拟网卡设备接收包函数编程思路介绍
- 30-8-1-2 Linux 网络子系统介绍(二)
- 30-8-1-20 虚拟网卡设备收包函数实现(一)
- 30-8-1-21 虚拟网卡设备收包函数实现(二)
- 30-8-1-22 虚拟网卡设备收包函数实现(三)
- 30-8-1-23 虚拟网卡设备收包函数实现(四)
- 30-8-1-24 虚拟网卡设备收包函数实现(五)
- 30-8-1-25 虚拟网卡打开和关闭函数实现
- 30-8-1-26 虚拟网卡驱动测试(一)
- 30-8-1-27 虚拟网卡驱动测试(二)
- 30-8-1-3 sk_buff结构体介绍(一)
- 30-8-1-4 sk_buff结构体介绍(二)
- 30-8-1-5 sk_buff数据包的形成之缓存分配
- 30-8-1-6 sk_buff数据包的形成之预留空间
- 30-8-1-7 sk_buff数据包的形成之添加数据
- 30-8-1-8 sk_buff数据包的形成之添加协议头
- 30-8-1-9 sk_buff结构体使用总结
- 30-9-1 第1章 Linux 网络子系统之网卡控制器驱动(一)
- 30-9-1-1 网卡介绍
- 30-9-1-10 PHY芯片介绍及硬件原理图(二)
- 30-9-1-11 PHY芯片介绍及硬件原理图(三)
- 30-9-1-12 以太网控制器设备树节点介绍
- 30-9-1-13 以太网控制器设备树节点修改
- 30-9-1-14 以太网控制器驱动确认
- 30-9-1-2 嵌入式网络硬件方案
- 30-9-1-3 什么是 MAC
- 30-9-1-4 什么是 phy
- 30-9-1-5 MAC与PHY通信接口介绍
- 30-9-1-6 什么是MII
- 30-9-1-7 什么是SMI
- 30-9-1-8 其他MII接口介绍
- 30-9-1-9 PHY芯片介绍及硬件原理图(一)
- 【阶段12:智能家具实战-嵌入式企业级项目】第31周 智能家居项目实战之Linux智能网关端开发
- 31-1-1 第1章 智能家居设备端需求分析
- 31-1-1-1 智能家居设备端需求介绍
- 31-10-1 第1章 Linux下snowboy实现静音检测及语音唤醒
- 31-10-1-1 snowboy介绍
- 31-10-1-10 AISpeechRecognition类中start方法实现
- 31-10-1-11 AISpeechRecognition类中recordAudioThreadRun方法实现
- 31-10-1-12 AISpeechRecognition类中recordAudioThreadRun方法测试
- 31-10-1-13 AISpeechRecognition类中实现热词识别功能
- 31-10-1-14 AISpeechRecognition类中热词识别功能测试
- 31-10-1-15 AISpeechRecognition类中热词识别后播放音频实现
- 31-10-1-16 AISpeechRecognition类代码优化
- 31-10-1-2 在自己工程中添加snowboy
- 31-10-1-3 snowboy静音检测API介绍
- 31-10-1-4 snowboy静音检测API使用
- 31-10-1-5 snowboy静音检测API测试程序编译
- 31-10-1-6 snowboy热词检测API介绍
- 31-10-1-7 snowboy热词检测API使用
- 31-10-1-8 snowboy热词训练介绍
- 31-10-1-9 snowboy热词使用
- 31-11-1 第1章 Linux下百度API实现语音识别
- 31-11-1-1 百度AI开发平台介绍
- 31-11-1-10 libjsoncpp使用介绍
- 31-11-1-11 libjsoncpp解析json数据获取token
- 31-11-1-12 解决json库链接错误的问题
- 31-11-1-13 BaiduAiAsr类中实现asrAudioData函数接口
- 31-11-1-14 BaiduAiAsr类中asrAudioData函数接口测试
- 31-11-1-15 libjsoncpp解析json数据获取result(一)
- 31-11-1-16 libjsoncpp解析json数据获取result(二)
- 31-11-1-17 AISpeechRecognition类中集成百度AI语音识别功能
- 31-11-1-18 解决alsa音频录制出现错误的bug
- 31-11-1-19 解决播放语音产生的回应被再次识别
- 31-11-1-2 百度AI开发平台应用介绍
- 31-11-1-20 在唤醒状态下才进行语音识别
- 31-11-1-21 通过定时器优化唤醒状态
- 31-11-1-3 百度API开放平台demo程序测试使用(一)
- 31-11-1-4 百度API开放平台demo程序测试使用(二)
- 31-11-1-5 百度API开放平台demo程序阅读(一)
- 31-11-1-6 百度API开放平台demo程序阅读(二)
- 31-11-1-7 百度API开放平台获取AccessToken介绍
- 31-11-1-8 BaiduAiAsr类中实现getAcessToken函数接口
- 31-11-1-9 BaiduAiAsr类中getAcessToken函数接口测试
- 31-12-1 第1章 Modbus协议
- 31-12-1-1 ModBus介绍
- 31-12-1-10 仿ModBus协议的录指纹通信过程数据包分析
- 31-12-1-11 不定长数据包接收过程分析
- 31-12-1-2 ModBus RTU协议格式介绍
- 31-12-1-3 ModBus通信单播和广播介绍
- 31-12-1-4 ModBus通信帧间隔时间介绍
- 31-12-1-5 ModBus数据校验介绍
- 31-12-1-6 ModBus RTU通信操作对象介绍
- 31-12-1-7 ModBus RTU读1路或多路开关量线圈输出状态
- 31-12-1-8 ModBus RTU读多路寄存器
- 31-12-1-9 仿ModBus协议制定自有协议
- 31-13-1 第1章 设备端通信协议介绍
- 31-13-1-1 设备端通信介绍
- 31-13-1-2 设备端通信协议格式介绍
- 31-13-1-3 设备端门锁设备通信数据格式介绍
- 31-13-1-4 设备端电器设备通信数据格式介绍
- 31-13-1-5 设备端传感器设备通信数据格式介绍
- 31-13-1-6 设备端进行嗅探设备通信数据格式介绍
- 31-14-1 第1章 设备端通信Linux端实现
- 31-14-1-1 vscode工程添加SmartDeviceProtocol类
- 31-14-1-10 SmartDeviceProtocol设备通信协议测试(三)
- 31-14-1-11 SmartDeviceManager类添加
- 31-14-1-12 SmartDeviceManager类中openDoorlock函数接口实现(一)
- 31-14-1-13 SmartDeviceManager类中openDoorlock函数接口实现(二)
- 31-14-1-14 SmartDeviceManager类中openDoorlock函数接口实现(三)
- 31-14-1-15 SmartDeviceManager类中openDoorlock函数接口实现(四)
- 31-14-1-16 SmartDeviceManager类中closeDoorlock函数接口和queryDoorlock函数接口实现
- 31-14-1-17 SmartDeviceManager类的测试程序添加
- 31-14-1-18 ubuntu安装虚拟串口调试
- 31-14-1-19 SmartDeviceManager类的测试程通过虚拟串口测试(一)
- 31-14-1-2 SmartDeviceProtocol协议字段添加(一)
- 31-14-1-20 SmartDeviceManager类的测试程通过虚拟串口测试(二)
- 31-14-1-21 SmartDeviceManager类中电器设备函数接口实现
- 31-14-1-22 SmartDeviceManager类中传感器设备函数接口实现
- 31-14-1-23 SmartDeviceManager类中嗅探设备函数接口实现
- 31-14-1-24 SmartDeviceManager类中传感器函数接口测试
- 31-14-1-25 SmartDeviceManager类中嗅探函数接口测试
- 31-14-1-3 SmartDeviceProtocol协议字段添加(二)
- 31-14-1-4 SmartDeviceProtocol设备通信协议实现(一)
- 31-14-1-5 SmartDeviceProtocol设备通信协议实现(二)
- 31-14-1-6 SmartDeviceProtocol设备通信协议包解析(一)
- 31-14-1-7 SmartDeviceProtocol设备通信协议包解析(二)
- 31-14-1-8 SmartDeviceProtocol设备通信协议测试(一)
- 31-14-1-9 SmartDeviceProtocol设备通信协议测试(二)
- 31-15-1 第1章 设备端网络通信协议介绍
- 31-15-1-1 设备端通信介绍(一)
- 31-15-1-2 设备端通信介绍(二)
- 31-15-1-3 门锁设备操作网络通信介绍
- 31-15-1-4 用户指纹操作网络通信介绍
- 31-15-1-5 电器设备操作网络通信介绍
- 31-15-1-6 传感器设备操作网络通信介绍
- 31-15-1-7 嗅探设备操作网络通信介绍
- 31-16-1 第1章 设备端网络通信Linux端实现
- 31-16-1-1 SmartDeviceNetProtocol类添加
- 31-16-1-10 UdpNetCommunication类实现(三)
- 31-16-1-2 SmartDeviceNetProtocol类中实现json数据解析(一)
- 31-16-1-3 SmartDeviceNetProtocol类中实现json数据解析(二)
- 31-16-1-4 SmartDeviceNetProtocol类中实现json数据协议字段添加
- 31-16-1-5 SmartDeviceNetProtocol类测试程序编写
- 31-16-1-6 SmartDeviceNetProtocol类测试程序编译测试
- 31-16-1-7 网络通信类设计
- 31-16-1-8 UdpNetCommunication类实现(一)
- 31-16-1-9 UdpNetCommunication类实现(二)
- 31-17-1 第1章 设备端Linux智能网关实现(一)
- 31-17-1-1 SmartDeviceGateway类添加
- 31-17-1-10 CommunicationWorker类通过map查找对象
- 31-17-1-11 CommunicationDevice类中添加通信函数
- 31-17-1-12 CommunicationDeviceDoorlock类中添加门锁控制函数接口
- 31-17-1-13 CommunicationDeviceDoorlock类中门锁控制函数接口实现
- 31-17-1-14 CommunicationDeviceDoorlock类中门锁查询函数接口实现
- 31-17-1-15 CommunicationDeviceDoorlock类代码优化(一)
- 31-17-1-16 CommunicationDeviceDoorlock类代码优化(二)
- 31-17-1-17 解决代码编译中的错误(一)
- 31-17-1-18 解决代码编译中的错误(二)
- 31-17-1-19 SmartDeviceGateway类测试程序编写
- 31-17-1-2 SmartDeviceGateway类中udp通信线程对象创建
- 31-17-1-20 修改UdpNetCommunication类给套接字绑定地址
- 31-17-1-21 SmartDeviceGateway类测试程序测试打开门锁设备(一)
- 31-17-1-22 SmartDeviceGateway类测试程序测试打开门锁设备(二)
- 31-17-1-23 SmartDeviceGateway类测试程序测试查询门锁设备
- 31-17-1-3 SmartDeviceGateway类中udp通信线程接收数据
- 31-17-1-4 SmartDeviceGateway类中udp通信线程接收数据存放到队列
- 31-17-1-5 SmartDeviceGateway类中处理通信数据线对象创建
- 31-17-1-6 SmartDeviceGateway类中队列加锁处理
- 31-17-1-7 SmartDeviceGateway类实现线程的等待和唤醒
- 31-17-1-8 CommunicationWorker类添加
- 31-17-1-9 CommunicationWorker类中doWork函数实现
- 31-18-1 第1章 设备端Linux智能网关实现(二)
- 31-18-1-1 CommunicationDeviceElectrical类添加
- 31-18-1-10 CommunicationDeviceFingerprint类修改(一)
- 31-18-1-11 CommunicationDeviceFingerprint类修改(二)
- 31-18-1-12 在PC机上测试指纹模块(一)
- 31-18-1-13 在PC机上测试指纹模块(二)
- 31-18-1-14 在PC机上测试指纹模块(三)
- 31-18-1-2 CommunicationDeviceSensor类添加
- 31-18-1-3 CommunicationDeviceSniffing类添加(一)
- 31-18-1-4 CommunicationDeviceSniffing类添加(二)
- 31-18-1-5 CommunicationWorker类中创建通信对象
- 31-18-1-6 SmartDeviceGateway类测试程序测试查询传感器设备数据
- 31-18-1-7 SmartDeviceGateway类测试程序测试嗅探设备
- 31-18-1-8 解决嗅探设备涉及到的字节序问题
- 31-18-1-9 CommunicationDeviceFingerprint类添加
- 31-19-1 第1章 Linux SQLITE3编程
- 31-19-1-1 sqlite3简介
- 31-19-1-10 SQL语句表中添加和删除字段
- 31-19-1-11 sqlite3数据库打开和关闭API函数接口介绍
- 31-19-1-12 sqlite3数据库打开和关闭实现
- 31-19-1-13 sqlite3执行sql语句sqlite3_exec函数接口介绍
- 31-19-1-14 sqlite3执行sql语句sqlite3_exec函数接口使用(一)
- 31-19-1-15 sqlite3执行sql语句sqlite3_exec函数接口使用(二)
- 31-19-1-16 sqlite3执行sql语句sqlite3_get_table函数接口介绍
- 31-19-1-17 sqlite3执行sql语句sqlite3_get_table函数接口使用(一)
- 31-19-1-18 sqlite3执行sql语句sqlite3_get_table函数接口使用(二)
- 31-19-1-19 SQLITE3 stmt(Statement)机制介绍
- 31-19-1-2 sqlite3特点介绍
- 31-19-1-20 准备SQL语句对象生成
- 31-19-1-21 给SQL语句对象绑定变量介绍
- 31-19-1-22 给SQL语句对象绑定变量实现(1)
- 31-19-1-23 给SQL语句对象绑定变量实现(2)
- 31-19-1-24 SQLITE3 stmt做查询操作介绍
- 31-19-1-25 SQLITE3 stmt做查询操作实现
- 31-19-1-3 sqlite3数据类型介绍
- 31-19-1-4 linux sqlite3安装
- 31-19-1-5 sqlite3命令行工具使用
- 31-19-1-6 SQL语句创建表
- 31-19-1-7 SQL语句表删除和插入数据
- 31-19-1-8 SQL语句查询表中的数据
- 31-19-1-9 SQL语句表中的数据删除和修改
- 31-2-1 第1章 相关硬件购买说明
- 31-2-1-1 指纹模块购买介绍
- 31-2-1-2 语音识别模块麦克风购买介绍
- 31-20-1 第1章 设备端数据库操作
- 31-20-1-1 SmartDeviceDatabase类添加
- 31-20-1-10 获取所有注册过的设备介绍
- 31-20-1-11 SmartDeviceDatabase类中实现查询设备功能
- 31-20-1-12 解决工程编译中的错误
- 31-20-1-13 CommunicationDeviceList类添加
- 31-20-1-14 CommunicationDeviceList类communication函数接口实现(一)
- 31-20-1-15 CommunicationDeviceList类communication函数接口实现(二)
- 31-20-1-16 CommunicationDeviceList类communication函数接口实现(三)
- 31-20-1-17 CommunicationDeviceList类communication函数接口实现(四)
- 31-20-1-18 CommunicationDeviceList类功能测试
- 31-20-1-19 解决SmartDeviceDatabase类的queryDevice函数接口中的bug
- 31-20-1-2 SmartDeviceDatabase类添加数据库文件打开和关闭
- 31-20-1-20 解决SmartDeviceDatabase类中插入数据重复性问题(一)
- 31-20-1-21 解决SmartDeviceDatabase类中插入数据重复性问题(二)
- 31-20-1-3 SmartDeviceDatabase类创建数据库表
- 31-20-1-4 SmartDeviceDatabase类创建添加和删除stmt语句对象
- 31-20-1-5 SmartDeviceDatabase类实现添加和删除设备
- 31-20-1-6 CommunicationDeviceDoorlock类实现add和remove函数接口
- 31-20-1-7 电器和传感器通信设备类实现add和remove函数接口
- 31-20-1-8 解决工程编译中的错误
- 31-20-1-9 SmartDeviceDatabase类功能测试
- 31-21-1 第1章 MQTT协议介绍
- 31-21-1-1 MQTT简介
- 31-21-1-10 MQTT协议固定头介绍(二)
- 31-21-1-11 MQTT协议可变头介绍
- 31-21-1-12 MQTT协议消息体部分介绍
- 31-21-1-2 MQTT特点介绍
- 31-21-1-3 发布和订阅者模型介绍
- 31-21-1-4 MQTT QoS介绍
- 31-21-1-5 QoS 0介绍
- 31-21-1-6 QoS 1介绍
- 31-21-1-7 QoS 2介绍
- 31-21-1-8 MQTT协议格式介绍
- 31-21-1-9 MQTT协议固定头介绍(一)
- 31-22-1 第1章 Linux MQTT使用
- 31-22-1-1 MQTT Broker介绍及ubuntu安装mosquitto
- 31-22-1-10 mosquitto对象创建与销毁
- 31-22-1-11 mqtt代理服务器链接与断开
- 31-22-1-12 mosquitto事件循环API函数介绍
- 31-22-1-13 mosquitto事件循环函数使用
- 31-22-1-14 mosquitto发布消息
- 31-22-1-15 mosquitto订阅消息
- 31-22-1-16 mosquitto回调函数介绍
- 31-22-1-17 mosquitto接收到消息回调函数实现
- 31-22-1-18 MQTTClient类测试程序编写及测试
- 31-22-1-19 MQTTClient类测试程序测试运行
- 31-22-1-2 mosquitto服务相关的操作命令介绍
- 31-22-1-20 MQTTClient类阻塞方式接收消息实现(一)
- 31-22-1-21 MQTTClient类阻塞方式接收消息实现(二)
- 31-22-1-22 MQTTClient类阻塞方式接收消息实现(三)
- 31-22-1-23 MQTTClient类阻塞方式接收消息实现(四)
- 31-22-1-24 MQTTClient类阻塞方式接收消息测试
- 31-22-1-25 MQTTClient类阻塞方式接收消息产生的double free问题解决思路提示
- 31-22-1-26 MQTTClient类阻塞方式接收消息产生的double free问题解决(一)
- 31-22-1-27 MQTTClient类阻塞方式接收消息产生的double free问题解决(二)
- 31-22-1-3 mosquitto手动启动服务介绍
- 31-22-1-4 mosquitto_pub发布消息和mosquitto_sub订阅消息
- 31-22-1-5 MQTT调试软件MQTTX介绍及安装
- 31-22-1-6 MQTT调试软件MQTTX发布消息
- 31-22-1-7 MQTT调试软件MQTTX订阅消息
- 31-22-1-8 MQTTClient类创建
- 31-22-1-9 mosquitto库初始化
- 31-23-1 第1章 网关端支持MQTT通信
- 31-23-1-1 智能网关网络通信介绍
- 31-23-1-2 MQTTNetCommunication类添加
- 31-23-1-3 MQTTNetCommunication类接收和发送数据包函数实现
- 31-23-1-4 SmartDeviceGateway类实现mqtt通信
- 31-23-1-5 解决工程中出现的编译错误
- 31-23-1-6 SmartDeviceGateway类实现mqtt通信测试(一)
- 31-23-1-7 SmartDeviceGateway类实现mqtt通信测试(二)
- 31-3-1 第1章 Linux系统串口编程
- 31-3-1-1 硬件原理图阅读
- 31-3-1-10 CMakeLists.txt介绍使用(三)
- 31-3-1-11 Linux 设置串口通信参数(一)
- 31-3-1-12 Linux 设置串口通信参数(二)
- 31-3-1-13 Linux 串口读写测试
- 31-3-1-2 Uart6设备树节点修改
- 31-3-1-3 Uart6短接TX与RX进行回环测试
- 31-3-1-4 stty命令测试串口
- 31-3-1-5 vscode工程搭建(一)
- 31-3-1-6 vscode工程搭建(二)
- 31-3-1-7 Linux串口设备的打开与关闭
- 31-3-1-8 CMakeLists.txt介绍使用(一)
- 31-3-1-9 CMakeLists.txt介绍使用(二)
- 31-4-1 第1章 串口调试助手调试指纹模块
- 31-4-1-1 指纹模块硬件接线
- 31-4-1-10 指纹模块指纹比对流程介绍
- 31-4-1-11 指纹模块指纹搜索介绍
- 31-4-1-12 指纹模块删除指纹
- 31-4-1-13 指纹模块删除指纹库
- 31-4-1-2 指纹模块介绍
- 31-4-1-3 指纹模块通讯协议介绍
- 31-4-1-4 指纹模块握手过程介绍
- 31-4-1-5 指纹录入流程介绍
- 31-4-1-6 指纹模块录指纹图像介绍
- 31-4-1-7 指纹模块生成特征码介绍
- 31-4-1-8 指纹模块特征码合成模板介绍
- 31-4-1-9 指纹模块存储模板介绍
- 31-5-1 第1章 Linux下指纹模块协议类编写
- 31-5-1-1 指纹模块协议类实现添加包头和包地址
- 31-5-1-10 指纹模块协议类握应答包处理
- 31-5-1-11 指纹模块协议类添加get方法获取协议字段
- 31-5-1-12 指纹模块协议类添加检测packet是否有错误
- 31-5-1-13 指纹模块协议类添加录指纹图像
- 31-5-1-14 指纹模块协议类添加生成特征码
- 31-5-1-15 指纹模块协议类添加合成模板
- 31-5-1-16 指纹模块协议类添加存储模板
- 31-5-1-17 指纹模块协议类添加搜索指纹
- 31-5-1-18 指纹模块协议类添加删除指纹
- 31-5-1-19 指纹模块协议类添加清空指纹库
- 31-5-1-2 指纹模块协议类实现添加包标识
- 31-5-1-3 指纹模块协议类实现添加包长度
- 31-5-1-4 指纹模块协议类实现添加包内容
- 31-5-1-5 指纹模块协议类实现添加包校验
- 31-5-1-6 指纹模块协议类实现包输出
- 31-5-1-7 指纹模块协议类实现包握手协议
- 31-5-1-8 指纹模块协议类握手协议测试程序编写
- 31-5-1-9 指纹模块协议类握手协议测试程序编译及调试
- 31-6-1 第1章 Linux 下指纹模块设备类编写
- 31-6-1-1 指纹设备类添加
- 31-6-1-10 指纹设备类中存储模板函数实现及测试
- 31-6-1-11 指纹设备类中实现录入指纹函数接口
- 31-6-1-12 指纹设备类中实现搜索指纹函数接口
- 31-6-1-13 指纹设备类中实现验证指纹函数接口
- 31-6-1-14 指纹设备类中实现删除指纹函数接口
- 31-6-1-15 指纹设备类中实现清空指纹库函数接口
- 31-6-1-16 添加调试宏开关屏蔽调试信息
- 31-6-1-2 指纹设备类中收发包函数实现(一)
- 31-6-1-3 指纹设备类中收发包函数实现(二)
- 31-6-1-4 指纹设备类中收发包函数实现(三)
- 31-6-1-5 指纹设备类中握手函数实现
- 31-6-1-6 指纹设备类中握手函数测试
- 31-6-1-7 指纹设备类中探测指纹图像函数实现及测试
- 31-6-1-8 指纹设备类中指纹图像生成特征码函数实现及测试
- 31-6-1-9 指纹设备类中合成模板函数实现及测试
- 31-7-1 第1章 指纹模块在小车上面使用
- 31-7-1-1 指纹模块在小车上面接线介绍
- 31-7-1-10 指纹比对线程暂停与恢复实现(一)
- 31-7-1-11 指纹比对线程暂停与恢复实现(二)
- 31-7-1-12 指纹比对线程暂停与恢复测试
- 31-7-1-13 指纹录入功能添加
- 31-7-1-14 指纹录入功能测试
- 31-7-1-15 暂停功能隐藏bug解决
- 31-7-1-16 指纹删除和清空指纹库功能测试
- 31-7-1-2 通过GPIO子系统获取触摸管脚电平状态
- 31-7-1-3 指纹模块使用编程思路介绍
- 31-7-1-4 在指纹设备类中添触摸状态检测
- 31-7-1-5 在指纹设备类中触摸状态检测测试(一)
- 31-7-1-6 在指纹设备类中触摸状态检测测试(二)
- 31-7-1-7 指纹模块管理类添加
- 31-7-1-8 指纹比对线程实现
- 31-7-1-9 指纹比对在小车上面测试
- 31-8-1 第1章 Linux alsa应用程序编程相关概念介绍
- 31-8-1-1 音频的采集和播放介绍
- 31-8-1-2 音频采样介绍
- 31-8-1-3 音频量化介绍
- 31-8-1-4 音频编码介绍
- 31-8-1-5 音频码率介绍
- 31-8-1-6 常用的音频压缩编码格式介绍
- 31-8-1-7 Linux alsa介绍
- 31-8-1-8 Linux alsa编程相关概念介绍
- 31-9-1 第1章 Linux alsa应用程序编程代码编写
- 31-9-1-1 Linux alsa 库函数接口打开PCM设备
- 31-9-1-10 Linux alsa音频录入函数接口实现(一)
- 31-9-1-11 Linux alsa音频录入函数接口实现(二)
- 31-9-1-12 Linux alsa音频录入函数接口实现(三)
- 31-9-1-13 Linux alsa音频录入PCM数据保存到文件
- 31-9-1-14 Linux alsa音频录入PCM文件播放
- 31-9-1-15 WAV格式介绍
- 31-9-1-16 WAV格式文件头分析
- 31-9-1-17 WavFile类添加
- 31-9-1-18 WavFile类添加设置参数函数接口
- 31-9-1-19 WavFile类添加写入数据函数接口
- 31-9-1-2 Linux alsa打开PCM设备库函数使用
- 31-9-1-20 LinuxAlsaSound类中录入WAV音频格式文件函数接口实现
- 31-9-1-21 录入WAV格式音频文件测试
- 31-9-1-3 Linux alsa分配硬件参数对象
- 31-9-1-4 Linux alsa分配硬件参数设置介绍
- 31-9-1-5 Linux alsa分配硬件参数设置实现
- 31-9-1-6 Linux alsa测试程序编写
- 31-9-1-7 Linux alsa测试程序编译
- 31-9-1-8 Linux alsa测试程序运行
- 31-9-1-9 Linux alsa音频录入介绍
- 【阶段12:智能家具实战-嵌入式企业级项目】第32周 智能家居项目实战之STM32单片机设备端开发
- 32-1-1 第1章 1.FreeRTOS初步接触
- 32-1-1-1 什么是FreeRTOS
- 32-1-1-10 freertos变量名命名规范介绍
- 32-1-1-11 freertos函数名命名规范介绍
- 32-1-1-12 freertos宏命名规范介绍
- 32-1-1-13 freertos三大基础类型介绍
- 32-1-1-14 MX_FREERTOS_Init函数分析
- 32-1-1-15 osThreadId_t 和 osThreadAttr_t类型介绍
- 32-1-1-16 osThreadNew函数分析
- 32-1-1-17 osKernelStart函数分析(一)
- 32-1-1-18 osKernelStart函数分析(二)
- 32-1-1-19 prvIdleTask分析
- 32-1-1-2 为什么选择FreeRTOS
- 32-1-1-3 FreeRTOS特点介绍
- 32-1-1-4 FreeRTOS vs Linux
- 32-1-1-5 STM32 CubeMX配置FreeRTOS(一)
- 32-1-1-6 STM32 CubeMX配置FreeRTOS(二)
- 32-1-1-7 STM32 CubeMX配置FreeRTOS(三)
- 32-1-1-8 FreeRTOS源码目录分析
- 32-1-1-9 freertos入口代码介绍
- 32-10-1 第1章 设备端开发环境搭建
- 32-10-1-1 cubemx创建stm32工程
- 32-10-1-2 配置时钟
- 32-10-1-3 配置串口
- 32-10-1-4 配置FreeRTOS
- 32-11-1 第1章 设备端支持串口通信控制外设(一)
- 32-11-1-1 串口通过空闲中断接收变长数据
- 32-11-1-10 按照协议接收一帧完整的数据包之接收包数据(二)
- 32-11-1-11 按照协议接收一帧完整的数据包之接收包代码测试
- 32-11-1-12 按照协议接收一帧完整的数据包之定时器优化接收数据包(一)
- 32-11-1-13 按照协议接收一帧完整的数据包之定时器优化接收数据包(二)
- 32-11-1-14 按照协议接收一帧完整的数据包之定时器超时代码测试
- 32-11-1-2 按照协议接收一帧完整的数据包核心思想介绍
- 32-11-1-3 按照协议接收一帧完整的数据包编程实现初步接触
- 32-11-1-4 按照协议接收一帧完整的数据包之接收包头(一)
- 32-11-1-5 按照协议接收一帧完整的数据包之接收包头(二)
- 32-11-1-6 按照协议接收一帧完整的数据包之接收包头代码测试(一)
- 32-11-1-7 按照协议接收一帧完整的数据包之接收包头代码测试(二)
- 32-11-1-8 按照协议接收一帧完整的数据包之接收包头非法情况处理
- 32-11-1-9 按照协议接收一帧完整的数据包之接收包数据(一)
- 32-12-1 第1章 设备端支持串口通信控制外设(二)
- 32-12-1-1 创建处理数据包的任务
- 32-12-1-10 门锁设备数据包基本信息输出测试
- 32-12-1-11 不同门锁类型分类处理(一)
- 32-12-1-12 不同门锁类型分类处理(二)
- 32-12-1-13 不同门锁类型分类处理代码测试
- 32-12-1-2 创建队列用于中断和任务之间数据包传递
- 32-12-1-3 中断和任务之间数据包传递代码测试
- 32-12-1-4 对任务中接收到的数据包进行校验
- 32-12-1-5 对CRC校验有错误的数据包进行回包通知错误(一)
- 32-12-1-6 对CRC校验有错误的数据包进行回包通知错误(二)
- 32-12-1-7 对CRC校验有错误的数据包进行回包通知错误(三)
- 32-12-1-8 根据地址码对不同设备做分类处理
- 32-12-1-9 门锁设备数据包处理
- 32-13-1 第1章 设备端支持串口通信控制外设(三)
- 32-13-1-1 入户门锁控制模拟
- 32-13-1-10 传感器设备数据采集温度和湿度函数接口添加
- 32-13-1-11 传感器设备数据采集代码测试
- 32-13-1-12 SHT31温湿度传感器数据采集代码添加
- 32-13-1-13 SHT31温湿度传感器采集数据失败情况处理
- 32-13-1-14 SHT31温湿度传感器数据采集测试
- 32-13-1-15 嗅探设备代码添加
- 32-13-1-16 嗅探设备中的门锁设备代码修改
- 32-13-1-17 嗅探设备中的电器设备和传感器设备代码修改
- 32-13-1-18 嗅探设备代码测试
- 32-13-1-19 嗅探设备代码中bug修复
- 32-13-1-2 房间1门锁控制模拟
- 32-13-1-3 门锁设备控制回包处理
- 32-13-1-4 门锁设备控制测试
- 32-13-1-5 电器设备控制代码添加
- 32-13-1-6 电器设备控制测试
- 32-13-1-7 电器设备控制蜂鸣器代码添加
- 32-13-1-8 电器设备控制蜂鸣器代码测试
- 32-13-1-9 传感器设备数据采集代码添加
- 32-14-1 第1章 设备端支持wifi通信控制外设(一)
- 32-14-1-1 ESP8266对应的UART2配置
- 32-14-1-10 通过队列获取AT指令的应答数据代码测试
- 32-14-1-2 ESP8266 wifi配置编程思路介绍
- 32-14-1-3 STM32 UART DMA方式介绍
- 32-14-1-4 STM32 UART DMA方式数据传输相关API介绍
- 32-14-1-5 使用DMA方式和ESP8266通信
- 32-14-1-6 使用DMA方式和ESP8266通信代码测试
- 32-14-1-7 使用DMA方式和ESP8266通信bug解决
- 32-14-1-8 通过队列缓存UART接收到的数据
- 32-14-1-9 通过队列获取AT指令的应答数据
- 32-15-1 第1章 设备端支持wifi通信控制外设(二)
- 32-15-1-1 ESP8266 AP模式设置
- 32-15-1-10 stm32内部flash读写失败bug解决
- 32-15-1-11 获取用户配置的网络ssid和pwd
- 32-15-1-12 解决获取用户配置的网络ssid和pwd失败的bug
- 32-15-1-13 将用户配置的网络写入flash
- 32-15-1-14 debug调试flash里面的数据
- 32-15-1-2 添加等待配置用户网络功能
- 32-15-1-3 测试等待配置用户网络功能
- 32-15-1-4 解决代码中存在的bug
- 32-15-1-5 stm32内部存储器介绍
- 32-15-1-6 stm32内部flash写操作介绍
- 32-15-1-7 stm32内部flash写操作代码实现
- 32-15-1-8 stm32内部flash读操作代码实现
- 32-15-1-9 stm32内部flash读操作测试
- 32-16-1 第1章 设备端支持wifi通信控制外设(三)
- 32-16-1-1 从flash读取用户网络信息
- 32-16-1-10 复位ESP8266测试
- 32-16-1-11 复位ESP8266优化处理(一)
- 32-16-1-12 复位ESP8266优化处理(二)
- 32-16-1-13 判定用户是否已经配置过网络处理(一)
- 32-16-1-14 判定用户是否已经配置过网络处理(二)
- 32-16-1-15 通过按键恢复出厂设置(一)
- 32-16-1-16 通过按键恢复出厂设置(二)
- 32-16-1-17 通过按键恢复出厂设置测试
- 32-16-1-2 从flash读取用户网络信息测试
- 32-16-1-3 配置ESP8266进入station模式
- 32-16-1-4 配置ESP8266进入station模式测试
- 32-16-1-5 配置ESP8266进入station模式处理(一)
- 32-16-1-6 配置ESP8266进入station模式处理(二)
- 32-16-1-7 配置ESP8266连接ap处理
- 32-16-1-8 配置ESP8266连接ap测试
- 32-16-1-9 复位ESP8266处理
- 32-17-1 第1章 设备端支持wifi通信控制外设(四)
- 32-17-1-1 ESP8266 更新固件支持MQTT介绍
- 32-17-1-10 MQTT链接代码测试
- 32-17-1-11 MQTT订阅主题(一)
- 32-17-1-12 MQTT订阅主题(二)
- 32-17-1-13 MQTT订阅主题代码测试
- 32-17-1-14 MQTT协议控制外设(一)
- 32-17-1-15 MQTT协议控制外设(二)
- 32-17-1-16 MQTT应答包处理
- 32-17-1-17 MQTT应答包测试
- 32-17-1-2 MQTT源码添加
- 32-17-1-3 MQTT源码中的例子代码分析
- 32-17-1-4 MQTT传输打开函数实现
- 32-17-1-5 MQTT测试环境搭建
- 32-17-1-6 ESP8266和Ubuntu的MQTT Broken建立TCP连接测试
- 32-17-1-7 ESP8266和网络调试助手建立TCP连接测试
- 32-17-1-8 MQTT链接代码编写(一)
- 32-17-1-9 MQTT链接代码编写(二)
- 32-2-1 第1章 FreeRTOS任务管理(一)
- 32-2-1-1 FreeRTOS任务创建xTaskCreate函数介绍(一)
- 32-2-1-10 任务创建过程之TCB分析
- 32-2-1-11 任务创建过程分析
- 32-2-1-12 vTaskList打印任务信息介绍
- 32-2-1-13 vTaskList打印运行的任务信息
- 32-2-1-14 vTaskDelete函数介绍及使用
- 32-2-1-15 任务删除过程分析
- 32-2-1-2 FreeRTOS任务创建xTaskCreate函数介绍(二)
- 32-2-1-3 FreeRTOS任务创建xTaskCreate函数使用(一)
- 32-2-1-4 FreeRTOS任务创建xTaskCreate函数使用(二)
- 32-2-1-5 printf函数启用
- 32-2-1-6 FreeRTOS创建的任务测试
- 32-2-1-7 FreeRTOS任务创建xTaskCreateStatic函数介绍
- 32-2-1-8 FreeRTOS任务创建xTaskCreateStatic函数使用
- 32-2-1-9 FreeRTOS任务创建xTaskCreateStatic函数创建任务测试
- 32-3-1 第1章 FreeRTOS任务管理(二)
- 32-3-1-1 vTaskSuspend任务挂起介绍及使用
- 32-3-1-10 PendSV中断如何触发
- 32-3-1-11 滴答定时器中断
- 32-3-1-12 vTaskSwitchContext函数实现
- 32-3-1-13 任务调度与中断
- 32-3-1-14 vTaskDelay函数介绍
- 32-3-1-15 vTaskDelay函数实现原理介绍
- 32-3-1-16 vTaskDelay内部细节分析
- 32-3-1-17 vTaskDelayUntil函数介绍
- 32-3-1-18 vTaskDelayUntil函数实现原理介绍
- 32-3-1-19 vTaskDelayUntil函数内部细节分析
- 32-3-1-2 任务挂起过程分析
- 32-3-1-20 vTaskDelay和vTaskDelayUntil对比
- 32-3-1-3 vTaskResume任务恢复执行及使用
- 32-3-1-4 任务恢复过程分析
- 32-3-1-5 任务状态转换介绍
- 32-3-1-6 任务调度规则之抢占式调度
- 32-3-1-7 任务调度规则之时间片调度
- 32-3-1-8 任务调度的规则一些注意点
- 32-3-1-9 任务调度的本质
- 32-4-1 第1章 FreeRTOS软件定时器
- 32-4-1-1 定时器概念介绍(一)
- 32-4-1-10 软件定时器API函数接口使用(一)
- 32-4-1-11 软件定时器API函数接口使用(二)
- 32-4-1-12 软件定时器API函数接口使用(三)
- 32-4-1-2 定时器概念介绍(二)
- 32-4-1-3 软件定时器服务任务介绍
- 32-4-1-4 软件定时器的命令队列介绍
- 32-4-1-5 软件定时器的状态介绍
- 32-4-1-6 单次定时器介绍
- 32-4-1-7 周期定时器介绍
- 32-4-1-8 软件定时器API函数接口介绍(一)
- 32-4-1-9 软件定时器API函数接口介绍(二)
- 32-5-1 第1章 FreeRTOS消息队列
- 32-5-1-1 FreeRTOS消息队列介绍
- 32-5-1-10 创建操作队列的任务
- 32-5-1-11 FreeRTOS写队列函数接口介绍
- 32-5-1-12 FreeRTOS写队列API函数使用
- 32-5-1-13 FreeRTOS读队列函数接口介绍
- 32-5-1-14 FreeRTOS读队列API函数使用
- 32-5-1-15 FreeRTOS队列收发测试
- 32-5-1-16 FreeRTOS队列收发测试打印现象分析
- 32-5-1-17 FreeRTOS队列收发测试打印现象不正常原因分析
- 32-5-1-18 FreeRTOS队列收发测试打印异常解决
- 32-5-1-19 FreeRTOS队列集介绍
- 32-5-1-2 FreeRTOS队列的特点介绍(一)
- 32-5-1-20 FreeRTOS队列集API函数接口介绍
- 32-5-1-21 FreeRTOS队列集API函数接口使用
- 32-5-1-22 FreeRTOS队列集API函数接口编译错误解决
- 32-5-1-23 FreeRTOS任务创建失败的原因分析
- 32-5-1-24 FreeRTOS队列集消息输出不正常情况解决
- 32-5-1-3 FreeRTOS队列的特点介绍(二)
- 32-5-1-4 FreeRTOS队列的特点介绍(三)
- 32-5-1-5 FreeRTOS队列结构体介绍
- 32-5-1-6 FreeRTOS动态方式创建队列
- 32-5-1-7 FreeRTOS动态方式创建队列
- 32-5-1-8 FreeRTOS队列的类型介绍
- 32-5-1-9 FreeRTOS创建队列
- 32-6-1 第1章 FreeRTOS同步与互斥(一)
- 32-6-1-1 同步概念介绍
- 32-6-1-10 FreeRTOS信号量API函数接口介绍(二)
- 32-6-1-11 创建AB任务
- 32-6-1-12 AB任务测试
- 32-6-1-13 AB任务同步思路分析
- 32-6-1-14 信号量实现AB任务同步(一)
- 32-6-1-15 信号量实现AB任务同步(二)
- 32-6-1-2 互斥概念介绍
- 32-6-1-3 FreeRTOS的同步与互斥机制介绍
- 32-6-1-4 信号量介绍
- 32-6-1-5 二值信号量介绍
- 32-6-1-6 计数型信号量介绍
- 32-6-1-7 互斥信号量介绍
- 32-6-1-8 递归互斥信号量介绍
- 32-6-1-9 FreeRTOS信号量API函数接口介绍(一)
- 32-7-1 第1章 FreeRTOS同步与互斥(二)
- 32-7-1-1 优先级翻转介绍
- 32-7-1-10 事件标志组代码实现(一)
- 32-7-1-11 事件标志组代码实现(二)
- 32-7-1-12 任务通知介绍
- 32-7-1-13 任务通知值和通知状态介绍
- 32-7-1-14 任务通知API函数介绍
- 32-7-1-15 任务通知API函数使用
- 32-7-1-16 任务通知的优势与劣势
- 32-7-1-17 同步和互斥各类方法对比
- 32-7-1-2 优先级翻转代码实现(一)
- 32-7-1-3 优先级翻转代码实现(二)
- 32-7-1-4 优先级翻转代码实现(三)
- 32-7-1-5 优先级继承介绍
- 32-7-1-6 优先级继承代码实现(一)
- 32-7-1-7 优先级继承代码实现(二)
- 32-7-1-8 事件标志组介绍
- 32-7-1-9 事件标志组API介绍
- 32-8-1 第1章 FreeRTOS之Tickless低功耗模式
- 32-8-1-1 为什么要电源管理介绍
- 32-8-1-10 STM32的不同低功耗模式使用场景对比
- 32-8-1-11 STM32的不同低功耗模式总结
- 32-8-1-12 FreeRTOS Tickless模式介绍
- 32-8-1-13 FreeRTOS Tickless模式存在的两个问题分析
- 32-8-1-14 Tickless模式具体实现(一)
- 32-8-1-15 Tickless模式具体实现(二)
- 32-8-1-16 Tickless模式具体实现(三)
- 32-8-1-17 Tickless模式代码测试
- 32-8-1-2 STM32电源管脚介绍
- 32-8-1-3 STM32电源管理系统介绍
- 32-8-1-4 STM32电源管理三大区域介绍
- 32-8-1-5 STM32中断与事件介绍
- 32-8-1-6 STM32中断与事件产生过程分析
- 32-8-1-7 STM32低功耗模式介绍
- 32-8-1-8 STM32低功耗模式分析
- 32-8-1-9 WFI和WFE指令介绍
- 32-9-1 第1章 FreeRTOS之内存管理
- 32-9-1-1 动态创建和静态创建介绍
- 32-9-1-2 为什么不使用malloc和free
- 32-9-1-3 heap_1内存管理算法介绍
- 32-9-1-4 heap_2内存管理算法介绍
- 32-9-1-5 heap_3内存管理算法介绍
- 32-9-1-6 heap_4内存管理算法介绍
- 32-9-1-7 heap_5内存管理算法介绍
- 32-9-1-8 FreeRTOS内存管理相关API函数介绍
- 32-9-1-9 FreeRTOS内存管理相关API函数使用
- 【阶段12:智能家具实战-嵌入式企业级项目】第33周 人脸指纹识别考勤机设计与实战
- 33-1-1 第1章 人脸指纹识别考勤机-项目背景分析
- 33-1-1-1 项目需求分析
- 33-1-1-2 项目框架介绍
- 33-1-1-3 开发环境搭建
- 33-2-1 第1章 指纹模块控制开发
- 33-2-1-1 指纹模块特性
- 33-2-1-10 语音播报类QTextToSpeech
- 33-2-1-11 获取指纹索引表应答
- 33-2-1-12 获取指纹图像应答
- 33-2-1-13 单次搜索应答
- 33-2-1-14 编写指纹模块测试工具
- 33-2-1-2 指纹模块工作原理1
- 33-2-1-3 指纹模块工作原理2
- 33-2-1-4 QSerialPort类基本介绍
- 33-2-1-5 封装指纹模块控制类
- 33-2-1-6 指纹模块系统参数查询
- 33-2-1-7 按照协议封装标准接口
- 33-2-1-8 发送各种控制命令
- 33-2-1-9 错误信息处理(降噪)
- 33-3-1 第1章 后台线程的设计
- 33-3-1-1 线程QThread的使用方式
- 33-3-1-2 自动指纹模板注册流程
- 33-3-1-3 自动指纹模板搜索流程
- 33-4-1 第1章 考勤软件设计
- 33-4-1-1 数据库字段及表格设计
- 33-4-1-2 员工信息录入_界面设计
- 33-4-1-3 员工信息录入_信号关联
- 33-4-1-4 界面切换逻辑
- 33-4-1-5 员工信息查找及考勤数据生成
- 33-4-1-6 考勤数据生成和查找
- 33-4-1-7 员工离职触发的信息删除
- 33-4-1-8 QCustomPlot的下载及编译
- 33-4-1-9 数据的可视化图表化
- 33-5-1 第1章 数据库操作
- 33-5-1-1 人脸识别模块介绍
- 33-5-1-2 OpenCV简介
- 33-5-1-3 OpenCV库下载及安装
- 33-5-1-4 获取模块采集的图像帧
- 33-5-1-5 Mat对象转为QImage并显示
- 33-5-1-6 后台获取图像帧并刷新
- 33-5-1-7 函数检测照片中有无人脸
- 33-6-1 第1章 人脸识别功能开发
- 33-6-1-1 人脸模块调试工具
- 33-6-1-2 节人脸模块通信协议
- 33-6-1-3 节人脸模块通信协议
- 33-6-1-4 节指令发送和解析
- 33-6-1-5 节指令发送和解析
- 33-6-1-6 人脸模块调试
- 33-6-1-7 人脸自动打卡与手动注册
- 33-6-1-8 项目总结与回顾
- 【阶段12:智能家具实战-嵌入式企业级项目】第34周 物联网、嵌入式项目答辩和就业指导
- 34-1-1 第1章 项目成果展示
- 34-1-1-1 图文:项目1v1指导.txt
- 【阶段13:独立开发阶段-三大热门物联网、智能硬件项目任选】第35周 独立开发阶段-三大热门领域项目
- 35-1-1 第1章 项目需求申请
- 35-1-1-1 图文:人脸指纹识别考勤机设计与实战.txt
- 35-2-1 第1章 智能售货机项目需求
- 35-2-1-1 图文:智能售货机项目需求
- 35-3-1 第1章 智能网关项目需求
- 35-3-1-1 图文:工业智能网关项目需求
- 【阶段14:重磅升级:硬件电路设计入门到实战】第36周 硬件电路设计-电路基础知识
- 36-1-1 第1章 硬件电路设计-电路基础知识
- 36-1-1-1 电路设计课程介绍
- 36-1-1-10 模拟电路-三极管应用
- 36-1-1-11 模拟电路-三极管练习
- 36-1-1-12 模拟电路-MOS管理解
- 36-1-1-13 模拟电路-MOS管练习
- 36-1-1-14 模拟电路-电源整流电路
- 36-1-1-15 模拟电路-电源滤波电路
- 36-1-1-16 模拟电路-电源稳压电路
- 36-1-1-17 数字电路-门电路
- 36-1-1-18 数字电路-施密特触发器
- 36-1-1-19 数字电路-555定时器
- 36-1-1-2 电路基础-电流的理解
- 36-1-1-20 数字电路-555定时器应用
- 36-1-1-21 数字电路-555定时器产生方波
- 36-1-1-22 数字电路-ADC原理
- 36-1-1-23 数字电路-ADC分类
- 36-1-1-24 数字电路-DAC原理
- 36-1-1-25 常用元器件-蜂鸣器
- 36-1-1-26 常用元器件-光耦
- 36-1-1-27 常用元器件-继电器
- 36-1-1-28 常用元器件-晶振
- 36-1-1-29 常用元器件-USB转串口芯片
- 36-1-1-3 电路基础-电压与电阻的理解
- 36-1-1-30 常用元器件-LDO电源芯片
- 36-1-1-31 常用元器件-DCDC电源芯片
- 36-1-1-32 测量工具-三合一万用表
- 36-1-1-33 测量工具-万用表功能
- 36-1-1-34 测量工具-示波器功能
- 36-1-1-35 测量工具-信号发生器功能
- 36-1-1-36 电路设计软件-介绍
- 36-1-1-37 电路设计软件-AltiumDesigner介绍
- 36-1-1-38 电路设计软件-立创EDA介绍
- 36-1-1-39 电路设计软件-AD22使用
- 36-1-1-4 电路基础-电感的理解
- 36-1-1-40 电路设计软件-AD22快捷键
- 36-1-1-41 电路设计软件-立创EDA使用
- 36-1-1-5 电路基础-电容的理解
- 36-1-1-6 电路基础-功率的理解
- 36-1-1-7 模拟电路-二极管的理解
- 36-1-1-8 模拟电路-三极管理解
- 36-1-1-9 模拟电路-三极管分类
- 【阶段14:重磅升级:硬件电路设计入门到实战】第37周 STM32最小系统 – 硬件电路设计实战项目(一)
- 37-1-1 第1章 STM32最小系统-电路设计实战项目1
- 37-1-1-1 32最小系统-电路成品展示
- 37-1-1-10 32最小系统-系统时钟
- 37-1-1-11 32最小系统-系统启动
- 37-1-1-12 32最小系统-系统复位
- 37-1-1-13 32最小系统-LED部分
- 37-1-1-14 32最小系统-OLED部分
- 37-1-1-15 32最小系统-RS485总线1
- 37-1-1-16 32最小系统-RS485总线2
- 37-1-1-17 32最小系统-元件布局
- 37-1-1-18 32最小系统-USB转串口走线
- 37-1-1-19 32最小系统-晶振电路走线
- 37-1-1-2 32最小系统-PCB工程创建
- 37-1-1-20 32最小系统-扩展IO走线1
- 37-1-1-21 32最小系统-扩展IO走线2
- 37-1-1-22 32最小系统-扩展IO走线3
- 37-1-1-23 32最小系统-扩展IO走线4
- 37-1-1-24 32最小系统-设置过孔最小最大值
- 37-1-1-25 32最小系统-布线冲突问题解决
- 37-1-1-26 32最小系统-扩展IO走线5
- 37-1-1-27 32最小系统-扩展IO走线6
- 37-1-1-28 32最小系统-SWD接口走线
- 37-1-1-29 32最小系统-电源走线1
- 37-1-1-3 32最小系统-绘制板子尺寸
- 37-1-1-30 32最小系统-电源走线2
- 37-1-1-31 32最小系统-OLED走线
- 37-1-1-32 32最小系统-RS485走线1
- 37-1-1-33 32最小系统-RS485走线2
- 37-1-1-34 32最小系统-LED走线
- 37-1-1-35 32最小系统-按键走线
- 37-1-1-36 32最小系统-系统复位走线
- 37-1-1-37 32最小系统-电器检查
- 37-1-1-38 32最小系统-敷铜
- 37-1-1-39 32最小系统-微调与检查
- 37-1-1-4 32最小系统-绘制圆切角
- 37-1-1-40 32最小系统-泪滴
- 37-1-1-41 32最小系统-生成BOM表
- 37-1-1-42 32最小系统-生成坐标文件
- 37-1-1-43 32最小系统-PCB下单
- 37-1-1-44 32最小系统-SMT下单
- 37-1-1-45 32最小系统-配件采购
- 37-1-1-46 32最小系统-硬件功能验证1
- 37-1-1-47 32最小系统-硬件功能验证2
- 37-1-1-5 32最小系统-设置固定孔
- 37-1-1-6 32最小系统-USB转串口1
- 37-1-1-7 32最小系统-USB转串口2
- 37-1-1-8 32最小系统-电源部分
- 37-1-1-9 32最小系统-主控部分
- 【阶段14:重磅升级:硬件电路设计入门到实战】第38周 CAN总线分析仪 – 硬件电路设计实战项目(二)
- 38-1-1 第1章 CAN总线分析仪-电路设计实战项目2
- 38-1-1-1 CANable-电路成品展示
- 38-1-1-10 CANable-电器检查
- 38-1-1-11 CANable-导出BOM与位图
- 38-1-1-12 CANable-PCB下单
- 38-1-1-13 CANable-SMT下单
- 38-1-1-14 CANable-硬件验证
- 38-1-1-2 CANable-工程创建
- 38-1-1-3 CANable-主控部分
- 38-1-1-4 CANable-扩展IO
- 38-1-1-5 CANable-CAN总线
- 38-1-1-6 CANable-原理图更新PCB
- 38-1-1-7 CANable-CAN总线走线
- 38-1-1-8 CANable-LED走线
- 38-1-1-9 CANable-USB走线
- 【阶段14:重磅升级:硬件电路设计入门到实战】第39周 4路输入输出控制器 – 硬件电路设计实战项目(三)
- 39-1-1 第1章 4路输入输出控制器-电路设计实战项目3
- 39-1-1-1 4路开关-产品展示
- 39-1-1-10 4路开关-板子预留区域
- 39-1-1-11 4路开关-元器件布局
- 39-1-1-12 4路开关-4G模块布局
- 39-1-1-13 4路开关-电源走线
- 39-1-1-14 4路开关-数字输入走线
- 39-1-1-15 4路开关-继电器走线1
- 39-1-1-16 4路开关-继电器走线2
- 39-1-1-17 4路开关-继电器走线3
- 39-1-1-18 4路开关-继电器走线4
- 39-1-1-19 4路开关-主控走线
- 39-1-1-2 4路开关-主控部分
- 39-1-1-20 4路开关-系统复位走线
- 39-1-1-21 4路开关-RS485走线
- 39-1-1-22 4路开关-CAN总线走线
- 39-1-1-23 4路开关-下载与SWD走线
- 39-1-1-24 4路开关-系统电源走线
- 39-1-1-25 4路开关-禁止敷铜
- 39-1-1-26 4路开关-DRC检查
- 39-1-1-27 4路开关-开槽实现
- 39-1-1-28 4路开关-PCB下单与贴片
- 39-1-1-29 4路开关-硬件测试1
- 39-1-1-3 4路开关-电源部分
- 39-1-1-30 4路开关-硬件测试2
- 39-1-1-4 4路开关-继电器部分
- 39-1-1-5 4路开关-CAN总线
- 39-1-1-6 4路开关-RS485总线
- 39-1-1-7 4路开关-4G接口部分
- 39-1-1-8 4路开关-数字输入部分
- 39-1-1-9 4路开关-板框与定位孔
- 【阶段14:重磅升级:硬件电路设计入门到实战】第40周 8路逻辑分析仪 – 硬件电路设计实战项目(四)
- 40-1-1 第1章 8路逻辑分析仪 – 硬件电路设计实战项目(四)
- 40-1-1-1 逻辑分析仪-实物展示
- 40-1-1-10 逻辑分析仪-晶振走线
- 40-1-1-11 逻辑分析仪-电源走线
- 40-1-1-12 逻辑分析仪-8通道走线
- 40-1-1-13 逻辑分析仪-排阻走线
- 40-1-1-14 逻辑分析仪-二极管走线
- 40-1-1-15 逻辑分析仪-LED走线
- 40-1-1-16 逻辑分析仪-EEPROM走线
- 40-1-1-17 逻辑分析仪-复位走线
- 40-1-1-18 逻辑分析仪-系统电源走线
- 40-1-1-19 逻辑分析仪-其他走线
- 40-1-1-2 逻辑分析仪-原理图
- 40-1-1-20 逻辑分析仪-敷铜
- 40-1-1-21 逻辑分析仪-敷铜问题处理
- 40-1-1-22 逻辑分析仪-检查电路
- 40-1-1-23 逻辑分析仪-PCB下单与贴片
- 40-1-1-24 逻辑分析仪-电路验证与使用
- 40-1-1-3 逻辑分析仪-主控1
- 40-1-1-4 逻辑分析仪-主控2
- 40-1-1-5 逻辑分析仪-主控3
- 40-1-1-6 逻辑分析仪-电源
- 40-1-1-7 逻辑分析仪-EEPROM
- 40-1-1-8 逻辑分析仪-LED部分
- 40-1-1-9 逻辑分析仪-测量接口
- 【阶段1:Linux C语言编程】第0周 物联网、嵌入式工程师就业班开学典礼
- 0-1-1 第1章 课程导学与开班详情
- 0-1-1-1 物联网嵌入式工程师课程导学
- 0-1-1-10 好学习习惯培养
- 0-1-1-2 小班精品服务介绍-班主任督学
- 0-1-1-3 嵌入式讲师团队阵容
- 0-1-1-4 就业服务之内推、模拟面试、简历指导
- 0-1-1-5 课程3大答疑服务讲解
- 0-1-1-6 课程资料地址与教材提供
- 0-1-1-7 课程硬件设备介绍最近学习
- 0-1-1-8 给0基础学习建议
- 0-1-1-9 给有基础学习建议
- 【阶段1:Linux C语言编程】第1周 嵌入式开发基石-计算机基础与C语言
- 1-1-1 第1章 开发环境搭建
- 1-1-1-1 大白老师-嵌入式前三阶段课程导学
- 1-1-1-2 开发环境搭建(上)
- 1-1-1-3 开发环境搭建(下)
- 1-2-1 第1章 计算机基础知识
- 1-2-1-1 计算机基础知识
- 1-3-1 第1章 Linux基础命令
- 1-3-1-1 Linux文件系统及常用快捷键
- 1-3-1-2 Linux基础命令
- 1-4-1 第1章 vim编辑器和gcc编译器
- 1-4-1-1 Vim编辑器的介绍及使用
- 1-4-1-2 GCC编译器的介绍及使用最近学习
- 1-5-1 第1章 数据进制转换
- 1-5-1-1 进制之间的转换最近学习
- 1-6-1 第1章 数据的存储
- 1-6-1-1 原码、反码、补码的存储
- 1-7-1 第1章 C语言中的数据类型
- 1-7-1-1 C语言中的常量
- 1-7-1-2 C语言中的输出函数
- 1-7-1-3 C语言中的变量
- 1-7-1-4 C语言中的输入函数
- 1-7-1-5 数据的存储
- 1-7-1-6 强制类型转换
- 1-8-1 第1章 C语言中的运算符
- 1-8-1-1 算术运算符
- 1-8-1-2 自增加和自减少
- 1-8-1-3 关系运算符
- 1-8-1-4 逻辑运算符
- 1-8-1-5 位运算符
- 1-8-1-6 赋值复合运算符
- 1-8-1-7 逗号运算符和三目运算符
- 1-8-1-8 运算符优先级
- 【阶段1:Linux C语言编程】第2周 C语言进阶-编程思想
- 2-1-1 第1章 C语言中的控制语句
- 2-1-1-1 C语言中if单分支语句最近学习
- 2-1-1-2 C语言中if多分支语句
- 2-1-1-3 C语言中的switch语句
- 2-1-1-4 C语言中的while和do-while语句
- 2-1-1-5 C语言中的for循环语句
- 2-1-1-6 C语言中的break语句
- 2-1-1-7 C语言中的continue语句
- 2-1-1-8 C语言中的goto语句
- 2-2-1 第1章 C语言中的数组
- 2-2-1-1 C语言中的数组
- 2-2-1-2 数组的初始化
- 2-2-1-3 字符数组和字符串最近学习
- 2-2-1-4 C语言中的二维数组
- 2-2-1-5 C语言中的二维数组代码实战
- 2-3-1 第1章 C语言中指针
- 2-3-1-1 C语言中的指针基础
- 2-3-1-2 C语言中的特殊指针
- 2-3-1-3 一级指针简介
- 2-3-1-4 一级指针和一维数组
- 2-3-1-5 多级指针的使用
- 2-3-1-6 指针数组
- 2-3-1-7 指针和二维数组最近学习
- 2-3-1-8 数组指针和二维数组
- 2-3-1-9 const关键字的使用
- 2-4-1 第1章 C语言中的函数
- 2-4-1-1 函数初识
- 2-4-1-10 递归函数
- 2-4-1-2 全局变量、局部变量、静态变量
- 2-4-1-3 函数传参之值传递
- 2-4-1-4 函数传参值地址传递
- 2-4-1-5 函数传参之数组
- 2-4-1-6 字符串相关操作函数1
- 2-4-1-7 字符串相关操作函数2
- 2-4-1-8 指针函数
- 2-4-1-9 函数指针
- 【阶段1:Linux C语言编程】第3周 C语言高级进阶
- 3-1-1 第1章 C语言编程常用知识
- 3-1-1-1 C语言宏定义的使用上
- 3-1-1-2 C语言宏定义的使用下
- 3-1-1-3 条件编译
- 3-1-1-4 C语言中的多文件编程上
- 3-1-1-5 C语言中的多文件编程下
- 3-2-1 第1章 C语言中结构体、联合体,枚举、位域
- 3-2-1-1 C语言中的结构体
- 3-2-1-2 结构体大小计算
- 3-2-1-3 typedef关键字
- 3-2-1-4 C语言中的联合体
- 3-2-1-5 C语言中的枚举类型
- 3-2-1-6 C语言中的位域1
- 3-2-1-7 C语言中的位域2
- 3-3-1 第1章 C语言中的内存管理
- 3-3-1-1 C语言中的内存分配
- 3-3-1-2 C语言中的static的使用
- 3-3-1-3 C语言的堆区内存管理
- 【阶段1:Linux C语言编程】第4周 C语言项目实战
- 4-1-1 第1章 C项目实战-日历系统
- 4-1-1-1 日历系统项目介绍
- 4-1-1-2 日历系统阶段1
- 4-1-1-3 日历系统阶段2
- 4-1-1-4 日历系统阶段3
- 4-1-1-5 日历系统阶段4
- 4-2-1 第1章 C项目实践-俄罗斯方块游戏-项目基础知识
- 4-2-1-1 vt100控制码介绍
- 4-2-1-2 俄罗斯方块之绘制方格
- 4-2-1-3 俄罗斯方块数据存储上
- 4-2-1-4 俄罗斯方块数据存储下
- 4-2-1-5 俄罗斯方块之按键获取
- 4-2-1-6 俄罗斯方块之按键控制方块上
- 4-2-1-7 俄罗斯方块之按键控制方块下
- 4-2-2 第2章 C项目实践-俄罗斯方块游戏-项目架构设计
- 4-2-2-1 图像界面绘制
- 4-2-2-10 方块消行
- 4-2-2-2 图形存储及输出设计
- 4-2-2-3 方块自动下落上
- 4-2-2-4 方块自动下落下
- 4-2-2-5 方块触底存储
- 4-2-2-6 方块触底显示
- 4-2-2-7 游戏结束设置
- 4-2-2-8 按键控制俄罗斯方块上
- 4-2-2-9 按键控制俄罗斯方块下
- 【阶段2:嵌入式开发基础之数据结构】第5周 数据结构-线性结构
- 5-1-1 第1章 顺序表
- 5-1-1-1 数据结构基础概念
- 5-1-1-2 线性表的顺序存储介绍(上)
- 5-1-1-3 线性表的顺序存储介绍(下)
- 5-1-1-4 顺序表之创建,判满,插入,输出(上)
- 5-1-1-5 顺序表之创建,判满,插入,输出(下)
- 5-1-1-6 顺序表之判空,删除(上)
- 5-1-1-7 顺序表之判空,删除(下)
- 5-2-1 第1章 链表
- 5-2-1-1 单向链表概述
- 5-2-1-2 单向链表之创建,插入,输出(上)
- 5-2-1-3 单向链表之创建,插入,输出(下)
- 5-2-1-4 单向链表之判空,删除
- 5-2-1-5 单向链表之逆序,清除
- 5-2-1-6 单向循环链表
- 5-3-1 第1章 数据结构之栈存储
- 5-3-1-1 顺序栈讲解
- 5-3-1-2 顺序栈的代码实现
- 5-3-1-3 链式栈讲解(上)
- 5-3-1-4 链式栈讲解(下)
- 【阶段2:嵌入式开发基础之数据结构】第6周 数据结构-非线性结构
- 6-1-1 第1章 二叉树
- 6-1-1-1 二叉树基本概念(上)
- 6-1-1-10 哈夫曼编码
- 6-1-1-2 二叉树基本概念(下)
- 6-1-1-3 二叉树的遍历
- 6-1-1-4 完全二叉树的递归创建思路
- 6-1-1-5 完全二叉树的递归遍历代码实战
- 6-1-1-6 二叉树的递归遍历
- 6-1-1-7 非递归遍历之前序遍历
- 6-1-1-8 非递归遍历之中序遍历
- 6-1-1-9 非递归遍历之后续遍历
- 6-2-1 第1章 图的操作
- 6-2-1-1 图的基本概念讲解
- 6-2-1-2 图的存储——邻接矩阵
- 6-2-1-3 图的存储之广度优先遍历
- 6-3-1 第1章 哈希表
- 6-3-1-1 哈希表介绍
- 6-3-1-2 哈希表之开放地址法(上)
- 6-3-1-3 哈希表之开放地址法(下)
- 6-3-1-4 哈希表之链地址法(上)
- 【阶段2:嵌入式开发基础之数据结构】第7周 排序与复杂度
- 7-1-1 第1章 排序
- 7-1-1-1 冒泡排序
- 7-1-1-2 简单选择排序
- 7-1-1-3 直接插入排序
- 7-1-1-4 shell排序
- 7-1-1-5 快速排序
- 7-1-1-6 堆排序之原理讲解最近学习
- 7-1-1-7 堆排序之代码实现
- 7-2-1 第1章 时间、空间复杂度
- 7-2-1-1 算法复杂度概述
- 7-2-1-2 常用算法的平均时间复杂度
- 【阶段2:嵌入式开发基础之数据结构】第8周 数据结构项目实战
- 8-1-1 第1章 学生管理系统
- 8-1-1-1 学生管理系统总纲
- 8-1-1-2 学生管理系统之登录设计
- 8-1-1-3 学生管理系统之整体框架设计
- 8-1-1-4 学生管理系统之插入学生
- 8-1-1-5 学生管理系统之输出学生
- 8-1-1-6 学生管理系统之查找
- 8-1-1-7 学生管理系统之更新学生信息
- 8-1-1-8 学生管理系统之删除学生
- 【阶段3:嵌入式开发基础之Linux Shell和Makefile】第9周 Shell编程和Makefile工程管理
- 9-1-1 第1章 Linux 常用命令
- 9-1-1-1 Linux系统简介
- 9-1-1-2 ubuntu软件包管理机制简介
- 9-1-1-3 ubuntu 软件安装命令详解
- 9-1-1-4 ubuntu 软件安装命令详解
- 9-1-1-5 linux用户管理
- 9-1-1-6 linux文件系统(上)
- 9-1-1-7 Linux文件系统(中)
- 9-1-1-8 Linux文件系统(下)
- 9-2-1 第1章 awk和sed命令
- 9-2-1-1 linux命令进阶
- 9-2-1-2 linux常用特殊字符
- 9-2-1-3 sed命令详解
- 9-2-1-4 awk命令详解
- 9-3-1 第1章 shell脚本编程
- 9-3-1-1 脚本基本概念讲解(上)
- 9-3-1-2 脚本基本概念讲解(下)
- 9-3-1-3 shell功能性语句(上)
- 9-3-1-4 shell功能性语句(下)
- 9-3-1-5 shell中的if语句
- 9-3-1-6 shell中的case语句
- 9-3-1-7 shell中的循环语句
- 9-3-1-8 shell数组
- 9-3-1-9 shell中的函数
- 9-4-1 第1章 Makefile多文件工程管理
- 9-4-1-1 Makefile工程概述
- 9-4-1-2 Makefile中的变量
- 9-4-1-3 Makefile伪目标和函数,库
- 9-4-1-4 Makefile多文件管理——乞丐版(上)
- 9-4-1-5 Makefile多文件管理——乞丐版(下)
- 9-4-1-6 Makefile多文件管理——工程版
- 【阶段4:嵌入式应用层开发之Linux 文件操作】第10周 Linux文件IO和标准IO
- 10-1-1 第1章 Linux系统调用实现原理讲解
- 10-1-1-1 阶段课程内容导读
- 10-1-1-2 Linux 操作系统与io框架
- 10-2-1 第1章 基于文件描述符的文件操作
- 10-2-1-1 文件IO-open_close
- 10-2-1-2 文件IO-read_write_lseek
- 10-3-1 第1章 基于标准C库的文件操作
- 10-3-1-1 标准io介绍_fprintf_缓冲区
- 10-3-1-2 fopen_fclose
- 10-3-1-3 fgetc_fputc
- 10-3-1-4 fgets_fputs
- 10-3-1-5 格式化数据输入与输出
- 10-3-1-6 二进制数据输入与输出
- 10-4-1 第1章 动态库、静态库制作和使用
- 10-4-1-1 静态库的原理与制作
- 10-4-1-2 动态库的原理与制作
- 【阶段4:嵌入式应用层开发之Linux 文件操作】第11周 Linux下文件操作项目实践与阶段评测
- 11-1-1 第1章 项目简介与框架设计
- 11-1-1-1 项目简介与基本框架最近学习
- 11-1-1-2 命令解析与分发
- 11-1-2 第2章 cp 命令设计与实现
- 11-1-2-1 cp 命令设计与实现(一)-思路分析与框架设计
- 11-1-2-2 cp 命令设计与实现(二)-文件类型解析
- 11-1-2-3 cp 命令设计与实现(三)-文件复制
- 11-1-2-4 cp 命令设计与实现-(四)-目录复制
- 11-1-3 第3章 ls 命令设计与实现
- 11-1-3-1 ls 命令设计与实现(一)-基本思路与框架搭建
- 11-1-3-2 ls 命令设计与实现(二)-获取文件类型
- 11-1-3-3 ls 命令设计与实现(三)- 获取文件权限
- 11-1-3-4 ls 命令设计与实现 (四) – 获取用户名与用户组名
- 11-1-3-5 ls 命令设计与实现 (五) – 获取文件大小与最后修改时间
- 11-1-3-6 ls 命令设计与实现(六)- 软链接文件处理与打印文件名
- 【阶段5:Linux 多进程、多线程、IO模型】第12周 Linux 多进程、多线程、IO模型
- 12-1-1 第1章 进程的概念
- 12-1-1-1 进程的概念
- 12-1-1-2 进程的地址空间
- 12-1-1-3 进程的状态
- 12-10-1 第1章 线程间同步
- 12-10-1-1 线程互斥锁
- 12-10-1-2 线程同步
- 12-10-1-3 线程同步与条件变量
- 12-11-1 第1章 阻塞、非阻塞IO
- 12-11-1-1 阻塞与非阻塞IO
- 12-12-1 第1章 IO多路复用
- 12-12-1-1 多路复用IO-select(一)-基本原理
- 12-12-1-2 多路复用IO-select(二)-应用
- 12-12-1-3 多路复用IO-select(三)-底层原理分析
- 12-12-1-4 多路复用io-poll(一)-基本原理与应用
- 12-12-1-5 多路复用io-poll(二)-底层原理分析
- 12-12-1-6 多路复用IO-epoll-基本原理
- 12-12-1-7 多路复用IO-epoll控制与等待最近学习
- 12-12-1-8 多路复用io-epoll底层实现
- 12-2-1 第1章 进程相关的命令
- 12-2-1-1 进程的相关命令
- 12-3-1 第1章 进程的创建
- 12-3-1-1 创建进程
- 12-3-1-2 进程执行不同任务-创建多个进程
- 12-3-1-3 进程的退出
- 12-3-1-4 进程的等待
- 12-3-1-5 进程的替换
- 12-4-1 第1章 进程间通信
- 12-4-1-1 进程间通讯-无名管道(上)
- 12-4-1-10 共享内存的创建与删除
- 12-4-1-11 共享内存的映射与解除映射
- 12-4-1-12 (选看)进程间通信
- 12-4-1-2 进程间通讯-无名管道(下)
- 12-4-1-3 进程间通讯-有名管道
- 12-4-1-4 信号的发送(上)
- 12-4-1-5 信号的发送(下)
- 12-4-1-6 信号的处理
- 12-4-1-7 alarm与子进程退出信号
- 12-4-1-8 消息队列的创建与删除
- 12-4-1-9 消息队列的发送与接收
- 12-5-1 第1章 进程间同步
- 12-5-1-1 信号量集合的创建与初始化
- 12-5-1-2 信号量的操作与互斥应用
- 12-5-1-3 信号量的同步
- 12-6-1 第1章 线程的概念
- 12-6-1-1 线程的概念
- 12-7-1 第1章 线程相关的命令
- 12-7-1-1 线程的相关命令
- 12-8-1 第1章 创建多个线程
- 12-8-1-1 线程的创建
- 12-8-1-2 线程的退出与等待
- 12-8-1-3 线程的分离
- 12-8-1-4 创建多个子线程
- 12-9-1 第1章 线程间通信
- 12-9-1-1 线程间通讯
- 【阶段5:Linux 多进程、多线程、IO模型】第13周 Linux 项目实战-实现并发服务器模型与企业笔试
- 13-1-1 第1章 项目总体框架
- 13-1-1-1 项目总体框架
- 13-1-2 第2章 环形队列实现
- 13-1-2-1 环形队列实现(一)-环形队列的基本框架与共享内存模块设计(上)
- 13-1-2-2 环形队列实现(一)-环形队列的基本框架与共享内存模块设计(下)
- 13-1-2-3 环形队列实现(二)-环形队列创建与销毁(上)
- 13-1-2-4 环形队列实现(二)-环形队列创建与销毁(下)
- 13-1-2-5 环形队列实现(三)-环形队列的数据读写
- 13-1-2-6 环形队列实现(四)-测试
- 13-1-3 第3章 线程池设计与实现
- 13-1-3-1 线程池原理与基本框架
- 13-1-3-2 线程池的数据结构设计
- 13-1-3-3 线程池的初始化
- 13-1-3-4 线程池添加任务
- 13-1-3-5 线程池任务执行
- 13-1-3-6 线程池销毁函数的实现
- 13-1-3-7 线程池的测试
- 13-1-4 第4章 项目整合与业务逻辑设计
- 13-1-4-1 项目整合与数据结构设计
- 13-1-4-10 消息队列封装-接收与删除
- 13-1-4-11 消息队列的测试
- 13-1-4-12 客户端读取订阅消息实现
- 13-1-4-13 服务器转发消息实现
- 13-1-4-2 客户端初始化与订阅数据发送
- 13-1-4-3 服务器初始化与数据接收
- 13-1-4-4 服务器数据分发
- 13-1-4-5 hashmap 模块实现
- 13-1-4-6 订阅处理函数实现
- 13-1-4-7 客户端发布消息接口设计
- 13-1-4-8 服务器发布消息接口实现-查询逻辑
- 13-1-4-9 消息队列封装-创建与发送
- 【阶段6:嵌入式应用层开发之Linux 网络编程】第14周 网络基础和UDP Socket编程
- 14-1-1 第1章 网络基础知识
- 14-1-1-1 网络历史概述最近学习
- 14-1-1-2 网络基本参数之IP地址
- 14-1-1-3 网络基本参数之网关,子网掩码,DNS服务器
- 14-1-1-4 网络基础之子网计算
- 14-10-1 第1章 基于udp协议的局域网聊天室软件开发
- 14-10-1-1 局域网聊天室概述
- 14-10-1-2 局域网聊天室之群发服务器设置(上)
- 14-10-1-3 局域网聊天室之群发服务器设置(下)
- 14-10-1-4 聊天室之整体功能说明
- 14-10-1-5 聊天室之客户端代码编写
- 14-10-1-6 聊天室之服务端代码编写
- 14-2-1 第1章 数据包内网、外网传输
- 14-2-1-1 家庭网络结构之局域网通信
- 14-2-1-2 家庭网络结构之外网通信
- 14-3-1 第1章 网络模型及网络协议栈的设计原理
- 14-3-1-1 网络体系架构
- 14-3-1-2 WireShark工具分析TCPIP五层协议
- 14-4-1 第1章 一帧数据包格式
- 14-4-1-1 TCP-IP协议通信模型
- 14-4-1-2 WireShark分析IP数据包
- 14-5-1 第1章 TCP、UDP协议
- 14-5-1-1 TCP协议概述最近学习
- 14-5-1-2 TCP协议之三次握手和四次挥手
- 14-5-1-3 WireShark通过HTTP来抓三次握手包
- 14-5-1-4 UDP协议概述
- 14-6-1 第1章 网络通信中常用协议
- 14-6-1-1 网络中常用协议汇总
- 14-6-1-2 putty利用ssh协议远程登录
- 14-7-1 第1章 udp客户端实现
- 14-7-1-1 UDP编程之基础知识
- 14-7-1-2 字节序转换API(上)
- 14-7-1-3 字节序转换API(下)
- 14-7-1-4 UDP通信创建流程
- 14-7-1-5 UDP客户端代码实战
- 14-8-1 第1章 udp服务器端实现
- 14-8-1-1 UDP服务器相关API函数
- 14-8-1-2 UDP服务器代码实战
- 14-9-1 第1章 udp并发服务器实现
- 14-9-1-1 并发服务器之多进程并发(上)
- 14-9-1-2 并发服务器之多进程并发(下)
- 14-9-1-3 并发服务器之多线程并发
- 【阶段6:嵌入式应用层开发之Linux 网络编程】第15周 TCP Socket编程和WireShark抓包分析
- 15-1-1 第1章 TCP客户端实现
- 15-1-1-1 tcp客户端连接
- 15-1-1-2 tcp客户端数据发送与接收
- 15-2-1 第1章 TCP服务器端实现
- 15-2-1-1 tcp服务器实现流程(一)-创建套接字与绑定ip地址与端口号
- 15-2-1-2 tcp服务器实现流程(二)-设置套接字状态与建立连接
- 15-2-1-3 tcp服务器实现流程(三)-数据发送与接收
- 15-3-1 第1章 TCP粘包分析
- 15-3-1-1 tcp粘包原因分析
- 15-3-1-2 tcp粘包解决方案
- 15-4-1 第1章 强化tcp socket的使用
- 15-4-1-1 tcp并发服务器-多进程
- 15-4-1-10 文件传输模块设计(四)-协议头发送接口设计
- 15-4-1-11 文件传输模块设计(五)-文件上传发送
- 15-4-1-12 文件传输模块设计(六)-客户端与服务器测试
- 15-4-1-2 tcp并发服务器-多线程
- 15-4-1-3 文件上传工具基础框架设计与 tcp socket 封装(一)
- 15-4-1-4 tcp socket 封装(二) – 客户端套接字接口设计
- 15-4-1-5 tcp socket 封装(三) – 数据读写、显示地址信息
- 15-4-1-6 tcp socket 封装(四) – 客户端与服务器测试
- 15-4-1-7 文件传输模块设计(一)- 协议设计与接收协议头
- 15-4-1-8 文件传输模块设计(二)- 接收数据
- 15-4-1-9 文件传输模块设计(三)-服务器文件上传接收
- 15-5-1 第1章 WireShark抓包工具
- 15-5-1-1 udp 协议与wireshark抓包分析
- 15-5-1-2 tcp 协议与wireshark抓包分析
- 【阶段6:嵌入式应用层开发之Linux 网络编程】第16周 网络编程项目实战-网络视频监控与企业笔试
- 16-1-1 第1章 Linux系统中获取摄像头数据
- 16-1-1-1 Ubuntu下摄像头的使用
- 16-1-1-2 V4L2接口访问摄像头属性(1)
- 16-1-1-3 V4L2接口访问摄像头属性(2-1)
- 16-1-1-4 V4L2接口访问摄像头属性(2-2)
- 16-1-1-5 V4L2接口访问摄像头属性(3-1)
- 16-1-1-6 V4L2接口访问摄像头属性(3-2)
- 16-1-1-7 V4L2接口获取一张YUV图片(1)
- 16-1-1-8 V4L2接口获取一张YUV图片(2)
- 16-2-1 第1章 libjpg库使用
- 16-2-1-1 YUV格式详解
- 16-2-1-2 YUV数据转RGB(1)
- 16-2-1-3 YUV数据转RGB(2)
- 16-2-1-4 YUV数据转RGB(3)
- 16-2-1-5 jpg格式及libjpeg库
- 16-3-1 第1章 实现HTTP协议数据传输
- 16-3-1-1 了解Http协议
- 16-3-1-2 Http协议传输html网页(1)
- 16-3-1-3 Http协议传输html网页(2-1)
- 16-3-1-4 Http协议传输html网页(2-2)
- 16-4-1 第1章 远程视频监控
- 16-4-1-1 Html协议传输图片(1)
- 16-4-1-2 Html协议传输图片(2)
- 16-4-1-3 视频流传输_项目总结
- 【阶段7:嵌入式应用层开发之Linux C++编程】第17周 从C到C++
- 17-1-1 第1章 C++初步认识及命名空间
- 17-1-1-1 初步介绍
- 17-1-1-2 命名空间
- 17-1-1-3 特殊命名空间及任务
- 17-10-1 第1章 C++静态成员与非静态成员
- 17-10-1-1 静态成员变量
- 17-10-1-2 静态成员函数及任务
- 17-10-1-3 静态成员与非静态成员之间的关系及任务
- 17-11-1 第1章 C++const关键字用法
- 17-11-1-1 const关键字用法及任务
- 17-12-1 第1章 C++友元
- 17-12-1-1 友元函数
- 17-12-1-2 友元类及任务
- 17-13-1 第1章 C++运算符重载
- 17-13-1-1 运算符重载
- 17-13-1-2 自增、自减运算符重载及任务
- 17-13-1-3 特殊运算符重载之赋值运算重载
- 17-13-1-4 特殊运算符之左移运算符重载
- 17-13-1-5 运算符重载注意点及任务
- 17-14-1 第1章 C++继承与组合
- 17-14-1-1 王者荣耀游戏分析
- 17-14-1-2 继承实现
- 17-14-1-3 组合实现
- 17-14-1-4 继承与组合优缺点
- 17-15-1 第1章 C++类成员访问权限
- 17-15-1-1 类中成员访问权限修饰
- 17-15-1-2 继承权限及任务
- 17-16-1 第1章 C++ 菱形继承
- 17-16-1-1 菱形继承
- 17-17-1 第1章 C++多态编程
- 17-17-1-1 用父类的引用接收不同子类对象
- 17-17-1-2 一个接口多种实现
- 17-17-1-3 多态思想介绍及任务
- 17-18-1 第1章 C++多态实现原理分析
- 17-18-1-1 对象大小分析与虚函数表
- 17-18-1-2 多态实现原理分析及任务
- 17-19-1 第1章 C++中重载、覆盖、隐藏辨析
- 17-19-1-1 重载、覆盖、隐藏
- 17-2-1 第1章 C++引用
- 17-2-1-1 引用初步使用
- 17-2-1-2 引用本质剖析
- 17-2-1-3 引用的其他操作
- 17-2-1-4 常引用及任务
- 17-20-1 第1章 C++虚析构函数含义
- 17-20-1-1 虚析构函数
- 17-21-1 第1章 C++抽象类与虚继承
- 17-21-1-1 抽象类
- 17-21-1-2 虚继承
- 17-22-1 第1章 C++泛型编程之函数模板
- 17-22-1-1 泛型介绍
- 17-22-1-2 函数模板
- 17-23-1 第1章 C++泛型编程之类模板
- 17-23-1-1 类模板及任务
- 17-23-1-2 非类型参数及任务
- 17-24-1 第1章 C++顺序容器运用
- 17-24-1-1 stl容器介绍
- 17-24-1-2 顺序容器vector使用
- 17-24-1-3 vector容器实现细节及迭代器遍历mov
- 17-24-1-4 顺序容器deque使用
- 17-24-1-5 顺序容器list
- 17-25-1 第1章 C++关联容器运用
- 17-25-1-1 关联容器set和multiset
- 17-25-1-2 关联容器map
- 17-25-1-3 关联容器multimap
- 17-26-1 第1章 C++容器适配器运用
- 17-26-1-1 容器适配器queue
- 17-26-1-2 容器适配器stack和priority_queue
- 17-27-1 第1章 C++迭代器与函数对象
- 17-27-1-1 迭代器的实现原理
- 17-27-1-2 函数对象理
- 17-3-1 第1章 C++函数增强部分
- 17-3-1-1 函数重载
- 17-3-1-2 函数默认值参数
- 17-3-1-3 内联函数及任务
- 17-4-1 第1章 C++动态内存分配与释放
- 17-4-1-1 new和delete用法
- 17-4-1-2 面试常问问题及任务
- 17-5-1 第1章 C++链接C库
- 17-5-1-1 链接c语言函数库及任务
- 17-6-1 第1章 面向对象与面向过程编程思想介绍
- 17-6-1-1 面向对象与面向过程介绍
- 17-7-1 第1章 C++类的设计
- 17-7-1-1 C语言中封装的思想
- 17-7-1-2 类的设计
- 17-7-1-3 struct和class区别及任务
- 17-8-1 第1章 对象创建与this指针
- 17-8-1-1 栈区、静态区、堆区创建对象及任务
- 17-8-1-2 this指针的由来
- 17-9-1 第1章 C++构造函数与析构函数
- 17-9-1-1 构造函数及任务
- 17-9-1-2 String类实现
- 17-9-1-3 析构函数及任务
- 17-9-1-4 拷贝构造之浅拷贝
- 17-9-1-5 拷贝构造之深拷贝及任务
- 【阶段7:嵌入式应用层开发之Linux C++编程】第18周 软件设计模式与C++11新特性
- 18-1-1 第1章 C++11介绍
- 18-1-1-1 C++11介绍
- 18-10-1 第1章 适配器设计模式
- 18-10-1-1 对象适配器设计模式
- 18-10-1-2 适配器设计模式
- 18-11-1 第1章 代理设计模式
- 18-11-1-1 代理设计模式
- 18-12-1 第1章 策略设计模式
- 18-12-1-1 策略设计模式介绍
- 18-12-1-2 策略设计模式编译错误解决
- 18-13-1 第1章 观察者设计模式
- 18-13-1-1 观察者设计模式介绍
- 18-13-1-2 观察者设计模式实现循环包含bug
- 18-13-1-3 观察者设计模式问题解决
- 18-2-1 第1章 C++11常用新语法关键字
- 18-2-1-1 auto关键字使用
- 18-2-1-2 nullptr关键字和新的初始化方法
- 18-2-1-3 新的for用法和assert_static
- 18-3-1 第1章 右值引用与移动语义
- 18-3-1-1 右值引用
- 18-3-1-2 移动语义
- 18-4-1 第1章 lambda表达式
- 18-4-1-1 lambda表达式初步认识
- 18-4-1-2 lambda省略格式使用
- 18-4-1-3 lambda表达式捕获外部变量
- 18-5-1 第1章 可调用对象与function包装器
- 18-5-1-1 可调用对象
- 18-5-1-2 function包装器
- 18-5-1-3 bind绑定可调用对象和参数
- 18-6-1 第1章 智能指针
- 18-6-1-1 智能指针auto_ptr
- 18-6-1-2 智能指针unique_ptr
- 18-6-1-3 智能指针shared_ptr使用
- 18-6-1-4 智能指针shared_ptr相互引用产生的bug分析
- 18-6-1-5 智能指针weak_ptr使用
- 18-6-1-6 智能指针weak_ptr解决循环引用的bug
- 18-6-1-7 智能指针shared_ptr实现原理分析
- 18-7-1 第1章 设计模式介绍
- 18-7-1-1 设计模式介绍
- 18-8-1 第1章 单例设计模式
- 18-8-1-1 饿汉式单例设计模式
- 18-8-1-2 懒汉式单例设计模式
- 18-8-1-3 懒汉式线程安全解决方案
- 18-9-1 第1章 工厂设计模式
- 18-9-1-1 简单工厂设计模式
- 18-9-1-2 工厂方法设计模式
- 18-9-1-3 抽象工厂设计模式
- 【阶段7:嵌入式应用层开发之Linux C++编程】第19周 项目实战-C++语言实现五子棋游戏与企业笔试
- 19-1-1 第1章 VT100终端控制码介绍
- 19-1-1-1 五子棋游戏介绍及vt100使用
- 19-1-1-2 米子输出
- 19-10-1 第1章 网络对战功能实现
- 19-10-1-1 网络对战实现思路介绍
- 19-10-1-2 网络玩家类初步实现
- 19-10-1-3 网络玩家类添加坐标发送和接收功能
- 19-10-1-4 网络玩家类实现等待落子功能
- 19-10-1-5 网络玩家类bug解决
- 19-10-1-6 网络游戏类实现思路分析
- 19-10-1-7 网络游戏类代码实现
- 19-10-1-8 标准输入缓冲区字符清除
- 19-10-1-9 本地模式和网络模式切换实现
- 19-2-1 第1章 棋子对象实现
- 19-2-1-1 棋子类实现思路介绍
- 19-2-1-2 棋子类实现
- 19-3-1 第1章 棋盘对象实现
- 19-3-1-1 棋盘显示
- 19-3-1-2 棋盘显示bug解决
- 19-3-1-3 屏幕坐标转换成棋盘的行和列
- 19-3-1-4 棋盘存放棋子
- 19-3-1-5 棋盘有效位置判定
- 19-4-1 第1章 玩家对象实现
- 19-4-1-1 玩家类实现原理讲解
- 19-4-1-2 玩家类实现
- 19-5-1 第1章 按键控制
- 19-5-1-1 Linux终端属性设置
- 19-5-1-2 光标类实现思路分析
- 19-5-1-3 光标类实现
- 19-5-1-4 光标类bug解决
- 19-5-1-5 按键类优化
- 19-6-1 第1章 赢棋情况分析
- 19-6-1-1 是否赢棋判定思路分析
- 19-6-1-2 棋盘类修改
- 19-7-1 第1章 裁判对象分析
- 19-7-1-1 裁判对象实现思路分析
- 19-7-1-2 裁判对象水平方向赢棋判定实现
- 19-7-1-3 裁判对象其他方向赢棋判定实现
- 19-7-1-4 裁判对象判定赢棋bug解决
- 19-8-1 第1章 获胜玩家显示
- 19-8-1-1 绘制层叠矩形
- 19-8-1-2 赢棋玩家信息显示
- 19-9-1 第1章 游戏对象实现
- 19-9-1-1 游戏对象实现
- 19-9-1-2 游戏对象bug解决
- 【阶段8:嵌入式应用层开发之-人机交互QT编程】第20周 嵌入式产品人机交互必备-QT框架
- 20-1-1 第1章 Qt介绍及工程搭建
- 20-1-1-1 Qt介绍
- 20-1-1-2 Qt工程创建及介绍
- 20-1-1-3 Qt父子对象机制及UI访问
- 20-10-1 第1章 Qt布局与QSS样式
- 20-10-1-1 Qt布局(一)
- 20-10-1-2 Qt布局(二)
- 20-10-1-3 Qt布局(三)
- 20-10-1-4 QSS样式介绍
- 20-10-1-5 QSS样式属性介绍
- 20-10-1-6 QSS样式使用
- 20-10-1-7 QSS属性选择器使用
- 20-10-1-8 QSS父控件样式影响子控件样式bug
- 20-10-1-9 QSS一键换肤功能实现
- 20-2-1 第1章 Qt信号与槽
- 20-2-1-1 信号与槽的介绍及定义
- 20-2-1-2 信号发送与槽函数调用
- 20-2-1-3 信号与槽的链接
- 20-2-1-4 信号与槽的连接类型及规则
- 20-2-1-5 自定义信号与槽及元对象编译器
- 20-3-1 第1章 QString与QByteArray使用
- 20-3-1-1 字符编码发展史及Unicode编码
- 20-3-1-2 QString使用(一)
- 20-3-1-3 QString使用(二)
- 20-3-1-4 QByteArray使用(一)
- 20-3-1-5 QByteArray使用(二)
- 20-4-1 第1章 QString与QByteArray使用
- 20-4-1-1 字符编码发展史及Unicode编码
- 20-4-1-2 QString使用(一)
- 20-4-1-3 QString使用(二)
- 20-4-1-4 QByteArray使用(一)
- 20-4-1-5 QByteArray使用(二)
- 20-5-1 第1章 Qt 文件操作
- 20-5-1-1 Qt文件操作QFIle使用(一)
- 20-5-1-2 Qt文件操作QFile使用(二)
- 20-5-1-3 Qt文件操作QTextStream使用(一)
- 20-5-1-4 Qt文件操作QTextStream使用(二)
- 20-5-1-5 文件操作QDataStream使用
- 20-6-1 第1章 Qt 多线程编程
- 20-6-1-1 Qt多线程介绍
- 20-6-1-2 Qt多线程QThread类使用
- 20-6-1-3 Qt多线程moveToThread函数使用
- 20-6-1-4 Qt多线程QThreadPool使用
- 20-6-1-5 Qt多线程QtConcurrent使用
- 20-6-1-6 线程三大机制介绍
- 20-7-1 第1章 Qt 网络编程
- 20-7-1-1 Qt网络通信TCP客户端编写(一)
- 20-7-1-10 Qt网络通信HTTP协议介绍
- 20-7-1-11 Qt网络通信HTTP协议get方法请求
- 20-7-1-12 Qt网络通信HTTP协议post方法请求
- 20-7-1-13 Web服务器环境搭建
- 20-7-1-14 Qt网络通信HTTP协议获取数据
- 20-7-1-15 JSON格式数据介绍
- 20-7-1-16 Qt网络通信JSON数据解析
- 20-7-1-17 Qt网络通信JSON数据解析bug解决
- 20-7-1-2 Qt网络通信TCP客户端编写(二)
- 20-7-1-3 Qt网络通信TCP客户端编写(三)
- 20-7-1-4 Qt网络通信TCP客户端编写(四)
- 20-7-1-5 Qt网络通信TCP服务器端编写(一)
- 20-7-1-6 Qt网络通信TCP服务器端编写(二)
- 20-7-1-7 Qt网络通信TCP服务器端编写(三)
- 20-7-1-8 Qt网络通信UDP传输数据(一)
- 20-7-1-9 Qt网络通信UDP传输数据(二)
- 20-8-1 第1章 Qt 数据库编程
- 20-8-1-1 Qt数据库介绍
- 20-8-1-10 Qt数据库操作QSqlRelationalTableModel模型操作(二)
- 20-8-1-2 Qt数据库加载与连接移除
- 20-8-1-3 Qt数据库连接跨线程使用
- 20-8-1-4 Qt数据库SQL语句执行
- 20-8-1-5 Qt数据库事务操作
- 20-8-1-6 Qt数据库操作QSqlQueryModel模型操作
- 20-8-1-7 Qt数据库操作QSqlTableModel模型操作(一)
- 20-8-1-8 Qt数据库操作QSqlTableModel模型操作(二)
- 20-8-1-9 Qt数据库操作QSqlRelationalTableModel模型操作(一)
- 20-9-1 第1章 Qt 图形与图像
- 20-9-1-1 Qt图形与图像绘制介绍
- 20-9-1-10 GraphicsView坐标映射
- 20-9-1-11 属性动画
- 20-9-1-12 QCustomPlot介绍
- 20-9-1-13 QCustomPlot使用(一)
- 20-9-1-14 QCustomPlot使用(二)
- 20-9-1-15 QCustomPlot使用(三)
- 20-9-1-16 QCustomPlot使用(四)
- 20-9-1-17 QCustomPlot使用(五)
- 20-9-1-2 在wiget上面绘制矩形
- 20-9-1-3 Qt图像间组合介绍
- 20-9-1-4 Qt图像间融合实现(一)
- 20-9-1-5 Qt图像间融合实现(二)
- 20-9-1-6 Qt图像间融合实现(三)
- 20-9-1-7 GraphicsView框架介绍
- 20-9-1-8 GraphicsView添加图元
- 20-9-1-9 GraphicsView添加自定义图元
- 【阶段8:嵌入式应用层开发之-人机交互QT编程】第21周 项目实战-QT开发音乐播放器
- 21-1-1 第1章 Qt云音乐播放器介绍及UI设计
- 21-1-1-1 Qt云音乐播放器项目介绍
- 21-1-1-2 Qt云音乐播放器工程创建及UI布局分析
- 21-1-1-3 Qt云音乐播放器UI布局(一)
- 21-1-1-4 Qt云音乐播放器UI布局(二)
- 21-1-1-5 Qt云音乐播放器样式设置
- 21-1-1-6 Qt云音乐播放器架构设计分析
- 21-10-1 第1章 Qt云音乐播放器本地歌曲播放实现
- 21-10-1-1 Qt云音乐播放器本地歌曲播放(一)
- 21-10-1-10 Qt云音乐播放器本地歌曲右键菜单删除歌曲功能实现(三)
- 21-10-1-11 Qt云音乐播放器本地歌曲右键菜单另存功能实现(一)
- 21-10-1-12 Qt云音乐播放器本地歌曲右键菜单另存功能实现(二)
- 21-10-1-2 Qt云音乐播放器本地歌曲播放(二)
- 21-10-1-3 Qt云音乐播放器本地歌曲播放(三)
- 21-10-1-4 Qt云音乐播放器遗留bug解决
- 21-10-1-5 Qt云音乐播放器本地歌曲右键菜单功能实现(一)
- 21-10-1-6 Qt云音乐播放器本地歌曲右键菜单功能实现(二)
- 21-10-1-7 Qt云音乐播放器本地歌曲右键菜单删除歌曲功能实现(一)
- 21-10-1-8 Qt云音乐播放器本地歌曲右键菜单删除歌曲功能实现(二)
- 21-10-1-9 Qt云音乐播放器遗留bug解决
- 21-11-1 第1章 Qt云音乐播放器程序发布及总结
- 21-11-1-1 Qt云音乐播放器程序打包发布(一)
- 21-11-1-2 Qt云音乐播放器程序打包发布(二)
- 21-11-1-3 Qt云音乐播放器项目总结
- 21-2-1 第1章 Qt云音乐播放器HTTP通信及歌曲搜索
- 21-2-1-1 Qt云音乐播放器MusicHttp实现(一)
- 21-2-1-2 Qt云音乐播放器MusicHttp实现(二)
- 21-2-1-3 Qt云音乐播放器MusicSearch实现(一)
- 21-2-1-4 Qt云音乐播放器MusicSearch实现(二)
- 21-2-1-5 Qt云音乐播放器MusicSearch实现(三)
- 21-2-1-6 Qt云音乐播放器MusicHttpUrl实现
- 21-3-1 第1章 Qt云音乐播放器网络歌曲播放功能实现
- 21-3-1-1 Qt云音乐播放器歌曲显示与播放(一)
- 21-3-1-2 Qt云音乐播放器歌曲显示与播放(二)
- 21-3-1-3 Qt云音乐播放器歌曲显示与播放(三)
- 21-3-1-4 Qt云音乐播放器歌曲显示与播放(四)
- 21-3-1-5 Qt云音乐播放器MusicPlayer类实现网络歌曲播放
- 21-3-1-6 Qt云音乐播放器MusicPlayer类实现播放时间与进度条同步
- 21-4-1 第1章 Qt云音乐播放器歌词与歌曲同步
- 21-4-1-1 Qt云音乐播放器MusicLyric类实现获取歌词数据
- 21-4-1-10 Qt云音乐播放器pri工程创建与使用
- 21-4-1-2 Qt云音乐播放器MusicLyric类实现获取歌词数据解析
- 21-4-1-3 Qt云音乐播放器MusicLyric类实现记录歌词文本和时间
- 21-4-1-4 Qt云音乐播放器歌词在UI界面显示
- 21-4-1-5 Qt云音乐播放器歌词显示与歌曲列表显示切换
- 21-4-1-6 Qt云音乐播放器歌曲播放的时候自动切换到歌词显示
- 21-4-1-7 Qt云音乐播放器歌曲播放与歌词同步(一)
- 21-4-1-8 Qt云音乐播放器歌曲播放与歌词同步(二)
- 21-4-1-9 Qt云音乐播放器歌曲播放与歌词同步(三)
- 21-5-1 第1章 Qt云音乐播放器专辑图片动画显示
- 21-5-1-1 Qt云音乐播放器MusicAlbum实现(一)
- 21-5-1-10 Qt云音乐播放器磁条旋转后光盘旋转效果实现
- 21-5-1-11 Qt云音乐播放器磁条旋转后光盘旋转效果优化
- 21-5-1-2 Qt云音乐播放器MusicAlbum实现(二)
- 21-5-1-3 Qt云音乐播放器在场景中添加图元
- 21-5-1-4 Qt云音乐播放器场景中添加图元编译器错误解决及图元显示位置不对原因分析
- 21-5-1-5 Qt云音乐播放器场景中添加光盘图元正常显示
- 21-5-1-6 Qt云音乐播放器场景中添加磁条图元正常显示
- 21-5-1-7 Qt云音乐播放器更新场景专辑图片
- 21-5-1-8 Qt云音乐播放器光盘旋转动画实现
- 21-5-1-9 Qt云音乐播放器磁条旋转动画实现
- 21-6-1 第1章 Qt云音乐播放器功能按钮处理
- 21-6-1-1 Qt云音乐播放器播放按钮处理(一)
- 21-6-1-2 Qt云音乐播放器播放按钮处理(二)
- 21-6-1-3 Qt云音乐播放器下一首播放按钮处理(一)
- 21-6-1-4 Qt云音乐播放器下一首播放按钮处理(二)
- 21-6-1-5 Qt云音乐播放器上一首播放按钮处理
- 21-6-1-6 Qt云音乐播放器随机播放按钮处理(一)
- 21-6-1-7 Qt云音乐播放器随机播放按钮处理(二)
- 21-7-1 第1章 Qt云音乐播放器菜单栏功能实现
- 21-7-1-1 Qt云音乐播放器声音大小设置(一)
- 21-7-1-10 Qt云音乐播放器服务器端地址设置(四)
- 21-7-1-11 Qt云音乐播放器下载网络歌曲标志设置
- 21-7-1-12 Qt云音乐播放器设置参数存储(一)
- 21-7-1-13 Qt云音乐播放器设置参数存储(二)
- 21-7-1-14 Qt云音乐播放器设置参数存储(三)
- 21-7-1-15 Qt云音乐播放器设置参数存储(四)
- 21-7-1-2 Qt云音乐播放器声音大小设置(二)
- 21-7-1-3 Qt云音乐播放器声音大小设置(三)
- 21-7-1-4 Qt云音乐播放器歌曲下载路径设置(一)
- 21-7-1-5 Qt云音乐播放器歌曲下载路径设置(二)
- 21-7-1-6 Qt云音乐播放器服务器端地址设置(一)
- 21-7-1-7 Qt云音乐播放器服务器端地址设置(二)
- 21-7-1-8 Qt云音乐播放器服务器端地址设置(三)
- 21-7-1-9 Qt云音乐播放器解决发现的属性动画bug
- 21-8-1 第1章 Qt云音乐播放器歌曲下载实现
- 21-8-1-1 Qt云音乐播放器歌曲下载(一)
- 21-8-1-2 Qt云音乐播放器歌曲下载(二)
- 21-8-1-3 Qt云音乐播放器歌曲下载(三)
- 21-8-1-4 Qt云音乐播放器歌曲下载(四)
- 21-8-1-5 Qt云音乐播放器歌曲下载(五)
- 21-8-1-6 Qt云音乐播放器歌曲下载(六)
- 21-8-1-7 Qt云音乐播放器歌曲下载(七)
- 21-9-1 第1章 Qt云音乐播放器歌曲信息数据库存储
- 21-9-1-1 Qt云音乐播放器歌曲信息数据库存储(一)
- 21-9-1-2 Qt云音乐播放器歌曲信息数据库存储(二)
- 21-9-1-3 Qt云音乐播放器歌曲信息数据库存储(三)
- 21-9-1-4 Qt云音乐播放器歌曲信息数据库存储(四)
- 21-9-1-5 Qt云音乐播放器歌曲信息数据库存储(五)
- 21-9-1-6 Qt云音乐播放器歌曲信息数据库存储(六)
- 【阶段9:ARM接口技术和智能硬件开发】第22周 智能硬件开发-ARM核介绍和基础外设
- 22-1-1 第1章 ARM课程介绍及开发环境搭建
- 22-1-1-1 ARM课程学习方法及学习内容介绍
- 22-1-1-2 Keil开发软件安装
- 22-1-1-3 Legacy Support安装
- 22-10-1 第1章 gcc优化与volatile关键字
- 22-10-1-1 gcc优化与volatile关键字使用
- 22-11-1 第1章 ARM核异常处理
- 22-11-1-1 ARM核异常处理(一)
- 22-11-1-2 ARM核异常处理(二)
- 22-11-1-3 ARM核异常处理(三)
- 22-11-1-4 ARM核异常处理(四)
- 22-11-1-5 ARM核异常处理(五)
- 22-11-1-6 ARM核异常处理(六)
- 22-13-1 第1章 小车安装及硬件介绍
- 22-13-1-1 小车底板安装
- 22-13-1-2 不会安装和不想烧板看我
- 22-13-1-3 小车上板安装
- 22-13-1-4 小车测试
- 22-13-1-5 小车主控芯片介绍
- 22-13-1-6 嵌入式开发工具介绍
- 22-14-1 第1章 IMX6ULL裸机开发环境搭建
- 22-14-1-1 Linaro的交叉编译器下载
- 22-14-1-10 短接USB转串口的跳线
- 22-14-1-11 通过kermit发送程序在小车上面运行
- 22-14-1-12 kermit在使用的时候一些注意点
- 22-14-1-13 小车程序固化说明
- 22-14-1-2 Ubuntu安装交叉开发工具
- 22-14-1-3 vscode下载安装
- 22-14-1-4 vscode插件安装
- 22-14-1-5 vscode通过ssh远程链接ubuntu
- 22-14-1-6 imx6ull裸机工程下载
- 22-14-1-7 imx6ull裸机工程分析
- 22-14-1-8 ckermit工具安装
- 22-14-1-9 电脑连接小车上面的USB转串口设备
- 22-15-1 第1章 GPIO控制LED灯
- 22-15-1-1 硬件原理图阅读(一)
- 22-15-1-10 IMX6ULL GPIO控制LED编程实现
- 22-15-1-2 硬件原理图阅读(二)
- 22-15-1-3 GPIO介绍
- 22-15-1-4 IMX6ULL GPIO设计介绍
- 22-15-1-5 IMX6ULL GPIO管脚复用功能设置
- 22-15-1-6 IMX6ULL GPIO管脚电器属性设置
- 22-15-1-7 IMX6ULL GPIO管脚配置设置
- 22-15-1-8 IMX6ULL GPIO管脚时钟信号使能
- 22-15-1-9 IMX6ULL GPIO控制LED编程思路总结
- 22-16-1 第1章 GPIO控制按键
- 22-16-1-1 按键硬件原理图阅读
- 22-16-1-2 按键控制相关寄存器介绍
- 22-16-1-3 按键控制LED灯编程实现
- 22-2-1 第1章 芯片产业链及ARM核介绍
- 22-2-1-1 CPU核工作原理介绍
- 22-2-1-2 芯片产业链介绍
- 22-2-1-3 ARM核发展介绍
- 22-3-1 第1章 ARM工作模式及寄存器资源
- 22-3-1-1 ARM工作模式(一)
- 22-3-1-2 ARM工作模式(二)
- 22-3-1-3 ARM核寄存器资源(一)
- 22-3-1-4 ARM核寄存器资源(二)
- 22-4-1 第1章 ARM指令开发环境搭建
- 22-4-1-1 Keil工程创建
- 22-4-1-2 ARM平台编译器介绍
- 22-4-1-3 Keil仿真环境设置
- 22-5-1 第1章 ARM数据传送及运算指令
- 22-5-1-1 ARM指令格式介绍
- 22-5-1-2 ARM数据传送指令
- 22-5-1-3 ARM数据计算指令(一)
- 22-5-1-4 ARM数据计算指令(二)
- 22-5-1-5 ARM位运算指令(一)
- 22-5-1-6 ARM位运算指令(二)
- 22-5-1-7 ARM位运算指令(三)
- 22-6-1 第1章 ARM比较指令及跳转指令
- 22-12-1-1 电子电路之电阻与电容
- 22-12-1-2 电子电路之电感与二极管
- 22-12-1-3 电子电路之三极管
- 22-12-1-4 电子电路之MOS管
- 22-12-1-5 电子电路之与非门
- 22-12-1-6 电子电路之元器件在原理图中的标识
- 22-6-1-1 ARM比较指令(一)
- 22-6-1-2 ARM比较指令(二)
- 22-6-1-3 ARM跳转指令(一)
- 22-6-1-4 ARM跳转指令(二)
- 22-7-1 第1章 ARM内存访问指令及状态访问指令
- 22-7-1-1 ARM内存访问指令(一)
- 22-7-1-2 ARM内存访问指令(二)
- 22-7-1-3 ARM内存访问指令(三)
- 22-7-1-4 ARM内存访问指令(四)
- 22-7-1-5 ARM内存访问指令(五)
- 22-7-1-6 ARM状态寄存器操作指令
- 22-8-1 第1章 ARM指令流水线分析及伪指令
- 22-8-1-1 ARM指令流水线分析
- 22-8-1-2 ARM伪指令(一)
- 22-8-1-3 ARM伪指令(二)
- 22-8-1-4 ARM伪指令(三)
- 22-8-1-5 ARM伪指令(四)
- 22-9-1 第1章 ATPSC标准及汇编与C混合编程
- 22-9-1-1 ATPCS标准(一)
- 22-9-1-2 ATPCS标准(二)
- 22-9-1-3 汇编与C混合编程(一)
- 22-9-1-4 汇编与C混合编程(二)
- 【阶段9:ARM接口技术和智能硬件开发】第23周 智能硬件开发-单片机常用外设
- 23-1-1 第1章 GPT实现延时
- 23-1-1-1 定时器工作原理介绍
- 23-1-1-2 GPT定时器介绍
- 23-1-1-3 GPT定时器时钟源配置
- 23-1-1-4 GPT定时器计数器工作模式介绍
- 23-1-1-5 GPT定时器操作介绍
- 23-1-1-6 输入捕获工作原理介绍
- 23-1-1-7 GPT定时器输入捕获事件介绍
- 23-1-1-8 GPT定时器输出比较事件介绍
- 23-1-1-9 GPT高精度延时编程实现
- 23-10-1 第1章 SPI总线
- 23-10-1-1 SPI总线介绍
- 23-10-1-10 SPI硬件原理图阅读(二)
- 23-10-1-11 SPI控制器管脚初始化(一)
- 23-10-1-12 SPI控制器管脚初始化(二)
- 23-10-1-13 SPI控制器初始化
- 23-10-1-14 SPI控制器通道配置
- 23-10-1-15 SPI控制器传输数据
- 23-10-1-16 SPI控制器硬件回环测试
- 23-10-1-2 SPI总线时序介绍
- 23-10-1-3 SPI控制介绍(一)
- 23-10-1-4 SPI控制介绍(二)
- 23-10-1-5 SPI控制器寄存器介绍(一)
- 23-10-1-6 SPI控制器寄存器介绍(二)
- 23-10-1-7 SPI控制器寄存器介绍(三)
- 23-10-1-8 SPI控制器寄存器介绍(四)
- 23-10-1-9 SPI硬件原理图阅读(一)
- 23-11-1 第1章 wire单总线通信
- 23-11-1-1 单总线介绍
- 23-11-1-10 DS18B20原理图阅读
- 23-11-1-11 DS18B20 GPIO口相关操作函数接口编写
- 23-11-1-12 DS18B20设备探测(一)
- 23-11-1-13 DS18B20设备探测(二)
- 23-11-1-14 DS18B20写入bit函数接口实现
- 23-11-1-15 DS18B20读取bit函数接口实现
- 23-11-1-16 DS18B20写入1个字节函数接口实现
- 23-11-1-17 DS18B20读取1个字节函数接口实现
- 23-11-1-18 读取DS18B20的ID
- 23-11-1-19 读取DS18B20采集的温度数据(一)
- 23-11-1-2 DS18B20介绍
- 23-11-1-20 读取DS18B20采集的温度数据(二)
- 23-11-1-3 DS18B20温度测量介绍
- 23-11-1-4 DS18B20操作(一)
- 23-11-1-5 DS18B20操作(二)
- 23-11-1-6 DS18B20操作(三)
- 23-11-1-7 DS18B20操作时序(一)
- 23-11-1-8 DS18B20操作时序(二)
- 23-11-1-9 DS18B20操作时序(三)
- 23-12-1 第1章 CAN总线通信之理论篇
- 23-12-1-1 CAN总线由来介绍
- 23-12-1-10 CAN总线通信错误帧格式及状态转换介绍
- 23-12-1-11 CAN总线通信主动错误和被动错误介绍
- 23-12-1-12 CAN总线通信过载帧和帧间隔介绍
- 23-12-1-13 CAN总线通信采样点和波特率介绍
- 23-12-1-14 CAN总线通信采样点中的一些段介绍
- 23-12-1-15 CAN总线通信采样点和波特率涉及的一些概念介绍
- 23-12-1-16 CAN总线通信采样点和波特率计算
- 23-12-1-2 CAN总线介绍
- 23-12-1-3 CAN总线标准介绍
- 23-12-1-4 CAN总线物理层介绍
- 23-12-1-5 CAN总线通信帧类型介绍
- 23-12-1-6 CAN总线通信一帧数据格式介绍
- 23-12-1-7 CAN总线通信非破坏性仲裁机制介绍
- 23-12-1-8 CAN总线通信位填充机制介绍
- 23-12-1-9 CAN总线通信错误帧介绍
- 23-13-1 第1章 CAN总线通信之实战篇
- 23-13-1-1 CAN总线通信硬件原理图阅读
- 23-13-1-10 FlexCan控制器重点寄存器介绍(二)
- 23-13-1-11 FlexCan控制器重点寄存器介绍(三)
- 23-13-1-12 FlexCan控制器重点寄存器介绍(四)
- 23-13-1-13 FlexCan控制器GPIO初始化
- 23-13-1-14 FlexCan控制器时钟信号初始化
- 23-13-1-15 FlexCan控制器初始化
- 23-13-1-16 FlexCan控制器采样点和波特率设置(一)
- 23-13-1-17 FlexCan控制器采样点和波特率设置(二)
- 23-13-1-18 FlexCan控制器发送邮箱配置
- 23-13-1-19 FlexCan控制器接收邮箱配置
- 23-13-1-2 FlexCan控制器介绍
- 23-13-1-20 FlexCan控制器发送数据
- 23-13-1-21 FlexCan控制器接收数据
- 23-13-1-22 FlexCan控制器回环测试(一)
- 23-13-1-23 FlexCan控制器回环测试(二)
- 23-13-1-24 FlexCan控制器CAN节点通信(一)
- 23-13-1-25 FlexCan控制器CAN节点通信(二)
- 23-13-1-3 FlexCan控制器工作模式介绍
- 23-13-1-4 FlexCan控制器时钟信号配置
- 23-13-1-5 FlexCan控制器MB结构介绍
- 23-13-1-6 FlexCan控制器发送流程介绍
- 23-13-1-7 FlexCan控制器接收流程介绍
- 23-13-1-8 FlexCan控制器位时序参数介绍
- 23-13-1-9 FlexCan控制器重点寄存器介绍(一)
- 23-14-1 第1章 LCD屏控制之理论篇
- 23-14-1-1 LCD屏及工作原理介绍
- 23-14-1-10 YUV格式介绍
- 23-14-1-11 YUV与YCbCr区别介绍
- 23-14-1-12 YUV的采样方式介绍
- 23-14-1-2 LCD屏分类介绍
- 23-14-1-3 LCD屏TTL接口介绍
- 23-14-1-4 LCD屏LVDS接口介绍
- 23-14-1-5 LCD屏EDP接口介绍
- 23-14-1-6 LCD屏MIPI接口介绍
- 23-14-1-7 LCD屏MCU接口介绍
- 23-14-1-8 LCD屏其他接口介绍
- 23-14-1-9 RGB格式介绍
- 23-15-1 第1章 LCD屏控制之实战篇
- 23-15-1-1 LCD屏硬件原理图阅读(一)
- 23-15-1-10 LCD控制器时钟信号介绍(一)
- 23-15-1-11 LCD控制器时钟信号介绍(二)
- 23-15-1-12 LCD控制器寄存器介绍(一)
- 23-15-1-13 LCD控制器寄存器介绍(二)
- 23-15-1-14 LCD控制器寄存器介绍(三)
- 23-15-1-15 LCD控制器寄存器介绍(四)
- 23-15-1-16 LCD控制器GPIO管脚初始化
- 23-15-1-17 LCD控制器时钟信号初始化(一)
- 23-15-1-18 LCD控制器时钟信号初始化(二)
- 23-15-1-19 LCD控制器时钟信号初始化(三)
- 23-15-1-2 LCD屏硬件原理图阅读(二)
- 23-15-1-20 LCD控制器初始化
- 23-15-1-21 LCD控制器时序初始化(一)
- 23-15-1-22 LCD控制器时序初始化(二)
- 23-15-1-23 LCD控制器显存地址设定和控制器使能
- 23-15-1-24 LCD控制器清屏功能实现
- 23-15-1-25 LCD控制器RGB接口清屏功能测试(一)
- 23-15-1-26 LCD控制器RGB接口清屏功能测试(二)
- 23-15-1-27 LCD控制器RGB888图片显示测试(一)
- 23-15-1-28 LCD控制器RGB888图片显示测试(二)
- 23-15-1-29 LCD控制器RGB565图片显示测试(一)
- 23-15-1-3 LCD屏RGB接口时序分析(一)
- 23-15-1-30 15.30LCD控制器RGB565图片显示测试(二)
- 23-15-1-4 LCD屏RGB接口时序分析(二)
- 23-15-1-5 LCD屏实际使用屏RGB接口时序分析(一)
- 23-15-1-6 LCD屏实际使用屏RGB接口时序分析(二)
- 23-15-1-7 15.7LCD屏实际使用屏RGB接口时序分析(三)
- 23-15-1-8 LCD控制器介绍
- 23-15-1-9 LCD控制器DOTCLK Interface接口介绍
- 23-16-1 第1章 Camera控制之理论篇
- 23-16-1-1 摄像头工作原理介绍
- 23-16-1-2 摄像头常用参数介绍
- 23-16-1-3 摄像头DVP接口介绍
- 23-16-1-4 摄像头MIPI-CSI2接口介绍
- 23-16-1-5 摄像头USB接口介绍
- 23-16-1-6 摄像头输出的数据格式介绍
- 23-16-1-7 数字视频信号标准ITU-R BT.601和ITU-R BT.656介绍
- 23-17-1 第1章 Camera控制之实战篇(一)
- 23-17-1-1 OV2640硬件原理图阅读
- 23-17-1-10 OV2640的产品ID读取(二)
- 23-17-1-11 OV2640寄存器序列值写入(一)
- 23-17-1-12 OV2640寄存器序列值写入(二)
- 23-17-1-2 OV2640摄像头介绍(一)
- 23-17-1-3 OV2640摄像头介绍(二)
- 23-17-1-4 OV2640控制总线SCCB介绍(一)
- 23-17-1-5 OV2640控制总线SCCB介绍(二)
- 23-17-1-6 OV2640 I2C管脚初始化
- 23-17-1-7 OV2640硬件管脚复位
- 23-17-1-8 OV2640内部寄存器读写函数实现
- 23-17-1-9 OV2640的产品ID读取(一)
- 23-18-1 第1章 Camera控制之实战篇(二)
- 23-18-1-1 CSI控制器介绍(一)
- 23-18-1-10 CSI控制器始化(一)
- 23-18-1-11 CSI控制器始化(二)
- 23-18-1-12 CSI控制器始化(三)
- 23-18-1-13 Camera采集数据在LCD上面显示(一)
- 23-18-1-14 Camera采集数据在LCD上面显示(二)
- 23-18-1-2 CSI控制器介绍(二)
- 23-18-1-3 CSI控制器介绍(三)
- 23-18-1-4 CSI控制器介绍(四)
- 23-18-1-5 CSI控制器寄存器介绍(一)
- 23-18-1-6 CSI控制器寄存器介绍(二)
- 23-18-1-7 CSI控制器寄存器介绍(三)
- 23-18-1-8 CSI控制器GPIO初始化(一)
- 23-18-1-9 CSI控制器GPIO初始化(二)
- 23-19-1 第1章 电容触摸屏控制
- 23-19-1-1 电容屏硬件原理图阅读
- 23-19-1-10 电容屏GT911产品ID读取(二)
- 23-19-1-11 电容屏GT911中断初始化
- 23-19-1-12 电容屏GT911触摸点个数设定(一)
- 23-19-1-13 电容屏GT911触摸点个数设定(二)
- 23-19-1-14 电容屏GT911发送实时命令开启触摸坐标测量
- 23-19-1-15 电容屏GT911触控坐标读取(一)
- 23-19-1-16 19.16电容屏GT911触控坐标读取(二)
- 23-19-1-17 电容屏GT911触控坐标读取(三)
- 23-19-1-18 电容屏GT911触控坐标读取(四)
- 23-19-1-19 电容屏GT911初始化序列介绍
- 23-19-1-2 电容屏GT911从机地址设定介绍
- 23-19-1-3 电容屏GT911内部寄存器读写操作介绍
- 23-19-1-4 19.4电容屏GT911内部寄存器介绍
- 23-19-1-5 电容屏GT911管脚初始化
- 23-19-1-6 电容屏GT911从机地址设定
- 23-19-1-7 电容屏GT911 I2C控制器初始化
- 23-19-1-8 电容屏GT911内部寄存器函数读写实现
- 23-19-1-9 电容屏GT911产品ID读取(一)
- 23-2-1 第1章 PWM控制蜂鸣器
- 23-2-1-1 PWM介绍
- 23-2-1-10 PWM驱动蜂鸣器代码编写
- 23-2-1-11 PWM驱动蜂鸣器bug分析
- 23-2-1-2 PWM工作原理介绍
- 23-2-1-3 IMX6ull PWM介绍
- 23-2-1-4 IMX6ull PWM工作原理介绍
- 23-2-1-5 IMX6ull PWM FIFO介绍
- 23-2-1-6 IMX6ull PWM相关寄存器介绍
- 23-2-1-7 蜂鸣器原理图阅读(一)
- 23-2-1-8 蜂鸣器原理图阅读(二)
- 23-2-1-9 PWM驱动蜂鸣器编程思路分析
- 23-3-1 第1章 串口通信
- 23-3-1-1 串口介绍
- 23-3-1-10 IMX6ull UART相关寄存器介绍
- 23-3-1-11 串口硬件原理图阅读
- 23-3-1-12 串口编程思路分析
- 23-3-1-13 串口收发数据编程实现
- 23-3-1-14 串口支持printf格式输出
- 23-3-1-2 串口通信TTL电平标准
- 23-3-1-3 串口通信RS232电平标准
- 23-3-1-4 串口通信RS485电平标准
- 23-3-1-5 串口通信RS422电平标准
- 23-3-1-6 串口通信电平标准对比
- 23-3-1-7 串口通信协议介绍
- 23-3-1-8 UART介绍
- 23-3-1-9 IMX6ull UART介绍
- 23-4-1 第1章 中断处理
- 23-4-1-1 中断介绍
- 23-4-1-10 GIC中断优先级介绍
- 23-4-1-11 GIC中断变化分析
- 23-4-1-12 GIC中断分发器相关寄存器介绍
- 23-4-1-13 GIC CPU接口单元相关寄存器介绍
- 23-4-1-14 IMX6ull GIC中断控制器介绍(一)
- 23-4-1-15 IMX6ull GIC中断控制器介绍(二)
- 23-4-1-16 按键中断实现(一)
- 23-4-1-17 按键中断实现(二)
- 23-4-1-18 按键中断实现(三)
- 23-4-1-19 按键中断实现(四)
- 23-4-1-2 ARM核异常处理介绍
- 23-4-1-3 ARM核IRQ异常指令流水线分析
- 23-4-1-4 ARM核中断处理过程分析
- 23-4-1-5 中断相关概念介绍
- 23-4-1-6 GIC中断控制器介绍
- 23-4-1-7 GIC支持中断类型介绍
- 23-4-1-8 GIC中断分发器和CPU接口单元介绍
- 23-4-1-9 GIC中断分组介绍
- 23-5-1 第1章 ADC控制
- 23-5-1-1 ADC介绍
- 23-5-1-10 IMx6ull ADC电压采集编程实现(一)
- 23-5-1-11 IMx6ull ADC电压采集编程实现(二)
- 23-5-1-2 IMX6ull ADC控制器介绍(一)
- 23-5-1-3 IMX6ull ADC控制器介绍(二)
- 23-5-1-4 IMX6ull ADC控制器介绍(三)
- 23-5-1-5 IMX6ull ADC控制器介绍(四)
- 23-5-1-6 IMX6ull ADC控制器介绍(五)
- 23-5-1-7 IMX6ull ADC相关寄存器介绍
- 23-5-1-8 IMx6ull ADC硬件原理图阅读
- 23-5-1-9 IMx6ull ADC电压采集编程思路介绍
- 23-6-1 第1章 WDOG看门狗使用
- 23-6-1-1 看门狗介绍
- 23-6-1-2 IMX6ull 看门狗定时器介绍(一)
- 23-6-1-3 IMX6ull 看门狗定时器介绍(二)
- 23-6-1-4 IMX6ull 看门狗定时器相关寄存器介绍
- 23-6-1-5 IMX6ull 看门狗定时器编产生复位信号编程思路介绍
- 23-6-1-6 IMX6ull 看门狗定时器编产生复位信号编程实现
- 23-7-1 第1章 RTC时间获取
- 23-7-1-1 RTC介绍
- 23-7-1-10 RTC Alarm中断编程实现(二)
- 23-7-1-2 IMX6ull SNVS介绍(一)
- 23-7-1-3 IMX6ull SNVS介绍(二)
- 23-7-1-4 IMX6ull SNVS相关寄存器介绍
- 23-7-1-5 RTC时间设置与获取编程思路介绍
- 23-7-1-6 RTC时间设置与获取编程思路实现(一)
- 23-7-1-7 RTC时间设置与获取编程思路实现(二)
- 23-7-1-8 RTC Alarm中断编程思路介绍
- 23-7-1-9 RTC Alarm中断编程实现(一)
- 23-8-1 第1章 IIC总线(一)
- 23-8-1-1 IIC总线介绍
- 23-8-1-10 GPIO模拟IIC总线时序(六)
- 23-8-1-11 LTR-553ALS-WA光环境传感器(一)
- 23-8-1-12 LTR-553ALS-WA光环境传感器(二)
- 23-8-1-13 LTR-553ALS-WA光环境传感器(三)
- 23-8-1-14 LTR-553ALS-WA光环境传感器(四)
- 23-8-1-15 LTR-553ALS-WA光环境传感器(五)
- 23-8-1-16 GPIO模拟IIC读取光环境传感器数据(一)
- 23-8-1-17 GPIO模拟IIC读取光环境传感器数据(二)
- 23-8-1-18 GPIO模拟IIC读取光环境传感器数据(三)
- 23-8-1-19 GPIO模拟IIC读取光环境传感器数据(四)
- 23-8-1-2 IIC总线信号类型介绍
- 23-8-1-20 GPIO模拟IIC读取光环境传感器数据(五)
- 23-8-1-21 GPIO模拟IIC读取光环境传感器数据(六)
- 23-8-1-3 IIC总线数据传输格式介绍
- 23-8-1-4 光环境传感器硬件原理图阅读
- 23-8-1-5 GPIO模拟IIC总线时序(一)
- 23-8-1-6 GPIO模拟IIC总线时序(二)
- 23-8-1-7 GPIO模拟IIC总线时序(三)
- 23-8-1-8 GPIO模拟IIC总线时序(四)
- 23-8-1-9 GPIO模拟IIC总线时序(五)
- 23-9-1 第1章 IIC总线(二)
- 23-9-1-1 IIC控制器介绍(一)
- 23-9-1-10 IIC控制器产生结束信号
- 23-9-1-11 IIC控制器发送数据
- 23-9-1-12 IIC控制器读取数据
- 23-9-1-13 IIC控制器读取光环境传感器数据(一)
- 23-9-1-14 IIC控制器读取光环境传感器数据(二)
- 23-9-1-15 IIC控制器读取光环境传感器数据(三)
- 23-9-1-16 IIC控制器读取光环境传感器数据bug解决
- 23-9-1-2 IIC控制器介绍(二)
- 23-9-1-3 IIC控制器介绍(三)
- 23-9-1-4 IIC控制器寄存器介绍(一)
- 23-9-1-5 IIC控制器寄存器介绍(二)
- 23-9-1-6 IIC控制器控制的管脚初始化
- 23-9-1-7 IIC控制器初始化
- 23-9-1-8 IIC控制器产生开始信号
- 23-9-1-9 IIC控制器发送从机地址
- 【阶段9:ARM接口技术和智能硬件开发】第24周 stm32芯片-智能硬件项目实战与企业笔试
- 24-1-1 第1章 stm32 介绍及开发环境搭建
- 24-1-1-1 课程介绍及学习建议
- 24-1-1-2 STM32F103C8T6芯片介绍
- 24-1-1-3 Keil及STM32CubeMx软件下载安装
- 24-1-1-4 STM32 ST-LINK Utility软件下载安装
- 24-1-1-5 STM32CubeMx安装STM31F1系列开发包
- 24-1-1-6 STM32CubeMx选择开发的芯片及时钟配置
- 24-1-1-7 STM32CubeMx生成Keil工程
- 24-1-1-8 Keil编译Stm32工程
- 24-10-1 第1章 数码管显示RTC时间
- 24-10-1-1 数码管共阳极和共阴极介绍
- 24-10-1-10 TM1637通信时序模拟之ACK信号
- 24-10-1-11 TM1637通信时序模拟之写一个字节数据
- 24-10-1-12 TM1637发送命令
- 24-10-1-13 TM1637指定地址发送数据
- 24-10-1-14 TM1637显示时间(一)
- 24-10-1-15 TM1637显示时间(二)
- 24-10-1-16 RTC硬件原理图阅读及STM32CubeMx配置
- 24-10-1-17 RTC时间在数码管上显示
- 24-10-1-2 数码管真值表介绍
- 24-10-1-3 原理图阅读及STM32CubeMx配置
- 24-10-1-4 TM1637工作原理介绍
- 24-10-1-5 TM1637数据指令介绍
- 24-10-1-6 TM1637通信协议介绍
- 24-10-1-7 TM1637通信时序模拟之管脚定义
- 24-10-1-8 TM1637通信时序模拟之开始信号
- 24-10-1-9 TM1637通信时序模拟之停止信号
- 24-11-1 第1章 SHT31温湿度传感器
- 24-11-1-1 硬件原理图及STM32CubeMx配置
- 24-11-1-10 SHT31温湿度传感器温湿度数据获取(一)
- 24-11-1-11 SHT31温湿度传感器温湿度数据获取(二)
- 24-11-1-12 SHT31温湿度传感器温湿度数据获取(三)
- 24-11-1-2 SHT31温湿度传感器介绍
- 24-11-1-3 SHT31温湿度传感器从机地址确定
- 24-11-1-4 SHT31温湿度传感器复位流程介绍
- 24-11-1-5 SHT31温湿度传感器周期性测量命令介绍
- 24-11-1-6 SHT31温湿度传感器测量的数据读取介绍
- 24-11-1-7 SHT31温湿度传感器测量的温湿度计算介绍
- 24-11-1-8 HAL库I2C相关函数接口介绍
- 24-11-1-9 SHT31温湿度传感器初始化实现
- 24-12-1 第1章 继电器控制
- 24-12-1-1 继电器工作原理
- 24-12-1-2 硬件原理图阅读及STM32CubeMx配置
- 24-12-1-3 继电器打开和关闭(一)
- 24-12-1-4 继电器打开和关闭(二)
- 24-13-1 第1章 PID算法控制小车自动循迹
- 24-13-1-1 位式控制算法介绍
- 24-13-1-10 自动循迹顺时针方向行驶分析
- 24-13-1-11 自动循迹逆时针方向行驶分析
- 24-13-1-12 自动循迹误差值计算方法分析
- 24-13-1-13 硬件原理图阅读及STM32CubeMx配置
- 24-13-1-14 五路循迹管电平状态读取
- 24-13-1-15 采用中值滤波算法获取传感器状态
- 24-13-1-16 五路循迹管电平状态测试
- 24-13-1-17 根据传感器状态获取误差值
- 24-13-1-18 采用平均数求和滤波算法获取当前的误差值
- 24-13-1-19 根据误差值采用位置式PID算法算出输出的控制量
- 24-13-1-2 PID算法介绍
- 24-13-1-20 根据PID算法的输出控制量调整左右轮速度
- 24-13-1-21 PID参数初始化
- 24-13-1-22 根据PID算法控制小车(一)
- 24-13-1-23 根据PID算法控制小车(二)
- 24-13-1-24 根据PID算法控制小车(三)
- 24-13-1-25 PID算法控制小车演示
- 24-13-1-3 PID算法之比例算法调节介绍
- 24-13-1-4 PID算法之积分算法调节介绍
- 24-13-1-5 PID算法之微分算法调节介绍
- 24-13-1-6 位置式PID算法实现
- 24-13-1-7 增量式PID算法实现
- 24-13-1-8 增量式PID与位置PID对比
- 24-13-1-9 五路循迹板介绍
- 24-2-1 第1章 stm32程序下载
- 24-2-1-1 stm32内存映射分析
- 24-2-1-2 stm32启动方式介绍(一)
- 24-2-1-3 stm32启动方式介绍(二)
- 24-2-1-4 JTAG与SWD及JLINK介绍
- 24-2-1-5 ISP下载(一)
- 24-2-1-6 ISP下载(二)
- 24-2-1-7 ISP下载(三)
- 24-2-1-8 STLink下载(一)
- 24-2-1-9 STLink下载(二)
- 24-3-1 第1章 stm32 GPIO控制
- 24-3-1-1 LED灯硬件原理图阅读及STM32CubeMx配置
- 24-3-1-2 GPIO初始化讲解
- 24-3-1-3 LED灯控制
- 24-3-1-4 Key硬件原理图阅读及STM32CubeMx配置
- 24-3-1-5 Keil分组方式添加自己的代码
- 24-3-1-6 按键控制LED灯亮灭
- 24-4-1 第1章 stm32启动流程分析
- 24-4-1-1 硬件上电后STM32启动方式分析
- 24-4-1-2 Keil一些常用伪指令介绍
- 24-4-1-3 stm32启动代码栈空间和堆空间的开辟
- 24-4-1-4 stm32启动代码中断向量表定义
- 24-4-1-5 stm32启动代码Reset_Handler处理
- 24-4-1-6 stm32启动代码其他中断异常处理处理
- 24-4-1-7 stm32启动代码用户栈和堆的初始化
- 24-4-1-8 stm32启动流程总结
- 24-5-1 第1章 stm32串口通信
- 24-5-1-1 硬件原理图阅读
- 24-5-1-10 USART空闲中断方式接收不定长数据
- 24-5-1-2 Stm32CubeMx配置USART
- 24-5-1-3 USART轮询方式发送数据(一)
- 24-5-1-4 USART轮询方式发送数据(二)
- 24-5-1-5 USART轮询方式接收数据
- 24-5-1-6 printf函数实现
- 24-5-1-7 USART中断配置(一)
- 24-5-1-8 USART中断配置(二)
- 24-5-1-9 USART中断方式接收固定长度数据
- 24-6-1 第1章 PWM电机控制
- 24-6-1-1 硬件原理图阅读
- 24-6-1-10 PWM电机控制(三)
- 24-6-1-11 PWM电机控制(四)
- 24-6-1-12 PWM电机控制(五)
- 24-6-1-13 小车控制(一)
- 24-6-1-14 小车控制(二)
- 24-6-1-2 H桥电路控制电机
- 24-6-1-3 常用电机介绍
- 24-6-1-4 DRV8833电机驱动模块介绍(一)
- 24-6-1-5 DRV8833电机驱动模块介绍(二)
- 24-6-1-6 STM32CubeMx配置PWM管脚
- 24-6-1-7 STM32HAL库中PWM相关操作函数介绍
- 24-6-1-8 PWM电机控制(一)
- 24-6-1-9 PWM电机控制(二)
- 24-7-1 第1章 PS2手柄控制小车
- 24-7-1-1 硬件原理图阅读
- 24-7-1-10 ps2手柄根据按键码值获取具体按键(二)
- 24-7-1-11 ps2手柄控制小车(一)
- 24-7-1-12 ps2手柄控制小车(二)
- 24-7-1-2 ps2手柄介绍
- 24-7-1-3 ps2手柄SPI通信时序介绍
- 24-7-1-4 ps2手柄通信协议介绍
- 24-7-1-5 Stm32CubeMx配置SPI
- 24-7-1-6 SPI相关操作函数接口介绍
- 24-7-1-7 ps2手柄数据读取(一)
- 24-7-1-8 ps2手柄数据读取(二)
- 24-7-1-9 ps2手柄根据按键码值获取具体按键(一)
- 24-8-1 第1章 ESP8266无线通信控制小车
- 24-8-1-1 ESP8266介绍
- 24-8-1-10 ESP8266配置TCP客户端相关AT指令介绍
- 24-8-1-11 ESP8266配置TCP服务器端相关AT指令介绍
- 24-8-1-12 ESP8266配置UDP传输相关AT指令介绍
- 24-8-1-13 ESP8266配置透传模式相关AT指令介绍(一)
- 24-8-1-14 ESP8266配置透传模式相关AT指令介绍(二)
- 24-8-1-15 ESP8266控制小车编程思路介绍
- 24-8-1-16 AT指令发送和接收函数封装
- 24-8-1-17 重置ESP8266(一)
- 24-8-1-18 重置ESP8266(二)
- 24-8-1-19 配置ESP8266进去AP模式
- 24-8-1-2 硬件原理图阅读
- 24-8-1-20 配置ESP8266建立TCPServer连接
- 24-8-1-21 ESP8266初始化
- 24-8-1-22 ESP8266控制小车(一)
- 24-8-1-23 ESP8266控制小车(二)
- 24-8-1-24 ESP8266控制小车(三)
- 24-8-1-25 定时器优化小车控制(一)
- 24-8-1-26 定时器优化小车控制(二)
- 24-8-1-3 STM32CubeMx配置UART2
- 24-8-1-4 PC机与ESP8266建立通信(一)
- 24-8-1-5 PC机与ESP8266建立通信(二)
- 24-8-1-6 PC机与ESP8266建立通信(三)
- 24-8-1-7 ESP8266配置Station模式相关AT指令介绍
- 24-8-1-8 ESP8266配置AP模式相关AT指令介绍
- 24-8-1-9 ESP8266配置Station+AP模式相关AT指令介绍
- 24-9-1 第1章 蓝牙控制小车
- 24-9-1-1 硬件原理图阅读及蓝牙测试
- 24-9-1-2 蓝牙信号名称修改及收发数据测试
- 24-9-1-3 蓝牙控制小车(一)
- 24-9-1-4 蓝牙控制小车(二)
包含内容
- · 【阶段10:智能硬件开发-嵌入式底层开发之系统移植】第25周 大厂必备- linux内核与文件系统移植
- · 25-1-1 第1章 学习方法介绍及系统启动流程分析
- · 25-1-1-1 课程学习方法介绍
- · 25-1-1-2 PC机启动流程分析
- · 25-1-1-3 嵌入式设备启动流程分析(一)
- · 25-1-1-4 嵌入式设备启动流程分析(二)
- · 25-1-1-5 Android设备启动流程分析
- · 25-2-1 第1章 IMX6ull芯片启动流程分析及镜像烧写
贡献者
Mia
黄金