STM32HAL库强耦合驱动 硬汉哥有句话我记得很清楚:“嵌入式开发的痛是兼容性”。最开始我的驱动代码底层与STM32的HAL库强耦合,比如会在文件开头extern I2C_HandleTypeDef hi2c1来引入HAL库中i2c的句柄,再编写驱动底层的原子操作: static HAL_Stat
案发现场 完成所有的模块外设调试后开始编写业务代码,初次接触RTOS下的业务代码编写,出现了一些小bug。 使用CubeMX生成RTOS任务(默认生成的工程有四个DefaultTask属实难绷): /* Definitions for LoraTask */ osThreadId_t LoraTas
项目背景 大二时候实验室为了申报一个新苗项目,需要制作一个低功耗的农场遥测数据传感器节点,需要的是实现低功耗数据采集与发送,最好还能够实现对服务器下发的RPC命令的响应。第一版制作代码非常粗糙,一个几乎可以认为完全不存在鲁棒性的系统。当时使用STM32F103C8T6搭配标准库进行开发(经典),其中