- 博客(66)
- 收藏
- 关注
原创 ARM-day6
#ifndef __UART4_H__#define __UART4_H__#include"stm32mp1xx_gpio.h"#include"stm32mp1xx_rcc.h"#include"stm32mp1xx_uart.h"//初始化串口void uart4_config();void putchar(char dat); //发送单个字符串char getchar(); //接收单个字符串void puts(char *s);
2024-04-16 08:45:13 376
原创 freeRTOS-day4
创建队列有两种方式,动态创建使用xQueueCreate函数进行创建,静态创建使用xQueueCreateStatic函数进行创建。在中断中使用的个函数:xQueueSendToBackFromISR,是在任务中使用的:xQueueSendToBack。3.队列、信号量、互斥量、事件组需要被创建,所以消耗的资源也是比较多。在FreeRTOS中,事件组允许任务等待多个事件的状态,并且可以在任何事件被设置时唤醒等待的任务。任务通知无需创建即可使用。1.总结二进制信号量和计数型信号量的区别,以及他们的使用场景。
2024-04-06 21:51:00 1022
原创 FreeRTOS--3
5..Running->Suspeded:Blocked->Suspeded:Ready->Suspeded:使用vTaskSuspend函数可以让任务运行态,阻塞态和就绪态进入或进入挂起态,。最后,静态任务创建和动态任务创建在任务的生命周期管理上也存在差异。使用默认的任务去创建一个优先级比他高的任务,观察抢占式调度的现象。2.总结静态创建任务和动态创建任务的区别,以及动态创建任务和静态创建任务的源码分析步骤。3.Blocked:阻塞态,当任务在等待时间,或者是信号量,互斥量的时候进入阻塞态。
2024-04-02 21:53:05 259
原创 freeRTOS-day1
(1)、在Timers中选择一个定时器,将定时器的cloc Source设置为intermal Clock,修改预分频系数和重装载值,最后勾选NVIC Settings下的第一个Enabled。(2)、下载代码前必须先编译查找错误,并且在魔法棒中的Flash下的Reset and Run勾选上,下载完代码让代码立刻运行,将pack中的Enable取消勾选。(2)、在SYS中,勾选Debug,否则,只能下载一次代码,后续代码都不能下载,单片机锁死。(3)、RCC在配置时钟时,将时钟大小设置为48MHZ。
2024-04-01 22:07:16 259
原创 C++多态
1.封装一个动物的基类,类中有私有成员:姓名,颜色,指针成员年纪再封装一个狗这样类,共有继承于动物类,自己拓展的私有成员有:指针成员:腿的个数(整型 int count),共有成员函数:会叫:void speak()要求:分别完成基类和派生类中的:构造函数、析构函数、拷贝构造函数、拷贝赋值函数eg : Dog d1;Dog d3(d2);
2024-03-18 21:43:47 379
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人