- 博客(10)
- 收藏
- 关注
原创 EEPROM读写驱动程序
EEPROM作为嵌入式常用的芯片,驱动较为简单,采用IIC接口,但是仍然需要注意几个点,以AT系列为例,AT24C04~AT24C1024需要注意它们的页选择位等,本文会说明多个芯片的区别,并集成在同一个驱动中。对于AT24Cxx系列的芯片,A0、A1、A2作为地址输入引脚,最多可级联八个该器件(地址0xA0、0xA2、0xA4、0xA6、0xA8、0xAA、0xAC、0xAE#define EE_01_PAGE_NUM 16 //页数。
2025-03-19 19:28:59
799
原创 STM32+串口DMA配置和使用
DMA,直接存储器存取(Direct Memory Access)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU干预,数据可以通过DMA快速地移动,这就节省了CPU的资源来做其他操作。串口(uart)是一种低速的串行异步通信,适用于低速通信场景,通常使用波特率小于或等于115200bps。对于小于或者等于115200bps波特率的,而且数据量不大的通信场景,一般没必要使用DMA,或者说使用DMA并未能充分发挥出DMA的作用。
2024-12-27 11:48:21
2558
原创 STM32+外部中断+定时器 实现红外遥控(二)
本文主要介绍如何利用外部中断和定时器实现红外遥控功能代码,在上一篇文章已经简述过原理了,所以本文着重于应用,不讲原理。原理部分可跳转。在前文和本文中,红外遥控代码分为两种,一种是输入捕获中断实现红外遥控,本文是用外部中断+定时器来实现,两种方式用到的方法是同样的,不同的是用到的外设不同,下面将会列举编写代码过程遇到的问题。注意:1、在多任务系统里:vTaskDelay(50);//200 时间太长了会导致数据还没找到就又来了一个数据,会导致按下红外按键就出现按下两次的情况。
2024-08-24 08:39:10
1064
原创 STM32+TIM输入捕获中断 实现红外遥控(一)
由于日常工作需要,简略写一篇关于红外遥控的文章,方便日后理解和随时移植。本文通过野火指南者(STM32F103VET6单片机)实现红外遥控接收过程。
2024-08-17 15:13:38
1680
2
原创 记录一下C语言函数指针的用法
关于函数指针,本文没有注重理论,只是写了两个比较简单例程,方便之后回来看到就能够联想到函数指针的用法,关于函数指针的介绍,可跳转。
2024-06-18 08:51:59
231
原创 如何将keil5中的bin文件合并
最近有个需求,需要把单片机中的两个bin文件合并成一个bin文件,方便板子在生产烧录代码阶段可以节约烧录次数,这两个文件一般指的是BOOT+APP文件,bin文件里面没带有地址信息,但是在单片机中的烧录文件需要定位起始地址,所以就需要特别注意它们的偏移地址。因为可能会涉及到进制的转换,用了好几个工具都以失败告终,然后就总结两个简单的方法,哈哈。本次使用的两种方法感觉还是不够灵活,不能在keil5里面一起实现,但好歹也是自己找了一下午的方法,据说也可以通过winhex。
2024-06-15 10:16:49
1502
原创 学习如何让STM32在运行时改变PWM频率和占空比
最近有个需求是关于调节占空比去控制风扇实现三挡风力大小的。由于硬件供电和控制成本等原因,普通的芯片支撑不起几个风扇同时转起来,于是就沿用了一个神奇的电路方案,但是这个方案在输出占空比的时候达不到真正的占空比(这里解释不清),因为电机类需要特别注意频率的大小,频率太高或者太低或多或少都会让人耳接受不了,反正是需要在运行时同时改变PWM频率和占空比,本文着重于应用,不讲原理。一、定时器介绍。
2024-06-06 14:54:02
8286
7
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人