STM32
好大一只木马
自律/细心/钻研
展开
-
简易嵌入式设备系统日志记录方法
这里写自定义目录标题系统日志思路分析功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入系统日志在嵌入式设备应用场景中,...原创 2019-10-28 14:34:01 · 4970 阅读 · 4 评论 -
关于CPU进入休眠喂狗的问题
在大多数项目中都会使用到看门狗以维护系统稳定性,但对于低功耗产品需要定时进入休眠以降低功耗。实际应用中可以在CPU休眠之前设置RTC定时唤醒,唤醒后立即喂狗然后继续进入到休眠模式,比如系统设置了看门狗复位时间间隔为15s,那么在进入休眠模式之前配置RTC闹钟中断时间为13s,这样每隔13s唤醒一次喂狗。...原创 2019-03-06 20:45:33 · 1179 阅读 · 0 评论 -
AT命令简易解析
AT命令的应用场合很多,也是应用最为通用的命令。而AT命令并不像通信协议特定的数据帧格式,解析AT命令需要匹配每个字符。AT命令一般有三种状态:查询、执行、设置,根据这三种状态,本文将使用一种简易的方法解析AT命令。宏定义AT命令的三种状态:#define QUERY_CMD 0x01 /* 查询命令 */#define EXECUTE_CMD 0x02 /* 执行命令 */#def...原创 2019-02-02 16:56:39 · 12388 阅读 · 7 评论 -
FLASH存储参数
在嵌入式项目中,经常使用FLASH来存储关键的参数。这些参数影响整个设备系统的运行,保证参数存储的正确性是至关重要,常用的方法是通过校验参数存储以及参数备份的方式去降低出错的风险,本文将讲述具体的实现方法。在FLASH上开放两个扇区,用于备份数据,可有效降低丢失数据风险。#define SPI_FLASH_PARAM_SIZE 0x1000#define SPI_FLASH_PARAM_BA...原创 2019-01-26 16:21:02 · 2943 阅读 · 0 评论 -
简单LED灯管理
LED灯的设置较为简单,现在整合起来管理,让应用更加方便。#define LEDn 2#define LED_TIMEBASE 10 #define LED_MODE_OFF 0x00#define LED_MODE_ON 0x01#define LED_MODE_FLASH 0x02#define LED_IDLE 0x00#define LED_BUSY 0x01typ...原创 2019-01-08 23:01:37 · 396 阅读 · 1 评论 -
STM32F205 HAL库 RTC软件复位后不准
在RTC初始化配置时,没考虑到软件复位的情况,当频繁实现软件系统复位时,发现RTC时间有偏差。原因在于每一次软件复位后都会再次重新初始化RTC,中间便会产生时间差,频繁复位偏差更明显。解决方法:通过RTC备份寄存器的判断以重新初始化RTC,只有当系统断电时备份寄存器才会清空,如系统选择软件复位则不需重新初始化RTC。RTC_HandleTypeDef RtcHandle;#define RT...原创 2019-01-08 19:16:22 · 3030 阅读 · 0 评论 -
STM32 简易按键KEY处理
一般的按键功能都需要做防抖处理,中间就涉及到了阻塞延迟,但是在实际项目开发中应当尽量避免不必的阻塞。可以使用计时功能去处理按键防抖,在系统滴答时钟中断中实现按键功能检测,按键功能处理是在main里实现。#define KEY_NR 2/* 短按 */#define KV_KEY1 0x01#define KV_KEY2 0x02/* 长按 */#define LKV_KE...原创 2019-01-13 01:05:06 · 4241 阅读 · 0 评论 -
竭尽所能提高FATFS SD性能
最近开发log存储器,移植FATFS文件系统,四路串口通道接收数据后存储在SD卡内。在调试中设置串口波特率为256000bps,每10ms发送250个字节,四路通道同时工作,MCU主频为120MHz,使用一张CLASS4 8G卡和一张CLASS10 16G卡进行测试。在测试中使用8G卡速度上不来导致数据丢失,为了提高SD卡兼容性与稳定性,竭力挖掘SD性能,提高写入速度。开发环境主控MCU : ...原创 2019-01-11 14:38:51 · 4659 阅读 · 1 评论 -
简单实用软件定时器
在嵌入式开发中,定时器是及其常见的,但考虑到芯片外设资源有限,可以自己写一个软件定时器,应用于对计时不是太严格的场合,比如LED的闪烁,定时处理某一任务等等。该软件定时器的原理是基于滴答系统时钟中断,在中断中获得时间基,该时间基可由用户自由设置。另外有两种方式可以实现软件定时处理功能,后面会讲到。首先说明一下该软件定时器的结构体元素:#define STIMER_EMPTY 0 #defi...原创 2019-01-06 11:28:22 · 3524 阅读 · 1 评论