当前位置:网站首页>DEVKIT-mpc5744p配置rtos
DEVKIT-mpc5744p配置rtos
2022-07-15 12:28:00 【子氚】
DEVKIT-mpc5744p配置rtos
软件:S32 Design Studio for Power Architecture Version 2.1
新建工程,配置与生成代码
ref: 野火 《FreeRTOS 内核实现与应用开发实战—基于STM32》
可在野火大学堂下载 或 下载链接
配置
- 在
component library中双击添加rtos模块
- 再在
components中双击这个模块,进入配置界面,完成配置
- 配置3个led接口为输出

ctrl+s保存, 生成代码
- 添加
Task/task_start.c task_start.h task_led.c task_led.h(可在别的地方创建, 拖进工程文件夹)
- 在
main.c中添加包含头文件, 时钟, 引脚, rtos初始化#include "task_start.h" CLOCK_SYS_Init(g_clockManConfigsArr, CLOCK_MANAGER_CONFIG_CNT, g_clockManCallbacksArr, CLOCK_MANAGER_CALLBACK_CNT); CLOCK_SYS_UpdateConfiguration(0U, CLOCK_MANAGER_POLICY_AGREEMENT); PINS_DRV_Init(NUM_OF_CONFIGURED_PINS, g_pin_mux_InitConfigArr); RTOS_Start(); task_start.h#ifndef TASK_START_H #define TASK_START_H #include "FREERTOS.h" #include "task.h" #include "FREERTOS.h" #include "queue.h" #include "semphr.h" #include "task_led.h" #include "task_swt.h" #include "Cpu.h" extern void StartTask(void * pvParameters); extern void RTOS_Start(void); #endiftask_start.c#include "FREERTOS.h" #include "queue.h" #include "semphr.h" #include "task_start.h" TaskHandle_t StartTask_Handle; void StartTask(void * pvParameters) // 初始化3个led任务 { taskENTER_CRITICAL(); //进入临界区 FCCU_DRV_Init(INST_FCCU1, fccu1_Control0, fccu1_NcfConfig0); SWT_DRV_Init(INST_SWT1, &swt1_Config0); PINS_DRV_ClearPins(PTC,(1 << 11)); PINS_DRV_SetPins(PTC,(1 << 12)); xTaskCreate(vLEDTaskG,(const char * const)"vLEDTaskG", configMINIMAL_STACK_SIZE, (void*)0, 2, NULL); xTaskCreate(vLEDTaskB,(const char * const)"vLEDTaskB", configMINIMAL_STACK_SIZE, (void*)0, 2, NULL); taskEXIT_CRITICAL(); //退出临界区 vTaskDelay(1000); taskENTER_CRITICAL(); //进入临界区 xTaskCreate(vLEDTaskR,(const char * const)"vLEDTaskR", configMINIMAL_STACK_SIZE, (void*)0, 2, NULL); PINS_DRV_ClearPins(PTC,(1 << 13)); xTaskCreate(vSwtTask,(const char * const)"vSwtTask", configMINIMAL_STACK_SIZE, (void*)0, 4, NULL); vTaskSuspend(StartTask_Handle); //初始化完成以后挂起开始任务 taskEXIT_CRITICAL(); //退出临界区 } void RTOS_Start(void) { xTaskCreate(StartTask, ( const char * const )"Start Task", 300, NULL, 10,&StartTask_Handle); /* Start the tasks and timer running. */ vTaskStartScheduler(); }task_led.h#ifndef TASK_LED_H #define TASK_LED_H #include "FREERTOS.h" #include "task.h" #include "FREERTOS.h" #include "queue.h" #include "semphr.h" #include "Cpu.h" extern void vLEDTaskR( void *pvParameters); extern void vLEDTaskG( void *pvParameters); extern void vLEDTaskB( void *pvParameters); #endiftask_led.c#include "task_led.h" void vLEDTaskR( void *pvParameters) { while (1) { vTaskDelay( 1500); PINS_DRV_TogglePins(PTC, (1<<11)); } } void vLEDTaskG( void *pvParameters) { while (1) { vTaskDelay( 500); PINS_DRV_TogglePins(PTC, (1<<12)); } } void vLEDTaskB( void *pvParameters) { while (1) { vTaskDelay( 1500); PINS_DRV_TogglePins(PTC, (1<<13)); } }- 编译, debug
- 这里实现了一个rgb交替闪烁, 显示六种颜色的功能

边栏推荐
- Why did musk stop acquiring twitter?
- Fuxin software appeared at the 2022 national chemical enterprise digital intelligence transformation and Development Forum
- C language · bugs and Solutions
- 腾讯大咖分享 | 腾讯Alluxio(DOP)在金融场景的落地与优化实践
- 万字详解SSH(SSH登录原理+SSH配置+模拟实现SSH免密登录)
- 使用KiCad插件,将PCB焊接可视化
- Development practice - reasoning application development experience of shengteng cann
- 【流放之路-第一章】
- 第八十九期:对Pinia的简单思考
- Explication détaillée de la méthode d'interruption du fil
猜你喜欢

Storage system lighting sorting

Development practice - reasoning application development experience of shengteng cann

Zhihu Gaozan: Data Center -- Alibaba, Daas

想成为精英级开发者?请逼自己养成这10个习惯

Clickpaas Ma Jun: model driven low code platform practice

RS485接线 | Modbus智能LED三色声光报警器 机房警示灯带蜂鸣器

Hcip review (2)

"The faster the code is written, the slower the program runs"

Number formatting

Robotframework advanced (III) integrated Jenkins operation automation use case
随机推荐
GRE, mGRE experiment
C language · bugs and Solutions
Verification code and login page
验证码与登录页面
What is the key in defi, smart contract?
红外遥控氛围灯触摸芯片-DLT8SA15A-杰力科创
webview加载url提示net::ERROR_UNKNOWN_URL_SCHEME
HCIP笔记(2)
元宇宙大爆发是谁在“跑马圈地”?
知乎高赞:数据中台——风起阿里,成于DaaS
C language · function
金融市场暴跌忍不住想抄底?劝你看完本文再做决定
The bull and bear cycle of the encryption market; Debate on the definition of NFT
同花顺开户选哪个证券公司好?网上开户安全吗?
美财政部批准与俄罗斯进行化肥、农产品交易
[Xingguang 04] 2022 deep learning GPU form
Hcip notes (2)
Unit MySQL appears in MySQL Solution of service could not be found
558. Quadtree intersection / Sword finger offer II 118 Redundant edge
ModuleNotFoundError: No module named ‘fake_useragent‘