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

网站怎么做详情页wordpress session 表

网站怎么做详情页,wordpress session 表,铝木门窗网站建设,易订货小程序怎么收费嵌入式轻量级开源操作系统:HeliOS的使用 #x1f4cd;项目地址#xff1a;https://github.com/heliosproj/HeliOS HeliOS项目是一个社区交付的开源项目#xff0c;用于构建和维护HeliOS嵌入式操作系统#xff08;OS#xff09;。HeliOS是一个功能齐全的操作系统#xff0… 嵌入式轻量级开源操作系统:HeliOS的使用 项目地址https://github.com/heliosproj/HeliOS HeliOS项目是一个社区交付的开源项目用于构建和维护HeliOS嵌入式操作系统OS。HeliOS是一个功能齐全的操作系统旨在满足由爱好者、研究人员、STEM教育工作者和学者组成的广泛用户社区的需求。HeliOS还旨在满足各种技能水平用户的需求从在其Arduino项目中实施操作系统的电子爱好者,以及到开发将部署到现场的遥感仪器的研究科学家。 当前该系统支持的开发环境或平台Arduino IDE、PlatformIO IDE、ARM Cortex-M。 ✨请注意当使用ESP32 Arduino内核时Espressif ESP32微控制器上不支持HeliOS。这是因为ESP32 Arduino内核是基于FreeRTOS构建的HeliOS和FreeRTOS不能在同一个应用程序中共存。要针对ESP32HeliOS必须使用Espressif的SDK构建而不是使用ESP32 Arduino内核。 /src/port.h和 /src/port.c的文件也需要更新必要的代码来控制中断和访问微控制器的滴答计时器。 对于微控制器的MMU或MPU内存保护单元启用时可能无法从用户代码中访问内存映射寄存器和I/O。 HeliOS API文档说明https://github.com/heliosproj/HeliOS/blob/master/doc/HeliOS_Developers_Guide.pdf 本文主要测试Arduino IDE平台的使用和用Keil MDK以 ARM Cortex-MMCU移植HeliOS的使用。 Arduino IDE平台构建和测试 安装依赖库HeliOS 库所提供的相关测试例程 - 测试例程代码一 一个基础的点灯程序。 /*UNCRUSTIFY-OFF*/ /*** file Blink.ino* author Manny Peterson mannyheliosproj.org* brief An example Arduino sketch* version 0.4.1* date 2023-03-19* * copyright* HeliOS Embedded Operating System Copyright (C) 2020-2023 HeliOS Project licenseheliosproj.org* * SPDX-License-Identifier: GPL-2.0-or-later* * */ /*UNCRUSTIFY-ON*/ #include Arduino.h #include HeliOS.hvoid blinkTask_main(xTask task_, xTaskParm parm_) {int ledState DEREF_TASKPARM(int, parm_);if(ledState) {digitalWrite(LED_BUILTIN, HIGH);Serial.println(LED colosed);ledState 0;} else {digitalWrite(LED_BUILTIN, LOW);Serial.println(LED open);ledState 1;}DEREF_TASKPARM(int, parm_) ledState;return; }void setup() {xTask blink;int ledState;Serial.begin(115200);pinMode(LED_BUILTIN, OUTPUT);//初始化系统if(ERROR(xSystemInit())) {xSystemHalt();//停止HeliOS}//创建一个任务传入任务指针 task、任务名称 PRINTTSK、任务函数 taskPrint_main 和任务函数参数if(ERROR(xTaskCreate(blink, (const xByte *) BLINKTSK, blinkTask_main, ledState))) {xSystemHalt();}//将任务置于“等待”状态。if(ERROR(xTaskWait(blink))) {xSystemHalt();} //同步扫描来更改任务计时器的时间间隔周期。任务被调度执行的间隔时间if(ERROR(xTaskChangePeriod(blink, 1000))) {xSystemHalt();}//启动HeliOS调度程序if(ERROR(xTaskStartScheduler())) {xSystemHalt();}xSystemHalt(); }void loop() {}以上代码上传到328PB上传测试结果 - 测试例程代码二 运行两个占用不同时间的任务函数 /*UNCRUSTIFY-OFF*/ /*** file Coop.ino* author Manny Peterson mannyheliosproj.org* brief An example Arduino sketch* version 0.4.1* date 2023-03-19* * copyright* HeliOS Embedded Operating System Copyright (C) 2020-2023 HeliOS Project licenseheliosproj.org* * SPDX-License-Identifier: GPL-2.0-or-later* * */ /*UNCRUSTIFY-ON*/ #include Arduino.h #include HeliOS.hvoid taskShort_main(xTask task_, xTaskParm parm_) {/* Arduinos delay() is only used here to demonstrate HeliOS functionality and* must not be used in a real application built on HeliOS. */delay(500);Serial.print(S);digitalWrite(LED_BUILTIN, LOW); }void taskLong_main(xTask task_, xTaskParm parm_) {/* Arduinos delay() is only used here to demonstrate HeliOS functionality and* must not be used in a real application built on HeliOS. */delay(1000);Serial.println(L);digitalWrite(LED_BUILTIN, HIGH); }void setup() {xTask shortTask;xTask longTask;Serial.begin(9600);pinMode(LED_BUILTIN, OUTPUT);if(ERROR(xSystemInit())) {xSystemHalt();}if(ERROR(xTaskCreate(shortTask, (const xByte *) SHORTTSK, taskShort_main, null))) {xSystemHalt();}if(ERROR(xTaskCreate(longTask, (const xByte *) LONGTSK , taskLong_main, null))) {xSystemHalt();}if(ERROR(xTaskResume(shortTask))) {xSystemHalt();}if(ERROR(xTaskResume(longTask))) {xSystemHalt();}if(ERROR(xTaskStartScheduler())) {xSystemHalt();}xSystemHalt(); }void loop() {}- 测试例程代码三 查询系统和任务信息 /*UNCRUSTIFY-OFF*/ /*** file GetInfo.ino* author Manny Peterson mannyheliosproj.org* brief An example Arduino sketch* version 0.4.1* date 2023-03-19* * copyright* HeliOS Embedded Operating System Copyright (C) 2020-2023 HeliOS Project licenseheliosproj.org* * SPDX-License-Identifier: GPL-2.0-or-later* * */ /*UNCRUSTIFY-ON*/ #include Arduino.h #include HeliOS.hvoid taskPrint_main(xTask task_, xTaskParm parm_) {String str;xTaskInfo tinfo;xSystemInfo sinfo;//用于获取关于单个任务的信息。提供了任务的状态和名称以及任务的运行时统计信息。if(OK(xTaskGetTaskInfo(task_, tinfo))) {str taskPrint_main(): id ;str tinfo-id;str , name ;str xByte2String(CONFIG_TASK_NAME_BYTES, tinfo-name);str , state ;str tinfo-state;str , ltime ;str tinfo-lastRunTime;str , ttime ;str tinfo-totalRunTime;Serial.println(str);digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));//释放堆内存if(ERROR(xMemFree(tinfo))) {xSystemHalt();}}//获取系统信息名称、版本和任务的数量if(OK(xSystemGetSystemInfo(sinfo))) {str taskPrint_main(): ;str xByte2String(OS_PRODUCT_NAME_SIZE, sinfo-productName);str ;str sinfo-majorVersion;str .;str sinfo-minorVersion;str .;str sinfo-patchVersion;str has ;str sinfo-numberOfTasks;str task.;Serial.println(str);if(ERROR(xMemFree(sinfo))) {xSystemHalt();}} }void setup() {xTask task;Serial.begin(9600);pinMode(LED_BUILTIN, OUTPUT);if(ERROR(xSystemInit())) {xSystemHalt();}if(ERROR(xTaskCreate(task, (const xByte *) PRINTTSK, taskPrint_main, null))) {xSystemHalt();}if(ERROR(xTaskWait(task))) {xSystemHalt();}if(ERROR(xTaskChangePeriod(task, 1000))) {xSystemHalt();}if(ERROR(xTaskStartScheduler())) {xSystemHalt();}xSystemHalt(); }void loop() {}Keil MDK以 ARM Cortex-MMCU移植HeliOS的使用 这里以常见的stm32f103为例基于STM32CubeMX生成必要的工程代码作为基础。来实现对HeliOS系统的移植使用。 STM32移植HeliOS使用步骤 使用STM32CubeMX创建工程。修改默认时基由于HeliOS需要使用到滴答定时器作为时基所以这里换成一个没有使用到的基本定时器。 NVIC修改取消默认滴答定时器中断回调代码生成的勾选由于HeliOS原驱动代码中已经包含相关代码。 其他的外设可以按需配置即可。 移植部分 将HeliOS原项目下载下来拷贝项目中src文件夹到自己所创建的项目文件夹中。 将源文件.c添加到工程中 将头文件.h路径添加到工程目录中 添加宏CMSIS_ARCH_CORTEXM 修改头文件port.h: #elif defined(CMSIS_ARCH_CORTEXM)// #include stm32f429xx.h#include stm32f1xx_hal.h//mcu型号头文件#define DISABLE_INTERRUPTS() __disable_irq()#define ENABLE_INTERRUPTS() __enable_irq()// #define SYSTEM_CORE_CLOCK_FREQUENCY 0xF42400u /* 16000000u */#define SYSTEM_CORE_CLOCK_FREQUENCY 0x44AA200u /* 72000000u 修改主频*/#define SYSTEM_CORE_CLOCK_PRESCALER 0x3E8u /* 1000u 分频系数*/main.c添加必要的HeliOS.h头文件创建任务。 /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ #include stdio.h #include HeliOS.h /* USER CODE END Includes */创建任务: /* Private user code ---------------------------------------------------------*/ /* USER CODE BEGIN 0 */ void blinkTask_main(xTask task_, xTaskParm parm_) {int ledState DEREF_TASKPARM(int, parm_);if(ledState) {HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET);printf(LED colosed.\r\n);ledState 0;} else {HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET);printf(LED open.\r\n);ledState 1;}DEREF_TASKPARM(int, parm_) ledState;return; } /* USER CODE END 0 */main函数 int main(void) {/* USER CODE BEGIN 1 */xTask blink;GPIO_PinState ledState;/* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();MX_USART1_UART_Init();/* USER CODE BEGIN 2 */ if(ERROR(xSystemInit())) {xSystemHalt();}if(ERROR(xTaskCreate(blink, (const xByte *) BLINKTSK, blinkTask_main, ledState))) {xSystemHalt();}if(ERROR(xTaskWait(blink))) {xSystemHalt();}if(ERROR(xTaskChangePeriod(blink, 1000))) {xSystemHalt();}if(ERROR(xTaskStartScheduler())) {xSystemHalt();}xSystemHalt();/* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */}/* USER CODE END 3 */ }驱动代码效果和上面的Arduino代码差不多。 移植后的工程测试源码 通过网盘分享的文件HeliOS_Temp.rar 链接: https://pan.baidu.com/s/1PTqbM2gSwFqDfamEW_w-tA?pwdpmdm 提取码: pmdm
http://www.w-s-a.com/news/815396/

相关文章:

  • 北京网站建设手机app电子商务网红营销的劣势
  • 网站 营销型wordpress获取4条文章标题
  • 浦东区建设工程监督网站建立全国统一的突发事件信息系统
  • 做网站需要基础吗重庆市造价信息网
  • 我要建设公司网站大连培训网站建设
  • 网站建设校长信箱设计方案小程序报价开发
  • 电子网站建设ppt模板营销策划方案怎么写?
  • 什么网站收录排名最高济南能源建设网站
  • 深圳移动网站建设公司价格桂林做网站哪家公司好
  • 互联网网站名字网站合作建设合同
  • 舟山高端网站设计广州优化排名推广
  • 哪个网站做免费广告好上海人才网站
  • cn域名做网站竞价推广代理
  • 省建设干部培训中心网站网站地图1 500 怎么做
  • 制作一个网站需要哪些人网站建设经营服务合同
  • 山东省住房和城乡建设厅官方网站网易发布广州
  • 长沙设计网站效果设计师灵感网站
  • 做网站php都用什么框架把asp.net写的网站别人怎么访问
  • 网站建设捌金手指下拉六正规的代运营公司
  • 自己申请网站空间冀州建网站
  • 哈尔滨旅游团购网站建设江苏建设工程建设网
  • 在郑州做网站茶叶网站建设网页设计制作
  • 58做网站吗南京有关制作网站的公司
  • 申请建设门户网站的申请先做网站还是先申请域名
  • 门户网站怎么做seo玩具外贸好做吗
  • 网页设计模板的网站黄埔营销型网站建设
  • 企业为什么要建立网站江苏高校品牌专业建设工程网站
  • 网站建设公司需要交税么福建省城乡建设厅网站
  • dedecms网站首页网站正在建设中 源码下载
  • 论坛网站有哪些怎么wordpress主题