|
本文想实现GPIO retain功能,即系统掉电之后,GPIO状态被保存,下次上电还能保持上次状态。 具体思想可参考ESP32的这篇文章:ESP32 Retain the Last GPIO State After a Reset (microcontrollerslab.com) 具体实现方法为,用flash保存GPIO的状态,并在系统启动时根据flash中读取的数据设置GPIO的状态。 因为板卡只有内部512K flash, 使用demo程序只用了很少一部分,可以把内部flash的一部分拿出来供GPIO状态保存使用。在ld文件中开辟出一块空间 FLASH_DATA:
定义userdat在数据保存区。 系统启动时读取数据,并保存到ram
当LED状态改变时,记录其状态并保存到flash:
这里HAL_FLASH_Program写入失败,还需要进一步调试。今天先到这里了,内部flash写入的功能后面继续调一调,因该是HAL层函数使用哪里不对。 另外吐槽一下, STM32H533的官方bsp竟然么看到Free RTOS支持,只有ThreadX, 。如果使用实时操作系统的话,还需要对threadx加强学习了解。
|
【STM32H5 评测】+ CPU性能测试
【STM32H5 评测】+ 存储性能测试
【STM32H5 评测】ADC 电压表
线下实训(深圳/苏州站) | STM32H5信息安全开发,大模型高效赋能
【STM32H5 评测】MNIST 数字识别
【STM32H5 评测】3、STM32H5 Lwip 移植、官方例程和UDP发送数据
【STM32H5 评测】+开发板拆箱介绍
【STM32H5 评测】4、移植CoreMark
【STM32H5 评测】基础硬件加密与随机数性能 - STM32H5E5实测硬件AES加解密、HASH运算、TRNG真随机数输出速率与稳定性
【STM32H5 评测】基于NUCLEO_H5E5ZJ+Zephyr数字电源
微信公众号
手机版
仔细查找了下,Free RTOS还是有的,只是没有ThreadX好找,在Middleware and software packs-->X-CUBE-FREERTOS下面选择和配置