随笔分类 -  MCU

摘要:1 TSU能做自我唤醒以来扫描按键 2 按键扫描结果小于设定值时,TSU会将TSIF置1 并唤醒CPU, 3 那唤醒CPU后32K晶振还是每隔一段时间去唤醒TSU做按键扫描吗? 4 休眠时是通过32K定时周期唤醒扫描,进休眠模式后才会开始计时,唤醒后就不计时了 5 怎么设置唤醒通道呢? 比如我只想让 阅读全文
posted @ 2025-02-11 14:11 okyihu 阅读(23) 评论(0) 推荐(0) 编辑
摘要:W25Q64 W25Q64 容量:总容量64Mbit 分为128Block (64KB/Block) 一个Block又分为16个Sector(4KB/Sector)一个Sector分为16个Page(256B/Page) 24位地址 最小擦除单元:Sector 连续写入最多一页数据,超过时回到页首覆 阅读全文
posted @ 2023-11-13 09:42 okyihu 阅读(197) 评论(0) 推荐(0) 编辑
摘要:1. 移植diskio.c diskio.c文件用来连接硬件存储器和ff.c文件 a. 为W25Q256设置驱动编号 /*将W25Q256设为驱动1*/ #define W25Q256 1 /*Map Flash W25Q256 to physical drive 1 */ b.配置disk_sta 阅读全文
posted @ 2023-11-13 09:37 okyihu 阅读(115) 评论(0) 推荐(0) 编辑
摘要:目的: 主要记录STC8H系列芯片开发环境的搭建,以便以后再次用到该芯片时,直接看这篇博文就可以了,不要再去摸索一遍了。 过程: 1 关于编译器KEIL5 FOR C51 : 1.1 STC芯片开发相关软件设置 官网上下载KEIL5 FOR 51和注册机,安装、破解后,添加STC芯片支持包。如果不安 阅读全文
posted @ 2023-11-06 09:22 okyihu 阅读(2672) 评论(0) 推荐(0) 编辑
摘要:1 目标功能及方案 1.1 FLASH的1页的擦除时间约为10-20ms,写一个字节的时间约几十us, 当应用程序是每1ms都要执行一个循环周期时,如果在保存数据换页时要擦除FLASH,显然会阻塞程序的执行,所以在应用程序有严格的实时性要求时,eeprom_emulate保存数据的方案显然不合适。 阅读全文
posted @ 2023-10-24 15:58 okyihu 阅读(2735) 评论(0) 推荐(1) 编辑
摘要:1 简介 1.1 SPI和UART一样是一种串行数据收发硬件协议,不同点是SPI是在时钟线SCK的同步作用下对数据移进移除,UART是靠双方的波特率(1bit所占的时间)来确定。 1.2 HAL库对两者在收发总线的错误处理都一样,都提供了用于收发错误处理的回调函数 hspi->ErrorCallba 阅读全文
posted @ 2023-10-23 15:58 okyihu 阅读(2098) 评论(0) 推荐(0) 编辑
摘要:1 目的: stm32 官方提供flash模拟eeprom的代码例子,为了能给产品添加数据保存功能,可以改造该例子迅速完成数据保存的功能。示例代码路径: C:\Users\rd-yhzhang\STM32Cube\Repository\STM32Cube_FW_F1_V1.8.5\Projects\ 阅读全文
posted @ 2023-10-20 16:10 okyihu 阅读(248) 评论(0) 推荐(0) 编辑
摘要:1 目的: A 很多产品中都要使用蜂鸣器模块,有的产品中蜂鸣器只需要做为按键音,提示用户有按键按下,有的产品中蜂鸣器做为告警声,不同的警告有不同的蜂鸣音。 B 虽然蜂鸣器直接用MCU的GPIO控制即可,置IO高或低,蜂鸣器就会鸣叫或关闭,但是在有的产品中,它的控制却并不简单。例如:出现A告警以滴滴2 阅读全文
posted @ 2023-10-14 17:06 okyihu 阅读(103) 评论(0) 推荐(0) 编辑
摘要:1 STM32 实时时钟RTC原理: A 外部晶振采用32.768KHz的原因,因为2的15次方2^15=32768, 所以32.768KHz分频15次后刚好是1Hz,1S就是1Hz。 B RTC模块有一个实时计数器Real Time Counter,它对震荡源脉冲计数,每个脉冲计数器加1,所以不能 阅读全文
posted @ 2023-10-14 16:27 okyihu 阅读(477) 评论(0) 推荐(0) 编辑
摘要:1 目的: 定时器的编码器模式可以通过硬件的方式来读取编码器的旋转方向和脉冲数,而不需要软件开销。 2 使用示例: __HAL_TIM_IS_TIM_COUNTING_DOWN(&htim2):返回 0 或 1 ,代表转动方向 __HAL_TIM_GET_COUNTER(&htim2):返回计数脉冲 阅读全文
posted @ 2023-10-14 16:27 okyihu 阅读(1531) 评论(0) 推荐(0) 编辑
摘要:1 代码: crc_lib.h /* Define to prevent recursive inclusion */ #ifndef __crc_lib_H #define __crc_lib_H #ifdef __cplusplus extern "C" { #endif /* Includes 阅读全文
posted @ 2023-10-14 16:26 okyihu 阅读(267) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示