自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 二值信号量与事件组在不同任务中使用莫名奇妙获取不到二值信号量

这只是一部分,有些二值信号量的释放我放在了别的文件,我这个的问题是加上了void Open_lock_Task(void *pvParameters)这个任务就无法使用了,经过排查是因为我任务的内存加起来刚好就是lv_demo_task()所申请的1024个字节 (所有的任务都是在这个任务中创建的),所以可能是内存不够导致的问题,将#define RC522_STK_SIZE 512中的512改128程序就正常了。今天在使用二值信号和事件组的时候发现获取不到二值信号量了,下面是原先的代码。

2024-07-14 00:31:03 170

原创 malloc自我总结

先在main文件中定义一个Root_User_node指针类型的全局变量,然后调用创建根节点的函数,因为该变量不只一个函数要用,虽然可以通过传参的方式,但是考虑到用到了一些LVGL的函数不知如何传参,所以直接用全局变量,然后用extern在需要用到的文件上,再在创建创建根节点的函数中去malloc给他分配空间。这次在使用malloc一直报错,之前我在创建节点函数中malloc一块空间给根节点,但是今天我想在初始化根节点的时候给根节点添加一个首节点,由于一直不知道具体的用法所以总结一下。

2024-07-12 00:28:40 191

原创 LVGL+FreeRTOSRC卡只能录入一次的问题

FreeRTOS+LVGL

2024-07-11 00:16:19 119

原创 最近在学习ESP8266上onenet平台出现的问题

第二.一定要严格按照平台的格式编写,不然一定错,每个平台都有自己的规范,还有出现了这个错误{"id":null,"code":2402,"msg":"request format error"}多半是发布报文写错了。一.注意在调试助手的时候调试的时候一定要用转义字符'\'去转义,包括逗号(这个一定要注意)和双引号,字符串内部使用了双引号,就需要使用反斜线(\)来转义这些双引号,以避免与外层的双引号混淆,确保字符串被正确解析。这个是两个上传云平台的AT指,第一个是订阅报文,第二个是发布报文。

2024-06-01 00:49:53 172

原创 RTOS函数体必须有阻塞的情况出现

而在这个延时函数里则是将任务插入到延时列表中,从就绪列表中删除并且启动任务的切换,可想而知当一个任务没有进行阻塞时,也就无法将任务插入到延时列表也无法从就绪列表中删除,并且无法切换任务,只插入到了就绪列表,这就会造成任务无法从就绪列表中删除,而在切换任务的时候又时按照任务优先级去切换的,所以当最高级任务没有阻塞情况的时候其他任务没有执行的机会。而在SYS滴答定时器中断里面则是每个一段时间就去看看延时函数里面的任务是否到期,到期了就将任务从延时列表中方移除,消除等待,将解除等待的任务添加到就绪列表中。

2024-04-24 21:16:24 186

原创 蓝桥杯按键单击加双击加长按

单击代码如下,用的是10ms的定时中断,这个是单击加双击加长按的代码。这个代码是参考了某站一位UP的。这个是单击加双击的代码。这个是单击加长按的代码。

2024-04-10 21:31:24 124 1

原创 对STM32输入捕获的认识

其实输入捕获就是利用脉冲去测量另一个脉冲,总结在下面了,表达能力不太行,仅供自己学习记录。今天找个输入捕获的bug,让我对输入捕获有了更加深刻的了解。

2024-04-06 23:05:35 115 1

原创 输入捕获,捕获不到数据

今天在写蓝桥杯第14届真题,发现用定时器的输入捕获功能捕获不到数据,找了老半天,结果发现是他在改变频率的时候没有更新占空比,导致找不到上升沿,所以进不了捕获中断,所及数据就更新不了。

2024-04-06 20:26:55 171 2

原创 error: #20: identifier “ListItem_t“ is undefined

按照上面的搞就可以,可能是ListItem_t变量被放在定义之前导致的。最近在CV RTOS发现了上面的错误,找了老半天。

2024-04-01 20:53:01 238 2

原创 HAL库的串口中断丢失数据

按照这样子写会第一个数据接收不到。按照这样子写就能接收完整数据。

2024-03-03 11:55:46 227

原创 为什么ADC读取得值最大是255

最近用到了ADC功能,在去读ADC数值得时候发现读到得值最大为255,就很奇怪12位的DR寄存器读到得最大值不应该4096吗?MAX配置的参数也没有错,最后发现是自己定义的读取ADC参数的变量定义的太小了,我定义的是uint8_t的类型,最大只能存储255,所以一直显示的最大数据是255,把uint8_t数据改成uint16_t或者uint32_t的数据类型大小就可以了。

2024-02-16 17:07:14 218 1

原创 蓝桥杯嵌入式在使用LCD并在定时器里控制LED

这个是我的中断函数,但是效果不行。这个和LCD有关系,都知道在蓝桥杯所用的板子上LCD与LED是有冲突的,可能是因为在执行LCD函数时发生了中断导致达不到理想的效果。但是可以不用中断实现,用轮询的方式也是可以的,不用定时器也是可以实现的但是效果不佳。所以我用了轮询的方法。做个学习记录,在做蓝桥杯第十届真题得时候,真题要求是这样得。看到这个第一个想到的就是用定时器延时,当时我发现不行。

2024-02-14 16:58:05 174 2

原创 RTC时间数据读不出

即必须在HAL_RTC_GetTime()之后调用HAL_RTC_GetDate()来解锁高阶日历阴影寄存器中的值,以确保时间和日期值之间的一致性,否则会被上锁。做一次简单的记录,在进行RTC数据的读取时,我想时间数据老是读不出,网上查了一下,具体可以看看一下这个博主发的。总结就是在读取时要日期和时间一起读出才会更新数据。

2024-02-08 00:06:17 693

原创 蓝桥杯LCD与LED引脚冲突解决方案

详细的可以去搜搜这个芯片有什么用,PD2是一个控制锁存与直通的引脚,这里就简单解释一下就是当为0时是锁存也就是将数据锁存在Q端,为1时就是直通,D端向Q端输出数据,这样的话当要让LED1亮时先直通让数据输出,然后再把数据锁存在Q端,这样D端就不用持续的输出电平,从而可以干其他的事。LCD与LED需要一起工作时,当要点灯我们就直通然后点灯然后再锁存住就可以了,这样引脚就可以去执行LCD的事了。这次在做蓝桥杯的真题,发现真题里挺多在LCD已经使用的前提下还要使用LED,这便造成了引脚的冲突。

2024-02-04 22:42:26 451 1

原创 AT24C02Debug时2能够正常得读写但是烧录后不行

在进行AT24C02读写操作时发现Debuge时能够正常得读写数据但是烧录后只能写入不能正常的读出在AT24C023的写函数里加一个1ms的延时就能够正常的进行读操作了。写时序还包含芯片内部写入,这个写入过程最大可以长达5ms。详细的可以看这位作作者的博客。

2024-01-20 23:47:46 307

原创 在学习HAL库ADC遇到的问题

以上代码是基于单次转化模式下(ADC启动后只转化一次数据所以HAL_ADC_Start()和HAL_ADC_PollForConversion()函数要写在while(1)中,否则转化一次后不会在转化新的数据)的,不需要对标志位进行清零,因为在HAL_ADC_Start()函数中会对标志位清零。此模式下必须清除转化标志EOC位,否则ADC数据不会更新。

2024-01-18 23:38:43 525 1

原创 记录学习,0.96寸OLED实现清除单个字符

之前OLED是直接拿来使用的也没去探索里面是怎么个原理。最近在做一个门禁系统,其中有一个功能就是,当用户在输入密码时发现按错了一位,想要撤回这一位,但是OLED上已经显示了*表示密码已输入一位,这个时候就要撤回刚才的字符,让OLED不显示刚才输入的一位密码,在OLED的就是要这个*不显示。

2023-12-09 10:54:00 633

原创 基于STM32的简单火灾报警介绍

单片机上电,OLED可以显示温度湿度,可以通过两个按键调节温度阈值(本实验中的四个按键分别用K0 K1 K2 K3来表示,这里的两个按键为K1 K2用于调节阈值的),当温度超过阈值时,OLED会提示危险。一秒后会提示重新设置温度阈值,当设置的阈值还是小于当前温度时,会提示当前温度大于设置的阈值,跳回设置阈值界面,重新设置阈值。当火焰传感器检测到火焰时,OLED显示着火了。

2023-11-26 14:13:11 1227 1

原创 在RC522模块中学习SPI记录走过的坑,RC522寻卡返回0xbb

函数执行后一次通信就结束了,而这就导致了发送指令后主机主动的结束了通信,从机发送的数据主机没有收到. 而后面的RC_522_Read_Write(0xff)则是另一次的通信了,写入0xff,从机都不知道是什么指令,所以返回错误的数据给主机,导致后续的通信出错,寻卡必然也出错,所以寻卡返回0xbb.先检查SPI的引脚配置还有读写函数,则此又是被读写函数给坑惨了。1.RC522的一些函数已经是写固定,所以主要是这个SPI通讯的问题,在此次通过RC522学习SPI的过程中,我使用了一个读写函数如下。

2023-11-26 14:05:44 1027 2

空空如也

空空如也

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

TA关注的人

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