- 博客(10)
- 收藏
- 关注
原创 01_RT-thread笔记之内核基础
内核库是为了保证内核能够独立运行的一套小型的类似 C 库(不同C库实现可能不同)的函数实现子集。仅提供内核用到的一小部分 C 库函数实现,为了避免与标准 C 库重名,在这些函数前都会添加上 rt_ 前缀RT-Thread 支持多种平台和多种编译器,而 rtthread_startup() 函数是 RT-Thread 规定的统一启动入口。
2024-04-01 14:50:15
1108
原创 VSCode使用EIDE开发STM32报错 “Please select first the target STM32F10x device used in your application”
这个up教程非常详细,如果使用cubeMX生成基于HAL库开发,照着教程来不会有问题。查找使用芯片对应需要配置的宏,比如F103c8t6对应的是STM32F10X_MD。原因:stm32f10x.h中没有对应的宏定义。stm32f10x.h中打开对应的宏定义即可。但是编译江科大标准库代码时遇到了这个错误。
2024-03-20 09:24:37
3103
8
原创 01_STM32软件+硬件I2C读取MPU6050(HAL库)
指定地址写一个字节的时序分析如下:如果需要连续写多个字节,只需要最后主机不需要主动拉低SDA,并且重复⑥⑦步,直到写完所有字节,再执行⑧步即可。④~⑦步传输的数据含义是双方约定的,不一定是这个时序中的含义。
2024-03-15 00:22:30
4598
5
原创 05_FreeRTOS内部机制笔记之中断机制
freeRTOS中有两套API,一套是带有FromISR后缀的,这套在中断中使用;另一套是没有后缀的。
2024-03-05 14:56:32
279
1
原创 04_FreeRTOS内部机制笔记之事件组、任务通知
②对方还没发来通知:把"通知状态"从taskNOT_WAITING_NOTIFICATION改为taskWAITING_NOTIFICATION并休眠。①对方早就发来通知:"通知状态"为taskNOTIFICATION_RECEIVED,函数立刻返回。在设置事件组中断中是去唤醒一个守护任务就结束。立刻无条件唤醒对方,不管对方期待什么数据。一个任务想等待对方发来通知,可以调用。
2024-03-05 10:39:57
426
1
原创 03_FreeRTOS内部机制笔记之信号量、互斥量
② 互斥量本质就是特殊的信号量,不仅仅是二值信号量,相比二值信号量还加入了优先级继承。这里将buffer大小改为0,那么创建信号量时就不会去分配后面的buffer大小。① 信号量本质就是特殊的队列,相比队列去掉了读写信息的过程,只是增减计数值。有个疑问:如果一个任务同时拥有多个互斥量是怎么做的呢?还没看源码,了解具体流程,后面把整个源码看一遍。互斥量并非二值信号量!我猜是保持最高优先级,慢慢释放掉。
2024-02-29 20:20:52
308
原创 02_FreeRTOS内部机制笔记之队列
举个简单的例子:在队列里,也可能存在这样的互斥问题:解决方案:QueenSend( )函数,在写队列之前关闭中断。
2024-02-29 14:17:31
209
原创 01_FreeRTOS内部机制笔记之任务
举例:动态分配内存创建三个核心:①执行函数;②栈的大小;③优先级对于一个任务并没有什么复杂的,它可以说是一个“函数”,其它的参数倒是不怎么重要。但是需要给它提供一个栈,因为在函数运行的时候有调用关系、局部变量,这些东西都保存在栈里面;还有,任务有可能被暂停,此时CPU寄存器都得保存在栈里面。
2024-02-27 21:04:50
533
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人