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

济宁 网站建设国外域名抢注网站

济宁 网站建设,国外域名抢注网站,wordpress图文并排,PHP做的网站能容纳多少人定义#xff1a; RTOS实时操作系统, (Real Time Operating System), 指的是当外界事件发生时, 能够有够快的响应速度,调度一切可利用的资源, 控制实时任务协调一致的运行。 特点#xff1a; 支持多任务管理#xff0c; 处理多个事件#xff0c; 实现更复杂的逻辑。 与计算…定义 RTOS实时操作系统, (Real Time Operating System), 指的是当外界事件发生时, 能够有够快的响应速度,调度一切可利用的资源, 控制实时任务协调一致的运行。 特点 支持多任务管理 处理多个事件 实现更复杂的逻辑。 与计算机操作系统的区别 RTOS专注于 轻量级 实时性 稳定性 相对于计算机主流系统 RTOS有严格的时间控制和响应速度 成本低 资源开销小 所以可以用于嵌入式领域。 配置 core设置非安全模式下的内核支持 heap:设置第四种堆区设置方式 Core: 选择 不适用安全模式 Heap: 在 FreeRTOS内 支持五种堆空间开辟的方法 使用过程中的状态转换关系图 任务调度的核心: 抢占式调度时间片轮询  任务的创建 通过cubeMX进行任务的添加和设置 相关的MX_FREERTOS_Init函数 /* 任务属性结构体*/ typedef struct { const char *name; /// 任务的名字 uint32_t attr_bits; /// 操作的标志 void *cb_mem; /// 任务的内存地址 uint32_t cb_size; /// 当前任务的内存大小 void *stack_mem; /// 当前任务的栈内存地址 uint32_t stack_size; /// 当前栈内存大小 osPriority_t priority; /// 当前任务的优先级 TZ_ModuleId_t tz_module; /// TrustZone module identifier uint32_t reserved; /// reserved (must be 0) } osThreadAttr_t; 2.任务的优先级 typedef enum { osPriorityNone 0, /// No priority (not initialized). osPriorityIdle 1, /// Reserved for Idle thread. osPriorityLow 8, /// Priority: low osPriorityLow1 81, /// Priority: low 1 osPriorityLow2 82, /// Priority: low 2 osPriorityLow3 83, /// Priority: low 3 osPriorityLow4 84, /// Priority: low 4 osPriorityLow5 85, /// Priority: low 5 osPriorityLow6 86, /// Priority: low 6 osPriorityLow7 87, /// Priority: low 7 osPriorityBelowNormal 16, /// Priority: below normal osPriorityBelowNormal1 161, /// Priority: below normal 1 osPriorityBelowNormal2 162, /// Priority: below normal 2 osPriorityBelowNormal3 163, /// Priority: below normal 3 osPriorityBelowNormal4 164, /// Priority: below normal 4 osPriorityBelowNormal5 165, /// Priority: below normal 5 osPriorityBelowNormal6 166, /// Priority: below normal 6 osPriorityBelowNormal7 167, /// Priority: below normal 7 osPriorityNormal 24, /// Priority: normal osPriorityNormal1 241, /// Priority: normal 1 osPriorityNormal2 242, /// Priority: normal 2 osPriorityNormal3 243, /// Priority: normal 3 osPriorityNormal4 244, /// Priority: normal 4 osPriorityNormal5 245, /// Priority: normal 5 osPriorityNormal6 246, /// Priority: normal 6 osPriorityNormal7 247, /// Priority: normal 7 osPriorityAboveNormal 32, /// Priority: above normal osPriorityAboveNormal1 321, /// Priority: above normal 1 osPriorityAboveNormal2 322, /// Priority: above normal 2 osPriorityAboveNormal3 323, /// Priority: above normal 3 osPriorityAboveNormal4 324, /// Priority: above normal 4 osPriorityAboveNormal5 325, /// Priority: above normal 5 osPriorityAboveNormal6 326, /// Priority: above normal 6 osPriorityAboveNormal7 327, /// Priority: above normal 7 osPriorityHigh 40, /// Priority: high osPriorityHigh1 401, /// Priority: high 1 osPriorityHigh2 402, /// Priority: high 2 osPriorityHigh3 403, /// Priority: high 3 osPriorityHigh4 404, /// Priority: high 4 osPriorityHigh5 405, /// Priority: high 5 osPriorityHigh6 406, /// Priority: high 6 osPriorityHigh7 407, /// Priority: high 7 osPriorityRealtime 48, /// Priority: realtime osPriorityRealtime1 481, /// Priority: realtime 1 osPriorityRealtime2 482, /// Priority: realtime 2 osPriorityRealtime3 483, /// Priority: realtime 3 osPriorityRealtime4 484, /// Priority: realtime 4 osPriorityRealtime5 485, /// Priority: realtime 5 osPriorityRealtime6 486, /// Priority: realtime 6 osPriorityRealtime7 487, /// Priority: realtime 7 osPriorityISR 56, /// Reserved for ISR deferred thread. osPriorityError -1, /// System cannot determine priority or illegal priority. osPriorityReserved 0x7FFFFFFF /// Prevents enum down-size compiler optimization. } osPriority_t; osThreadId_t osThreadNew (osThreadFunc_t func, void *argument, const osThreadAttr_t *attr) void osThreadExit (void) osStatus_t osDelay (uint32_t ticks) osStatus_t osThreadDetach (osThreadId_t thread_id); osStatus_t osThreadJoin (osThreadId_t thread_id 信号量 信号量实际上就是一个值这个值被用来解决临界区问题以及实现进程在多处理器环境下的进程同步。主要分为二值信号量和计数信号量前者主要用于互斥访问和同步类似于互斥信号量不同点是二值信号量不具有优先级继承机制这也使得其适于同步任务。而后者又称为数值信号量数值大于1时使用的重点不在其中存储了什么数据而是通过数值去事件计数和资源管理生产者消费者模型 对于二值信号量的具体使用: 创建、申请or释放信号pv操作 相关函数 SemaphoreHandle_t xSemaphoreCreateBinary(void) BaseType_t xSemaphoreTake(SemaphoreHandle_t xSemaphore,TickType_t xBlockTime) BaseType_t xSemaphoreTakeFromISR(SemaphoreHandle_t xSemaphore, BaseType_t* pxHigherPriorityTaskWoken) BaseType_t xSemaphoreGive(xSemaphore) BaseType_t xSemaphoreGiveFromISR(SemaphoreHandle_t xSemaphore, BaseType_t* pxHigherPriorityTaskWoken) 对于计数信号量的使用 事件计数 事件发生释放信号量数值1其它事件获取后数值-1初始值为0 资源管理 信号量的数值代表着可用的资源数量使用资源先获取数量-1用完之后再释放数量1 初值根据资源的数量去决定。 相关函数 SemaphoreHandle_t xSemaphoreCreateCounting(UBaseType_t uxMaxCount, UBaseType_t uxInitialCount) 信号量的释放与获取与二值信号量相同 BaseType_t xSemaphoreTake(SemaphoreHandle_t xSemaphore,TickType_t xBlockTime) BaseType_t xSemaphoreTakeFromISR(SemaphoreHandle_t xSemaphore, BaseType_t* pxHigherPriorityTaskWoken) BaseType_t xSemaphoreGive(xSemaphore) BaseType_t xSemaphoreGiveFromISR(SemaphoreHandle_t xSemaphore, BaseType_t* pxHigherPriorityTaskWoken) uxSemaphoreGetCount(信号量句柄 ) 对于对互斥型信号量的使用 其是一种特殊的二值信号量特点是优先级继承机制作用是保护临界资源类似于互斥锁 相关函数 SemaphoreHandle_t xSemaphoreCreateMutex(void) 信号量的释放与获取与二值信号量相同 BaseType_t xSemaphoreTake(SemaphoreHandle_t xSemaphore,TickType_t xBlockTime) BaseType_t xSemaphoreTakeFromISR(SemaphoreHandle_t xSemaphore, BaseType_t* pxHigherPriorityTaskWoken) BaseType_t xSemaphoreGive(xSemaphore) BaseType_t xSemaphoreGiveFromISR(SemaphoreHandle_t xSemaphore, BaseType_t* pxHigherPriorityTaskWoken) 事件标志组 为了实现多个任务或事件进行同步。 相关函数 osEventFlagsId_t osEventFlagsNew(const osEventFlagsAttr_t *attr); uint32_t osEventFlagsSet(osEventFlagsId_t ef_id, uint32_t flags); uint32_t osEventFlagsWait(osEventFlagsId_t ef_id, uint32_t flags,\ uint32_t options, uint32_t timeout); 队列 用于任务到任务或者任务到中断再到任务的通信数据结构 相关函数 typedef struct { const char *name; /// 消息队列的名称 uint32_t attr_bits; /// 属性位 void *cb_mem; /// 控制块Control Block的内存指针 uint32_t cb_size; /// 控制块的大小 void *mq_mem; /// 数据存储的内存指针 uint32_t mq_size; /// 数据存储的大小 } osMessageQueueAttr_t; osMessageQueueId_t osMessageQueueNew (uint32_t msg_count, uint32_t msg_size,\ const osMessageQueueAttr_t *attr); osStatus_t osMessageQueuePut (osMessageQueueId_t mq_id, const void *msg_ptr,\ uint8_t msg_prio, uint32_t timeout); osStatus_t osMessageQueueGet (osMessageQueueId_t mq_id, void *msg_ptr,\ uint8_t *msg_prio, uint32_t timeout); FREERTOS软件定时器 可以分为一次性的和周期的即某时间点进行函数功能调用和周期执行某个函数的功能 相关函数 osTimerId_t osTimerNew (osTimerFunc_t func, osTimerType_t type, void *argument, const osTimerAttr_t *attr) osStatus_t osTimerStart (osTimerId_t timer_id, uint32_t ticks) osStatus_t osTimerStop (osTimerId_t timer_id) osTimerDelete (osTimerId_t timer_id) 注修改定时器任务的优先级要尽量高一点 修改任务的优先级要尽量的低一点
http://www.dnsts.com.cn/news/144780.html

相关文章:

  • 少儿美术专业网站做课件wordpress做成仿阿里巴巴
  • 可做装饰推广的网站网站开发的技术流程图
  • 张掖网站建设公司百度地址
  • 龙岗网站建设公司哪家好东莞app培训网站建设
  • 网站页面框架设计影响用户wordpress媒体库目录
  • 建立互联网公司网站phpcms调用网站名称
  • 深圳手机商城网站设计价格贵港网站建设兼职
  • 网络游戏网站制作网站建设渠道合作
  • 便宜网站建设模板网站用dw做网站 的过程
  • 常德市网站建设sdcms网站源码
  • 如何投诉做网站的公司重庆在线app
  • 微信公众平台怎么做微网站专注高密做网站哪家强
  • 企业宣传网站建设需求说明书的模板wordpress 文章 定时
  • 顺德新网站建设360门户网站怎样做
  • 佛山市多语言营销型网站建站wordpress集团网站
  • 汕头免费建站实用网站设计步骤
  • 企业网站建设排名口碑网页设计培训费用多少
  • 目前做美术的网站以及app网站底部显示百度站点地图
  • 阿里企业的网站建设吾爱wordpress
  • 定制企业网站建设wordpress访问速度慢
  • 华强北 网站建设怎么做软件开发
  • 高端网站建设联系方式旅游网站的后台管理系统怎么做
  • 广州建网站哪家好做网站的教程
  • 做静态网站多少钱wordpress更换主题失败
  • 关于做网站的调查问卷揭阳网页制作公司
  • 英文域名在哪个网站查询app优化网站建设
  • 无锡网站营销公司wordpress土豆
  • 旅游网站开发的意义是什么嘉兴秀洲区建设局网站
  • 网站管理文档怎么写专业类搜题软件
  • 可不可以异地建设网站龙口建网站公司哪家好