FreeRTOS
_小白鱼儿_
丰富的物联网产品开发经验,嵌入式智能设备开发,桌面QT应用开发
展开
-
《FreeRTOS多任务之间的通信》(队列)
有了多任务,那么多任务之间怎么进行通信呢?介绍使用队列进行通信,这种通信方式在实际的项目中很大的帮助。队列这一节的API介绍创建队列的API为xQueueCreate()xQueueHandle xQueueCreate( unsigned portBASE_TYPE uxQueueLength,unsigned portBASE_TYPE uxItemSize );原创 2017-12-20 15:56:41 · 5400 阅读 · 0 评论 -
《FreeRTOS的检测栈溢出一种方法》(uxTaskGetStackHighWaterMark())
为什么要栈检测首先看我们创建每个任务使用者都是用自己的经验,这个任务大概占多大根据经验然后我们分配给它空间,但是任务栈空间的实际使用量会随着任务执行和中断处理过程上下浮动,所以FreeRTOS提供了一种检测栈剩余的接口。注意事项使用这个API首先要在FreeRTOS.h中打开uxTaskGetStackHighWaterMark#ifndef INCLUDE_uxTas原创 2017-12-21 15:57:23 · 5011 阅读 · 0 评论 -
《FreeRTOS应用总结》(基础应用)
1.在最近的嵌入式工作中很多都是学习FreeRTOS系统,由于只是会对RTOS的接口进行调用,但是很多时候都是知其然而不知其所以然,所以现在对API进行总结。2.首先还是从main函数入口,main()函数创建任务,然后启动调度器大概的格式如下:int main( void ){ if(xTaskCreate(test1, (const char*)"test1", 102原创 2017-12-19 12:45:31 · 6266 阅读 · 0 评论 -
《FreeRTOS多任务之间的通信》(四种信号灯)
四种信号灯的介绍1.计数信号灯:计数信号灯可以看成是长度大于 1 的队列2.二值型信号灯:二进制信号灯可以认为长度是 1 的队列,二值型信号灯是种特殊的计数信号灯,二值信号灯和互斥锁十分相像,不过二值型信号灯适合用于同步。3.互斥信号灯:互斥锁和二元信号量十分相像,不过两者间有细微的差别,互斥锁包含一个优先级继承机制,互斥锁适合用于互斥4.递归互斥:这个我很少用,只原创 2017-12-25 14:04:41 · 8568 阅读 · 2 评论 -
FreeRTOS监测栈空间的方法——vTaskList的使用
由于平台的差异性,FreeRTOS容易出现栈的溢出等现象,这时候在调试的时候使用void vTaskList( char * pcWriteBuffer ) 这个函数很有必要这个函数可以打印出栈名 栈状态 优先级 栈的剩余空间 这样就一目了然了,demo如下void TASK_LIST(void *arg){ char pWriteBuffer[2048]; ...原创 2018-05-31 16:30:53 · 10679 阅读 · 1 评论