当前位置: 首页 > news >正文

重庆网站建设价位友链

重庆网站建设价位,友链,服务器网站建设流程图,线上分销平台本教程基于韦东山百问网出的 DShanMCU-RA6M5开发板 进行编写#xff0c;需要的同学可以在这里获取#xff1a; https://item.taobao.com/item.htm?id728461040949 配套资料获取#xff1a;https://renesas-docs.100ask.net 瑞萨MCU零基础入门系列教程汇总#xff1a; ht…本教程基于韦东山百问网出的 DShanMCU-RA6M5开发板 进行编写需要的同学可以在这里获取 https://item.taobao.com/item.htm?id728461040949 配套资料获取https://renesas-docs.100ask.net 瑞萨MCU零基础入门系列教程汇总 https://blog.csdn.net/qq_35181236/article/details/132779862 第27章 freeRTOS实验 本章目标 学会使用RASC创建一个基于freertos的工程学会使用RASC创建freertos任务体验RTOS的多任务调度 27.1 创建基于FreeRTOS的工程 使用RASC工具创建基于freertos的MDK工程非常的简单快捷在前文创建MDK工程《3.5.1 使用RASC创建MDK工程》的最后一步那里在“RTOS Selection”中选“FreeRTOS(v10.4.6fsp.4.3.0)”即可如下图所示 接下来会默认勾选“FreeRTOS-Minimal-Static Allocation” 到这一步后直接点击下方的“Finish”即可创建一个带有FreeRTOS的RA6M5 MDK工程了。 27.2 FreeRTOS初体验 27.2.1 新建线程 在RASC中新建线程非常简单在其配置界面的“Stacks”中右侧界面的“Threads”处点击“New Thread”即可新建一个FreeRTOS的线程也就是任务如下图所示 上图中已经添加了两个线程“log_thread”和“led_thread”。 27.2.2 添加堆分配算法模块 添加完线程之后还需要添加堆分配算法FreeRTOS支持5种堆算法heap1~heap5。本实验选择的是heap4首先选中任意一个FreeRTOS线程比如“led_thread”然后点击配置界面的“New Stack”找到“RTOS”后选择要使用的算法即可如下图所示 FreeRTOS中只能选择一种堆算法。虽然上图里是在“led_thread”中为它选择了某个堆算法但是这个堆算法不是“属于”某个线程而是属于整个FreeRTOS的。你不能在另一线程里选择另一种堆算法。 27.2.3 配置FreeRTOS通用参数 要使用FreeRTOS需要配置内核相关的许多参数比如时钟基准时钟频率任务栈大小分配内存时使用静态分配还是动态分配等等这些参数在FSP种点击任意一个FreeRTOS线程即可看到关于内核的通用参数配置然后根据自己的实际需求进行设置 Common-General 在此处设置RTOS内核运行的时钟频率、任务最大优先级等参数如下图所示 Common-Memory Allocation 在此处设置内存分配相关的参数比如是否支持静态内存分配、堆的大小如下图所示 其它通用参数 还有很多参数比如是否支持任务通知、互斥量等等FreeRTOS是一个可以高度定制的内核要想弄清楚这些参数需要对它比较熟悉。 27.2.4 配置线程参数 对于某个线程需要设置它的名称、栈大小、优先级等参数如下图所示 27.2.5 驱动程序 本实验使用的是串口和LED的驱动程序请读者自行移植。 27.2.6 线程程序 LED线程 在LED的线程入口函数中本实验先对LED设备进行初始化然后每隔300ms改变一次LED的状态以实现闪烁效果代码如下 #include led_thread.h #include drv_gpio.h #include hal_data.h /* LedThread entry function */ /* pvParameters contains TaskHandle_t */ void led_thread_entry(void * pvParameters) {FSP_PARAMETER_NOT_USED(pvParameters);/* TODO: add your own code here */struct IODev *pLedDev IOGetDecvice(UserLed);if(NULL ! pLedDev)pLedDev-Init(pLedDev);bool state false;while(1){pLedDev-Write(pLedDev, state);state !state;vTaskDelay(300);} }需要注意的是这里使用的是RTOS内核的延时函数它让当前线程进入阻塞状态让出处理器资源。 串口打印线程 在串口打印线程的入口函数中首先初始化了串口然后每隔100ms计数一次并打印出来代码如下 #include log_thread.h #include drv_uart.h #include hal_data.h #include stdio.h /* LogThread entry function */ /* pvParameters contains TaskHandle_t */ void log_thread_entry(void * pvParameters) {FSP_PARAMETER_NOT_USED(pvParameters);/* TODO: add your own code here */UARTDrvInit();uint32_t count 0;while(1){printf(\r\nLog: %d\r\n, count);vTaskDelay(100);} }27.2.7 FreeRTOS启动分析 FreeRTOS的启动过程看main函数即可。创建2个线程后启动调度器。代码如下 int main(void) {g_fsp_common_thread_count 0;g_fsp_common_initialized false;/* Create semaphore to make sure common init is done before threads start running. */g_fsp_common_initialized_semaphore #if configSUPPORT_STATIC_ALLOCATIONxSemaphoreCreateCountingStatic(#elsexSemaphoreCreateCounting(#endif256,1#if configSUPPORT_STATIC_ALLOCATION, g_fsp_common_initialized_semaphore_memory#endif);if (NULL g_fsp_common_initialized_semaphore) {rtos_startup_err_callback(g_fsp_common_initialized_semaphore, 0);}/* Init RTOS tasks. */led_thread_create();log_thread_create();/* Start the scheduler. */vTaskStartScheduler();return 0; }第07~22行创建了一个计数型信号量第25~26行创建线程第29行开启FreeRTOS的调度器如果开启成功则不会走到30行的“return 0” 对于RASC创建的FreeRTOS工程它不会调用hal_entry()函数。 27.2.8 测试结果 将编译出来的二进制可执行文件烧录到板子上运行可以观察到LED在闪烁而且串口在打印如下图这样的信息 本章完
http://www.w-s-a.com/news/511022/

相关文章:

  • 做啊录音网站WordPress音乐悬浮插件
  • 安徽建设厅证书查询网网站网站策划与运营课程认知
  • wordpress证书关闭重庆seo优化效果好
  • 直播网站建设模板网站活动怎么做的
  • 医院网站建设网站网站开发工资高嘛
  • 个人网站备案内容写什么做网站是不是涉及很多语言职
  • 怎么用手机做一个网站门户网站建设工作的自查报告
  • 网站搭建怎么收费浙江建设集团网站
  • 建网站怎么赚钱免费引流软件下载
  • 自建网站服务器备案做基础销量的网站
  • 淘宝 网站建设 发货音乐网站首页设计
  • 丽水做网站杭州建电商网站多少钱
  • 建设网站能解决什么问题wordpress 模板 中文
  • 平台型网站建设预算表友情链接中有个网站域名过期了会影响
  • 漯河网站开发运营seo是什么意思
  • 网站建设的征求意见稿iis 网站 红
  • 网站搭建教室企业网站开发实训心得
  • 阿克苏建设网站佛山app定制
  • 做淘宝网站要求与想法大型网站建设推荐
  • 在百度做网站赚钱吗跨境电商网站开发
  • 酒店网站建设策划方案南昌网站建设南昌
  • 临沂罗庄做网站房产cms
  • 五合一网站做优化好用吗网站设计的专业流程
  • 毕业设计论文网站开发需要多少网站seo建设方案
  • h5页面用什么做杭州优化外包哪里好
  • 许昌网站建设百姓国货app下载
  • 什么是建站装修公司做宣传在哪个网站
  • 阿里云虚拟主机多个网站吗大庆油田建设集团网站
  • 坂田公司做网站公司有网站域名后如何建网站
  • 自媒体网站程序淘宝网站维护