STM32全链路开发实战教程:2022年10月19日更新的总目录

文章目录

  • 专栏说明
  • 一、开发环境相关
  • 二、STM32裸机开发
  • STM32CubeMX系列教程
  • 玩转嵌入式屏幕显示
  • 嵌入式开源小组件的使用
  • mbedtls开源安全库
  • DW1000 UWB芯片开发笔记
  • LVGL学习笔记
  • 经验积累
  • 三、项目经验积累
  • 四、RTOS开发
  • 1. RTOS内功修炼记(内核剖析)
  • 2. TencentOS-tiny
  • 3. LiteOS
  • 5. ThreadX
  • 6. uc/OS-III
  • 7. FreeRTOS
  • 五、IoT物联网开发
  • 1. 通信协议
  • 2. 私有云搭建
  • 3. 公有云对接
  • 4. 设备侧对接实例
  • 5. 通信模组系列
  • 六、ARM架构研究
  • 七、项目实战
  • RT-Thread迷你桌面时钟
  • 专栏说明

    本教程专注于IoT领域开发,内容用五个字概括:从裸机到云端

  • 讲述如何使用STM32CubeMX进行裸机开发(覆盖常用外设)
  • 如何使用TencentOS-Tiny、RT-Thread、ucOS、FreeRTOS、threadX等RTOS
  • 如何使用各种开源组件库
  • 常见WiFi、4G、NB-IoT、LoRa等通信模组的使用、
  • mqtt对接各种云平台
  • 一些实战项目
  • 持续更新中……
  • 截至20220919共有157篇文章
  • 一、开发环境相关

  • 【Keil MDK】(一)Keil MDK 5.28 的下载、安装、破解
  • 【Keil MDK】(二)Keil MDK中芯片器件包的安装
  • 【Keil MDK】(三)Keil MDK更换Sublime Text Molokai主题
  • 【Keil MDK】(四)Keil MDK的一些推荐功能(编码格式、自动保存、代码提示、动态语法检查、多核编译)
  • 【STM32开发环境】Linux下开发stm32(一) | 使用gcc-arm-none-eabi工具链编译
  • 【STM32开发环境】Linux下开发stm32(二) | 使用openocd下载程序(2022.04.05更新)
  • 【STM32开发环境】Linux下开发stm32(三) | 寄存器工程开发
  • 【STM32开发环境】Linux下开发stm32(四) | 固件库工程开发
  • Windows上使用 OpenOCD 给 STM32 下载程序
  • mac下搭建stm32开发环境
  • 二、STM32裸机开发

    实战篇中使用的开发板是小熊派开发板

    STM32CubeMX系列教程

  • 【STM32Cube_01】初识 STM32Cube 生态系统
  • 【STM32Cube_02】获取并安装STM32CubeMX
  • 【STM32Cube_03】使用GPIO点亮一个LED
  • 【STM32Cube_04】使用GPIO进行按键检测
  • 【STM32Cube_05】使用EXIT中断检测按键
  • 【STM32Cube_06】使用USART发送和接收数据(查询模式)
  • 【STM32Cube_07】使用USART发送和接收数据(中断模式)
  • 【STM32Cube-08】使用USART发送和接收数据(DMA模式)
  • 【STM32Cube-09】重定向printf函数到串口输出的多种方法
  • 【STM32Cube-10】使用ADC读取气体传感器数据(MQ-2)
  • 【STM32Cube-11】使用通用定时器闪烁LED
  • 【STM32Cube-12】使用通用定时器产生PWM驱动蜂鸣器
  • 【STM32Cube-13】使用硬件I2C读写EEPROM(AT24C02)
  • 【STM32Cube-14】使用硬件I2C读取环境光强度传感器数据(BH1750)
  • 【STM32Cube-15】使用硬件I2C读取温湿度传感器数据(SHT30)
  • 【STM32Cube-16】使用硬件CRC校验数据(以SHT30为例)
  • 【STM32Cube-17】使用硬件SPI驱动TFT-LCD(ST7789)
  • 【STM32Cube-18】使用硬件QSPI读写SPI%20Flash(W25Q64)
  • 【STM32Cube-19】使用SDMMC接口读写SD卡数据
  • 【STM32Cube_20】在SD卡上移植FATFS文件系统
  • 【STM32Cube_21】使用DAC输出任意指定电压
  • 【STM32Cube_22】使用ADC读取电压值
  • 【STM32Cube_23】使用USART接收GPS数据并解析(L80-R)
  • STM32CubeMX | 28 – STM32片内Flash的使用
  • STM32CubeMX | 29-使用硬件I2C读取甲醛传感器SGP30
  • STM32CubeMX | 30-使用硬件SPI读写FLASH(W25Q64)
  • STM32CubeMX | 31-使用硬件FMC读写SDRAM(W9825G6KH)
  • STM32CubeMX | 32-使用硬件FMC驱动TFT-LCD屏幕(MCU屏)
  • STM32CubeMX | 33-使用GPIO读取温度传感器数据(DS18B20)
  • STM32CubeMX | 34-使用硬件FSMC读写SRAM(IS62WV51216)
  • STM32CubeMX | 35-使用硬件FSMC驱动TFT-LCD屏幕(MCU屏,NT35510控制器)
  • STM32CubeMX | 36 – 使用CAN总线进行双板通信(TJA1050)
  • STM32CubeMX | 37 – 使用RS485总线进行双板通信(SP3485)
  • STM32CubeMX | 38-使用硬件SPI驱动以太网模块(W5500)
  • STM32CubeMX | 40 – 实时时钟RTC的使用(日历和闹钟)
  • STM32CubeMX | 41 – 使用LTDC驱动TFT-LCD屏幕(RGB屏)
  • STM32CubeMX | 42 – 使用DMA2D加速显存数据传输
  • 玩转嵌入式屏幕显示

  • 【玩转嵌入式屏幕显示】(一)显示器概述(常见显示器及其显示原理)
  • 【玩转嵌入式屏幕显示】(三)TFT-LCD屏幕打点 + 画线 + 画矩形 + 画圆Bresenham算法实现(基于打点函数,算法可移植到任何屏幕的驱动程序之上)
  • 【玩转嵌入式屏幕显示】(四)TFT-LCD屏幕显示英文字符(ASCII)和字符串
  • 【玩转嵌入式屏幕显示】(五)TFT-LCD屏幕显示图片
  • ST7789 SPI LCD硬件垂直滚动功能的使用
  • 【玩转嵌入式屏幕显示】(七)LCD中文字符显示机制
  • 嵌入式开源小组件的使用

  • cJSON使用详细教程 | 一个轻量级C语言JSON解析器
  • MultiButton | 一个小巧简单易用的事件驱动型按键驱动模块
  • letter-shell | 一个功能强大的嵌入式shell
  • EasyLogger | 一款轻量级且高性能的日志库
  • SFUD | 一款串行 Flash 通用驱动库
  • EasyFlash | 让 Flash 成为小型 KV 数据库
  • EasyFlash V4.0 ENV 功能设计与实现
  • MultiTimer | 一款可无限扩展的软件定时器
  • MultiTimer v2 重构版本 | 一款可无限扩展的软件定时器
  • cmd-parser | 一个基于哈希匹配的超快命令解析器
  • jsmn | 一个资源占用极小,解析速度最快的json解析器
  • CmBacktrace | 一款 ARM Cortex-M 系列 MCU 错误追踪库
  • ringbuff | 通用FIFO环形缓冲区实现库
  • 使用J-Link打印日志——SEGGER Real-Time Transfer(RTT)工具的移植使用
  • mbedtls开源安全库

  • mbedtls | 01 – 移植mbedtls库到STM32的两种方法
  • mbedtls | 02 – 伪随机数生成器(ctr_drbg)的配置与使用
  • mbedtls | 03 – 单向散列算法的配置与使用(MD5、SHA1、SHA256、SHA512)
  • mbedtls | 04 – 对称加密算法的配置与使用(AES算法)
  • mbedtls | 05 – 消息认证码的配置与使用(HMAC算法、GCM算法)
  • mbedtls | 06 – 非对称加密算法的配置与使用(RSA算法)
  • mbedtls | 07 – DH秘钥协商算法的配置与使用
  • mbedtls | 08 – ECDH秘钥协商算法的配置与使用
  • mbedtls | 09 – 数字签名算法的配置与使用(RSA数字签名算法、ECDSA数字签名算法)
  • mbedtls | 10 – 数字证书及 X.509 证书标准
  • DW1000 UWB芯片开发笔记

  • DW1000开发笔记(一)DW1000芯片概览
  • DW1000开发笔记(二)使用STM32硬件SPI+STM32cubeMX+HAL库测试DW1000通信
  • DW1000开发笔记(三)基于STM32 HAL库裸机工程移植DW1000官方驱动
  • DW1000开发笔记(四)DW1000使用轮询方式发送数据
  • DW1000开发笔记(五)DW1000使用轮询方式接收数据
  • DW1000开发笔记(六)DW1000发送数据并等待另一个DW1000回应
  • LVGL学习笔记

  • LVGL v8学习笔记 | 01 – LVGL PC模拟器初体验
  • LVGL v8学习笔记 | 02 – 移植LVGL 8.2到STM32F407开发板(MCU屏)
  • LVGL v8学习笔记 | 03 – 移植LVGL 8.2到小熊派开发板(SPI屏)
  • LVGL v8学习笔记 | 04 – 移植LVGL 8.2到STM32F429开发板(RGB屏)
  • LVGL v8学习笔记 | 05 – LVGL基础对象(lv_obj_t)
  • LVGL v8学习笔记 | 06 – label控件的使用方法
  • LVGL v8学习笔记 | 07 – 字体的使用方法
  • LVGL v8学习笔记 | 08 – 按钮控件的使用方法
  • LVGL v8学习笔记 | 09 – 进度条控件的使用方法(bar)
  • LVGL v8学习笔记 | 10 – Tabview控件的使用方法
  • LVGL v8学习笔记 | 11 – 列表控件的使用方法(list)
  • 经验积累

  • 经验分享 | STM32CubeMX + STM32F1系列开发时遇到的四个问题及解决方案分享
  • 基于STM32标准库建立Keil-MDK工程模板(STM32F407ZG)
  • STM32如何跳转到指定地址执行程序
  • 三、项目经验积累

  • 骚操作!快速创建JSON数据和解析JSON数据
  • C语言从一段字符串中提取IP地址的方法
  • 实用小技巧 | 用socket玩转http接口
  • C语言使用 sscanf 提取AT命令返回结果中的有效数据
  • keil遇到FCARM – Output Name not specified, please check ‘Options for Target – Utilities‘解决方法
  • Jlink接口引脚定义
  • STM32WL芯片解锁方法
  • 位图数组在XY方向镜像翻转算法实现
  • 四、RTOS开发

    1. RTOS内功修炼记(内核剖析)

  • RTOS内功修炼记(一)—— 任务到底应该怎么写?
  • RTOS内功修炼记(二)—— 优先级抢占调度到底是怎么回事?
  • RTOS内功修炼记(三)—— 内核到底是如何管理中断的?
  • RTOS内功修炼记(四)—— 小小的时钟节拍,撑起了内核半边天!
  • RTOS内功修炼记(五)—— 任务间同步机制的实现,万变不离其宗!
  • RTOS内功修炼记(六)—— 任务间通信为什么不用全局变量?
  • RTOS内功修炼记(七)—— 内存管理
  • RTOS内功修炼记(八)——CMSIS RTOS API,内核通用API接口
  • RTOS内功修炼记(九)—— 任务入口函数执行完毕之后去哪里?
  • 2. TencentOS-tiny

  • TencentOS-tiny 正式开源,全网首发评测,带你极速上手体验!
  • 数据结构 | TencentOS-tiny中的双向循环链表的实现及使用
  • 移植TencentOS-tiny内核到裸机工程的方法
  • TencentOS-tiny软件定时器的使用
  • 数据结构 | TencentOS-tiny中队列、环形队列、优先级队列的实现及使用
  • 数据结构 | TencentOS-tiny中单向链表的实现及使用
  • 基于TencentOS-tiny实现PM2.5传感器(攀藤PMSA003)数据解析思路及实现
  • 基于TencentOS-tiny实现甲醛传感器(英国达特 WZ-S)数据解析思路及实现
  • 3. LiteOS

  • LiteOS内核教程01 | IoT-Studio介绍及安装
  • LiteOS内核教程02 | HelloWorld
  • LiteOS内核教程03 | 任务管理(超简洁API,一行代码即可创建任务)
  • LiteOS内核教程04 | 信号量(用于任务间同步)
  • LiteOS内核教程05 | 互斥锁(共享资源保护)
  • LiteOS内核教程06 | 内存管理
  • atiny_log | LiteOS 物联网操作系统中的日志打印组件使用分享
  • shell | LiteOS 物联网操作系统中的 shell 组件使用分享
  • RT-Thread、LiteOS这些操作系统中,编译出的程序为什么能打印出当前时间?
  • 一行代码就能写一个日志打印组件,你信吗?为你揭晓RTOS中日志打印组件的核心
  • 5. ThreadX

  • 【首发】从搭建环境开始,教你如何在小熊派上跑起来ThreadX操作系统!
  • ThreadX操作系统在MDK中的移植方法(2021.06.06更新)
  • 6. uc/OS-III

  • 移植uc/OS-III最新版到小熊派开发板(STM32L431)
  • 7. FreeRTOS

  • FreeRTOS学习笔记01 | 移植FreeRTOS到小熊派开发板(STM32L431RC)
  • 五、IoT物联网开发

    1. 通信协议

  • CoAP | 物联网中的RESTful架构实现
  • 2. 私有云搭建

  • AIOT时代来临,物联网平台(IoT Platform)真有那么重要吗?
  • Redis 3.2安装过程(win10)
  • PostgreSQL 10.11在Windows10的安装方法
  • Mosquitto在win10的安装方法
  • Docker-ce最新版在Ubuntu18.04上的安装、更新、卸载方法(存储库方式)
  • Docker Compose 在Linux上的安装方法
  • EMQX MQTT 服务器(上篇)| 使用EMQ-X搭建私有MQTT服务器
  • EMQX MQTT 服务器(下篇)| 开启客户端身份安全认证并使用mqtt.fx测试
  • Node-RED | 无需一行代码,快速在浏览器中构建一个可视化 IoT Web App
  • 3. 公有云对接

  • mqtt.fx | 一款超级好用的Mqtt客户端软件(下载、安装、使用详解)
  • 使用mqtt.fx对接百度天工物接入平台
  • 4. 设备侧对接实例

  • paho | 支持10种语言编写mqtt客户端,总有一款适合你!
  • 小熊派移植TencentOS-tiny+ESP8266+MQTT对接腾讯云平台IoThub
  • 小熊派移植 TencentOS-tiny+M26/EC20+MQTT 对接腾讯云平台IoThub
  • 小熊派移植 TencentOS-tiny+EC20+SAL框架对接 TCP/UDP 服务器
  • TencentOS-tiny+ESP8266+mqttclient对接腾讯云平台IoThub
  • 使用创思通信4G Cat1 DTU基于TencentOS-tiny对接腾讯云物联网开发平台
  • 使用 TencentOS tiny 对接腾讯云IoT Explorer(以智能灯为例)
  • 5. 通信模组系列

  • ESP8266固件升级方法(ESP8266-12F模组)

  • 移远 M26 GSM模组(2G通信模组)AT指令测试 TCP 通信过程

  • 移远 EC20 模组(4G通信模组)AT指令测试 TCP 通信过程

  • 合宙 Air 724UG模组(4G Cat.1通信模组)测试过程

  • 移远BC35-G模组(NB-IoT 通信模组)AT指令测试 UDP 通信过程

  • SIMCOM800C GSM模组(2G通信模组)AT指令测试 TCP 通信过程

  • 使用ESP8266腾讯云定制固件对接腾讯云平台IoThub

  • 使用ESP8266腾讯云定制固件对接腾讯云物联网平台IoT Explorer

  • 移远 EC200S 模组(4G Cat.1 通信模组)AT指令测试 TCP/UDP 通信过程

  • 广和通 L610 模组(4G Cat.1 通信模组)AT指令测试 TCP/UDP 通信过程

  • SIMCOM A7670 模组(4G Cat.1 通信模组)AT指令测试 TCP/UDP 通信过程

  • 资料分享 | 整理一下自己积攒的 LoRa和LoRaWan 资料

  • 六、ARM架构研究

  • ARM探索之旅 01 | 带你认识ARM Cortex-M阵营
  • ARM探索之旅 02 | ARM Cortex-M 用什么指令集?
  • ARM探索之旅 03 | 如何使用 ARM FPU 加速浮点计算
  • 七、项目实战

    RT-Thread迷你桌面时钟

  • 使用RT-Thread Studio DIY 迷你桌面时钟(一)| 基于STM32芯片创建HelloWorld工程
  • 使用RT-Thread Studio DIY 迷你桌面时钟(二)| 获取温湿度传感器数据(I2C设备驱动+SHT3x软件包)
  • 使用RT-Thread Studio DIY 迷你桌面时钟(三)| 获取NTP时间(at_device软件包 + netutils软件包)
  • 使用RT-Thread Studio DIY 迷你桌面时钟(四)| OLED显示时钟和温湿度(cpp组件 + u8g2软件包)
  • 使用RT-Thread Studio DIY 迷你桌面时钟(五)| 使用内置 Git 插件管理项目
  • RT-Thread Studio 使用笔记(六)| 获取光传感器数据(I2C设备驱动+BH1750手写驱动代码分享)
  • RT-Thread Studio 使用笔记(七)| 配合STM32CubeMX添加裸机驱动(以ADC为例)
  • RT-Thread Studio 使用笔记(八)| 使用MQTT对接EMQ-X服务器(使用 pahomqtt 包)
  • RT-Thread Studio 使用笔记(九)| 开启OLED显示(使用 u8g2 软件包 c-latest 版本)
  • RT-Thread Studio 项目实战教程 | 快速打造一个桌面mini网络时钟
  • 物联沃分享整理
    物联沃-IOTWORD物联网 » STM32全链路开发实战教程:2022年10月19日更新的总目录

    发表评论