FreeRTOS
文章平均质量分 92
only_print
给个offer吧
展开
-
门锁系统——sim卡发送密码
这次是门禁系统的最后一个模块了,之前设想的是还有一个蓝牙模块,但是我的开发板设计时将eeprom的I2C接口设计成了I2C2,而I2C2的接口又和串口二共用GPIO口,所以导致我的串口只能使用4个,现在所有串口都使用完了,就弄不下蓝牙模块了,而且蓝牙模块的使用和WIFI、SIM卡的操作都差不多,都是使用AT指令操作。如果以上都没问题就可以开始测试了,先来实现向手机打电话的操作,这里只能使对方振铃,不能通话,如果想要通话,就要连接sim模块上的音频输入输出引脚。注意分号不要丢,后面的×中填入对方的电话号码。原创 2023-06-14 15:11:58 · 437 阅读 · 0 评论 -
门锁系统——WIFI后台读取数据
因为ESP8266本身即是可编程的芯片,可以把它视为一个带有无线通信的单片机,而用户需要在专门的IDE中编写对应的程序,然后通过烧写固件的方式将程序写入到芯片中,因此,此时想要实现WiFi通信,需要自定义WiFi协议栈,因此对用户掌握的相关知识要求更高。因为我们需要对8266进行调试,所以我们想要看到我们给8266发送的AT指令和8266返回给我们的答复,就需要完成串口一和串口二的数据互通,这里还是和之前一样,为8266创建一个文件夹和对应的8266.c和8266.h文件,将它们添加到程序中。原创 2023-06-13 21:57:10 · 286 阅读 · 0 评论 -
门锁系统——卡片识别
接上篇这一篇我们来学习使用RC522——卡片识别模块,这部分遇到的问题比之前多得多,有一些很奇怪的问题,直到现在都没有解决,我只是基本上完成了功能的实现,也有可能是我这个模块的问题,如果您有更好的解决方法,可以给我留言,帮助我解决这块的问题。接下来进入今天的模块认识。原创 2023-06-12 14:47:33 · 383 阅读 · 0 评论 -
门锁系统——屏幕显示
这一块需要用到之前的按键和24C02芯片(EEPROM),这个芯片的作用是用来储存屏幕的校准信息和密码的。,这是一种多层的复合薄膜,它以一层玻璃或硬塑料平板作为基层,表面涂有一层透明氧化金属(透明的导电电阻)导电层,上面再盖有一层外表面硬化处理、光滑防擦的塑料层、它的内表面也涂有一层涂层、在他们之间有许多细小的(小于。为了整个项目的整洁,我们将自己实现的LCD相关程序放在一个新的文件中,在文件目录下创建一个新的文件夹,在其中创建一个bsp_LCD.c和bsp_LCD.h文件,将其分别添加到文件目录中。原创 2023-06-09 15:42:43 · 248 阅读 · 0 评论 -
门锁系统——项目简介
这个项目我目前主要想完成的是一个简单的门锁控制功能,现在利用各个模块单独实现门锁的解锁,这个项目有关的文章应该会比较长,我将各个模块分开写,大家可以按需观看,废话不多说,这就开始本次的实验。本次实验采用STM32F103ZET6主芯片的开发板,使用HAL库开发,利用FreeRTOS。原创 2023-06-07 20:38:17 · 295 阅读 · 0 评论 -
FreeRTOS_流缓冲区的学习与使用
如果调用xStreamBufferReceiveFromISR()导致任务退出阻塞状态,并且未阻塞任务的优先级高于当前正在执行的任务(被中断的任务),则在内部,xStreamBufferReceiveFromISR()将* pxHigherPriorityTaskWoken设置为pdTRUE。写这个地方的函数确实太浪费时间了,博主现在没有太多时间写这个东西,下次的更新应该会比较久,我可能会整理这块学到的东西,然后做一个智能门锁的项目,下次更新应该就是智能门锁的内容了。返回:写入流缓冲区的字节数。原创 2023-04-25 14:54:37 · 553 阅读 · 0 评论 -
FreeRTOS_任务通知的学习与使用
本次实验是验证任务通知,一共分为两个实验。任务通知是FreeRTOS的一种进程间的通讯技术。使用任务通知可以不用向之前那样创建中间变量,可以直接从任务到任务或者从ISR向任务发送通知。本次实验采用STM32F103ZET6主芯片的开发板,使用HAL库开发。原创 2023-04-23 20:03:33 · 1527 阅读 · 0 评论 -
FreeRTOS_事件组的使用
之前我们学习了队列和队列延伸出的信号量、互斥量的使用,但是这些有些局限性,只能同时进行一项任务,我们这次实验来学习如何同一时间使多个任务(。本次实验采用STM32F103ZET6主芯片的开发板,使用HAL库开发。原创 2023-04-21 14:08:45 · 310 阅读 · 0 评论 -
FreeRTOS_认识互斥量
优先级翻转就是本来应该先运行高优先级然后再运行低优先级,但是因为在使用信号量进行控制时,有可能会使优先级翻转,即低优先级先于高优先级运行。原创 2023-04-20 17:41:09 · 187 阅读 · 0 评论 -
FreeRTOS_认识信号量
上次我们认识了队列,这次实验我们使用两个实验来分别认识二值信号量和计数信号量。本次实验采用STM32F103ZET6主芯片的开发板,使用HAL库开发。可以用于进程间的通信,它和互斥量都是基于队列的基本数据结构,信号量又分为和。原创 2023-04-19 21:35:38 · 280 阅读 · 0 评论 -
FreeRTOS_队列的学习与使用
队列的本质是一个缓冲区,用于进程间或进程与ISR之间的少量的数据传递,所以也称为消息队列,一般可以采用先进先出(FIFO或后进先出(LIFO的方式。队列管理、获取队列信息、写入消息、读出消息四种,这些函数都可以在FreeRTOS的文档中查看,这里不再展开讲述,等下需要使用哪些我们会单独讲解。原创 2023-04-18 20:25:38 · 251 阅读 · 0 评论 -
FreeRTOS_初步了解多任务并行
上次实验我们初步了解了RTOS的作用,这次实验我们主要学习RTOS的多任务并行和了解抢占运行的优势。原创 2023-04-17 12:30:59 · 706 阅读 · 1 评论 -
初识RTOS——基于HAL库
RTOS是一种实时操作系统,例如汽车的操控:必须要在规定时间内完成响应。我们日常使用的Windows、IOS、Android等都是非实时操作系统,这些系统对任务响应时间没有严格要求,例如网页打开时可能会很久或者直接闪退等。RTOS的最大特征就是实时性。所有实时操作系统中都要包含一个实时任务调度器,这个任务调度器与其它操作系统的最大不同是强调:严格按照优先级来分配CPU时间,并且时间片轮转不是实时调度器的一个必选项。提出实时操作系统的概念,可以至少解决两个问题:一个是早期的。原创 2023-04-15 16:35:46 · 819 阅读 · 0 评论