自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 基于aht21的硬件层hal的bsp_aht21_driver.c

首先在.h文件中,这些函数都不用谢,因为这些都是底层函数,最后在集成层中,直接进行绑定就行。例如这个iic_init()函数直接将函数绑定给pf_iic_init就行,如何绑定呢?根据上面的aht21_read的代码写一个自己的。模仿别人IIC的代码写一个。根据.h文件来写.c文件。

2025-05-24 00:38:27 53

原创 基于aht21的硬件层hal的bsp_aht21_driver.h

1.从机相应的ACK,2.主机相应的ACK,3.主机相应的NAK(就是不应答)4.START 开始 5.P 停止 6.发送字节 7.接收字节。另外,是IIC通信需要IIC_Init() 低功耗时的iic_deinit(),防止IIC时序被干扰,需要做一个临界区保护。如果带有操作系统,设计一个操作系统接口yield_interface_t,在操作系统中让出CPU,避免忙等待。根据aht21手册,需要IIC通信,现在先构造有关IIC通信的实例结构体。构造前,先写好状态返回值,文件中任何一个函数,最好有返回值。

2025-05-18 16:34:12 232 3

原创 关于读取数组内容以及指针强转换

今天遇到一个有关FLASH写入数组存储内容的事情,在做OTA升级过程中,发现传出的协议内容与解密后的内容不一致,最后发现是FlASH写入出错了。首先第一句的Flash_Write写入的是Mem_Read_buffer数组的首地址,与Mem_Read_buffer的内容并无关系。指针的解引用操作隐式约定“从指针指向的地址开始,读取 sizeof(u32) 字节”(即 4 字节)。第二句写入的是数组前4个元素,为什么是4个字节的内容,而不是一个字节的内容?的数据类型决定的,与指针原本的来源(

2025-05-15 23:48:27 170

原创 FreeRtos信号量(互斥信号量与二值信号量)

创建3个任务,Task1,Task2,Task3,共同使用同一资源sharedCounter,在任务中对其自增,在main 函数里面创建并调用Task1,Task2,Task3,如果不使用互斥就会导致资源不会按照预期进行自增长。:用于任务同步,有take和give两个状态,默认初始化处于释放状态(队列中有信号量),创建OS信号量时初始为空队列,需先放入信号量才能获取。:任务访问共享资源前先获取互斥锁,操作完成后释放,确保同一时刻只有一个任务能访问共享资源,避免竞争条件。二值信号量任何任务或中断可释放。

2025-05-13 21:54:31 404

原创 中断优先级与工作原理

以按钮控制板载LED亮灭为例,此前用while循环不断查询按钮状态,引入ESTI模块后,利用其捕获按钮松开时的上升沿产生中断,并在中断函数里面进行处理中断程序。中断优先级分组:STM32单片机用四位二进制数表示中断优先级,分为抢占优先级和子优先级,前者与中断嵌套有关,后者与中断排队有关。中断优先级与排队实例:通过假定中断优先级分组、中断优先级,分析中断嵌套及排队顺序,并绘制图。中断排队概念:以高铁检票为例,当几个中断优先级相仿时,等待前一个中断执行完,再处理新中断。多个中断排队,优先级高的排前面。

2025-05-09 22:20:21 145

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除