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

深圳开发网站建设搜索引擎优化理解

深圳开发网站建设,搜索引擎优化理解,做家教的网站,wordpress url使用STM32CubeIDE生成。 1,使能FreeRTOS 2,选择版本 CMSIS_V1 3 设置参数USE_NEWLIB_REENTRANT 如果不设置,会在生成代码的时候提示错误 4,设置时钟TIM1作为系统时钟 ​​​​​​​​​​​​​​ 5,设置Task …

使用STM32CubeIDE生成。

  • 1,使能FreeRTOS

  • 2,选择版本 CMSIS_V1

  • 3 设置参数USE_NEWLIB_REENTRANT

    如果不设置,会在生成代码的时候提示错误

            

  • 4,设置时钟TIM1作为系统时钟

​​​​​​​​​​​​​​

  • 5,设置Task

点击Add按钮会出现对话框,设置好后就会有一个任务可以使用,默认的任务可以改设置。这里兴建了两个任务

led_wok_task:系统启动后LED会点亮,如果接收到消息会闪烁

led_fault_task:系统启动后LED会熄灭,如果接收到消息会闪烁

注意到生成的代码main.c中有两个函数,这两个函数前面有关键字 __week,说明这个是可以覆盖的一个函数,如果我们自己写了同名函数,那么我们的同名函数就会替代这个函数。

  • 6,设置LL库

  • 新建usr_led.c

编写如下代码,这个代码里面创建了两个队列led_work_queue和led_fault_queue,通过调用NotifyLedWorkBlink函数和NotifyLedFaultBlink函数往这两个队列里面写数据,LedWorkTask和LedFaultTask做了两件事情,第一件事情就是初始化队列led_work_queue和led_fault_queue,设置初始状态,在while循环中时刻监视队列里面有没有数据,如果有就让led闪烁。

#include "main.h"
#include "cmsis_os.h"
osMessageQId led_work_queue;
osMessageQId led_fault_queue;void led_work_on() {LL_GPIO_SetOutputPin(LED_WORK_GPIO_Port, LED_WORK_Pin);
}
void led_work_off() {LL_GPIO_ResetOutputPin(LED_WORK_GPIO_Port, LED_WORK_Pin);
}
void led_fault_on() {LL_GPIO_SetOutputPin(LED_FAULT_GPIO_Port, LED_FAULT_Pin);
}
void led_fault_off() {LL_GPIO_ResetOutputPin(LED_FAULT_GPIO_Port, LED_FAULT_Pin);
}void NotifyLedWorkBlink()
{osMessagePut(led_work_queue,1,0);
}
void NotifyLedFaultBlink()
{osMessagePut(led_fault_queue,1,0);
}
void LedWorkTask(void const *argument) {osMessageQDef(led_work_queue, 1, uint8_t);led_work_queue = osMessageCreate(osMessageQ(led_work_queue), NULL);led_work_on();int i;while (1) {if (osMessageGet(led_work_queue, 1000).status == osEventMessage) {i = 3;while (i--) {led_work_off();osDelay(100);led_work_on();osDelay(100);}while(osMessageGet(led_work_queue, 0).status == osEventMessage);//clear all message from the Queue}}
}
void LedFaultTask(void const *argument) {osMessageQDef(led_fault_queue, 1, uint8_t);led_fault_queue = osMessageCreate(osMessageQ(led_fault_queue), NULL);led_fault_off();int i;while (1) {if (osMessageGet(led_fault_queue, 1000).status == osEventMessage) {i = 3;while (i--) {led_fault_on();osDelay(100);led_fault_off();osDelay(100);}while(osMessageGet(led_fault_queue, 0).status == osEventMessage);}}
}

http://www.hkea.cn/news/6827/

相关文章:

  • 昆明专业做网站外贸互联网推广的
  • 个人网站建设策划书电商平台营销策划方案
  • 网站建设怎么学惠州百度seo
  • 加强政府网站信息内容建设的意见seo教学免费课程霸屏
  • 唐山网站建设模板周口网络推广哪家好
  • 丽水网站建设专业的公司广东搜索引擎优化
  • app建设网站从哪里找网络推广公司
  • 北京微信网站设计费用百度开户渠道
  • 洛阳酒店网站开发大全网页设计软件
  • 学做蛋糕有哪些网站西安seo外包行者seo
  • 开公司 专做网站app推广一手单平台
  • 茶叶价格网站建设qq推广
  • 飓风算法受影响的网站有哪些免费文案素材网站
  • 学校网站建设所使用的技术seo网站查询
  • 用dw做php网站关键词搜索排名软件
  • 上海个体户注册代办苏州吴中区seo关键词优化排名
  • 怎样自建网站网站怎么优化推广
  • 做网站要会没软件seo网站seo
  • 歙县电子商务网站建设网络seo排名
  • 做搜狗网站优化排名软微网站
  • 深圳市宝安区西乡街道seo原创工具
  • 如何做品牌网站seo快速排名软件平台
  • 拥有域名后怎么搭建网站企业网站策划
  • 做餐饮系统网站国内的搜索引擎有哪些
  • 西安有哪些网站建设公司友情链接网站源码
  • 运营和广告投放的区别整站seo服务
  • 网站开发增值税税率搜索引擎推广的方法有哪些
  • 云电子网站开发seo自动工具
  • 龙岩网站建百度收录什么意思
  • 自建网站做网上超市可行吗正规seo排名公司