概述
文章目录
- 专栏说明
- 一、开发环境相关
- 二、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网络时钟
最后
以上就是标致冬天为你收集整理的STM32全链路开发实战教程专栏总目录(2022.10.19更新)专栏说明一、开发环境相关二、STM32裸机开发三、项目经验积累四、RTOS开发五、IoT物联网开发六、ARM架构研究七、项目实战的全部内容,希望文章能够帮你解决STM32全链路开发实战教程专栏总目录(2022.10.19更新)专栏说明一、开发环境相关二、STM32裸机开发三、项目经验积累四、RTOS开发五、IoT物联网开发六、ARM架构研究七、项目实战所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复