- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
freeRTOS概要1
freeRTOS 任务篇;多任务操作系统的使用可以简化应用程序的设计:1. 操作系统的多任务和任务间通信的机制允许复杂的应用程序被分成一系列更小的和更多的可以管理的任务。2. (程序的)划分(partitioning)让软件测试更容易, 团队工作分解(work breakdown within teams),也有利于代码复用。3. 复杂的定时和先后顺序的细节 可以从应用程序代码中 删除。(因为)这成为操作系统的职责。;软实时:
保证用户体验,在恰当的时限内响应用户输入;int main( void )
{
prvSetupHardware();
xTaskCreate(vLEDFlashTask,(signed char *)Led1 flash,configMINIMAL_STACK_SIZE,
(void *)NULL,mainFLASH_TASK_PRIORITY,(xTaskHandle *)NULL);
/* Start the scheduler. */
vTaskStartScheduler();
for(;;);
/* Will only get here if there was not enough heap space to create the
idle task. */
return 0;
};void vLEDFlashTask(void * pvParameters)
{
portTickType xlastFlashTime;
xlastFlashTime=xTaskGetTickCount();
for(;;)
{
vTaskDelayUntil(xlastFlashTime,(portTickType)100/portTICK_RATE_MS);
LED2_ON();
vTaskDelayUntil(xlastFlashTime,(portTickType)100/portTICK_RATE_MS);
LED2_OFF();
}
};任务的资源:内存,堆栈
任务的属性:优先级
任务的内容:任务函数
任务的状态:
运行,就绪,阻塞,挂起
任务的API:xTaskCreate() 创建任务
vTaskPrioritySet() 设置优先级
uxTaskPriorityGet() 读取优先级
vTaskDelete() 删除任务
vTaskSuspend() 挂起任务
vTaskResume() 唤醒任务
;portBASE_TYPE xTaskCreate(
pdTASK_CODE pvTaskCode,
//任务函数指针
const signed portCHAR * const pcName,//任务名
unsigned portSHORT usStackDepth,//栈大小
void *pvParameters,//任务参数
unsigned portBASE_TYPE uxPriority,//任务优先级
xTaskHandle *pxCreatedTask );
//任务句柄;vTaskDelay()
vTaskDelayUntil()更精确的周期性;实战演练
要求:
在经过剪裁,运行在STM32小板上
的freeRTOS基础上,增加任务。让第二
个LED在片子复位后10秒钟开始闪烁;Step2 控制面板-硬件和声音-添加蓝牙设备-选择输入配对密码-在设备管理器中查看COM口-打开超级终端连接-OK!;double A[9]={1,2,3,0,2,3,0,0,3};
double B[9];;为嘛?;1.IO口配置结构体不同
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOD, GPIO_InitStructure);
您可能关注的文档
- 最大的麦穗优质.ppt
- 最大的麦穗第一课时PPT课件.ppt
- for bb_U1AR1重点句型.ppt
- FORTIFY培训1.ppt
- FORTE软件使用介绍.ppt
- 最后一课-课件.ppt
- 最好的管理沟通案例分析大全大全.doc
- fortran基础第12章.ppt
- Fortran90文件.ppt
- Formily讲解_2.ppt
- 《GB/Z 44363-2024致热性 医疗器械热原试验的原理和方法》.pdf
- GB/T 16716.6-2024包装与环境 第6部分:有机循环.pdf
- 中国国家标准 GB/T 44376.1-2024微细气泡技术 水处理应用 第1 部分:亚甲基蓝脱色法评价臭氧微细气泡水发生系统.pdf
- 《GB/T 44376.1-2024微细气泡技术 水处理应用 第1 部分:亚甲基蓝脱色法评价臭氧微细气泡水发生系统》.pdf
- GB/T 44376.1-2024微细气泡技术 水处理应用 第1 部分:亚甲基蓝脱色法评价臭氧微细气泡水发生系统.pdf
- 中国国家标准 GB/T 44315-2024科技馆展品设计通用要求.pdf
- GB/T 44305.2-2024塑料 增塑聚氯乙烯(PVC-P)模塑和挤塑材料 第2部分:试样制备和性能测定.pdf
- 《GB/T 44315-2024科技馆展品设计通用要求》.pdf
- GB/T 44315-2024科技馆展品设计通用要求.pdf
- GB/T 39560.9-2024电子电气产品中某些物质的测定 第9 部分:气相色谱-质谱法(GC-MS)测定聚合物中的六溴环十二烷.pdf
文档评论(0)