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

华强北做电子网站建设互助盘网站建设

华强北做电子网站建设,互助盘网站建设,龙岗营销网站建设公司哪家好,南京h5网站开发系统时钟 //初始化延迟函数 //SYSTICK的时钟固定为AHB时钟#xff0c;基础例程里面SYSTICK时钟频率为AHB/8 //这里为了兼容FreeRTOS#xff0c;所以将SYSTICK的时钟频率改为AHB的频率#xff01; //SYSCLK:系统时钟频率 /* 系统定时器是一个 24bit 的向下递减的计数器基础例程里面SYSTICK时钟频率为AHB/8 //这里为了兼容FreeRTOS所以将SYSTICK的时钟频率改为AHB的频率 //SYSCLK:系统时钟频率 /* 系统定时器是一个 24bit 的向下递减的计数器计数器每计数一次的时间为 1/SYSCLK一般我们设置系统时钟 SYSCLK 等于168M*/ void delay_init(u8 SYSCLK) {u32 reload;SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK); /* 系统滴答定时器时钟源初始化 使用时钟源为 SysTick_CLKSource_HCLK HCLK代表CPU时钟*/fac_usSYSCLK; //不论是否使用OS,fac_us都需要使用reloadSYSCLK; //每秒钟的计数次数 单位为M reload*1000000/configTICK_RATE_HZ; //根据configTICK_RATE_HZ设定溢出时间 reload168000//reload为24位寄存器,最大值:16777216,在168M下,约合0.0998s左右 fac_ms1000/configTICK_RATE_HZ; //代表OS可以延时的最少单位 fac_ms 1SysTick-CTRL|SysTick_CTRL_TICKINT_Msk;//开启SYSTICK中断SysTick-LOADreload; //每1/configTICK_RATE_HZ断一次 /* 0.0001s 中断一次LOAD重装载值 SYSCLK168 计算 reload16800 按HCLK为168M算 1/168M * 168000.0001s*/SysTick-CTRL|SysTick_CTRL_ENABLE_Msk; //开启SYSTICK } //延时nus //nus:要延时的us数. //nus:0~204522252(最大值即2^32/fac_usfac_us168) void delay_us(u32 nus) { u32 ticks;u32 told,tnow,tcnt0;u32 reloadSysTick-LOAD; //LOAD的值 ticksnus*fac_us; //需要的节拍数 reload值并不会影响时基1/HCLK也就是不会影响一个节拍的时长进而不会影响us reload会影响systick中断频率toldSysTick-VAL; //刚进入时的计数器值while(1){tnowSysTick-VAL; if(tnow!told){ if(tnowtold)tcnttold-tnow; //这里注意一下SYSTICK是一个递减的计数器就可以了.else tcntreload-tnowtold; toldtnow;if(tcntticks)break; //时间超过/等于要延迟的时间,则退出.} }; } //延时nms //nms:要延时的ms数 //nms:0~65535 void delay_ms(u32 nms) { if(xTaskGetSchedulerState()!taskSCHEDULER_NOT_STARTED)//系统已经运行{ if(nmsfac_ms) //延时的时间大于OS的最少时间周期 { vTaskDelay(nms/fac_ms); //FreeRTOS延时 fac_ms1 也就是说1ms的ms延时都是使用的vTaskDelay}nms%fac_ms; //OS已经无法提供这么小的延时了,采用普通方式延时 }delay_us((u32)(nms*1000)); //普通方式延时 }//延时nms,不会引起任务调度 //nms:要延时的ms数 void delay_xms(u32 nms) {u32 i;for(i0;inms;i) delay_us(1000); } vTaskDelay完成 1调用vTaskSuspendAll()挂起任务调度器 2调用 prvAddCurrentTaskToDelayedList( xTicksToDelay, pdFALSE );将要延时的任务添加到延时列表中 3xAlreadyYielded xTaskResumeAll(); 调用 xTaskResumeAll();恢复任务调度 4.如果发生任务调度调用portYIELD_WITHIN_API();产生任务调度。 #if ( INCLUDE_vTaskDelay 1 )void vTaskDelay( const TickType_t xTicksToDelay ){BaseType_t xAlreadyYielded pdFALSE;/* A delay time of zero just forces a reschedule. */if( xTicksToDelay ( TickType_t ) 0U ){configASSERT( uxSchedulerSuspended 0 );vTaskSuspendAll();{traceTASK_DELAY();/* A task that is removed from the event list while thescheduler is suspended will not get placed in the readylist or removed from the blocked list until the scheduleris resumed.This task cannot be in an event list as it is the currentlyexecuting task. */prvAddCurrentTaskToDelayedList( xTicksToDelay, pdFALSE );}xAlreadyYielded xTaskResumeAll();}else{mtCOVERAGE_TEST_MARKER();}/* Force a reschedule if xTaskResumeAll has not already done so, we mayhave put ourselves to sleep. */if( xAlreadyYielded pdFALSE ){portYIELD_WITHIN_API();}else{mtCOVERAGE_TEST_MARKER();}}#endif /* INCLUDE_vTaskDelay */
http://www.w-s-a.com/news/933458/

相关文章:

  • 网站建设公司做销售前景好不好石家庄外贸网站制作
  • windows2008做网站网站首页打开速度
  • 做外贸要做什么网站服装设计图
  • 中山市路桥建设有限公司网站网站开发角色分配权限
  • 加强档案网站建设网站搭建好了不用会不会被攻击
  • 维护网站信息网络建设服务
  • 网站建设策划书模板下载用自己电脑配置服务器做网站
  • 360免费建站空间淘宝数据网站开发
  • 做分销的网站本地dede网站怎么上线
  • 中学网站模板北京管理咨询公司
  • 网站开发用哪个软件方便二级网站建设 管理思路
  • 个人怎么创建网站中国建设银行网站口
  • 跟知乎一样的网站做展示网站步骤
  • 邯郸网站建设效果好wordpress app 加载慢
  • 做app的网站有哪些功能广州自适应网站建设
  • 兰州建设网站的网站开源网站建设
  • 深圳网站建设南山指数基金是什么意思
  • 备案中又需要建设网站网站信息组织优化
  • 做网站推广需要什么asp响应式h5网站源码下载
  • 柳州建设网官方网站免费自助建站哪个平台好
  • 论坛网站模板源码下载网站建设与网页设计是什么
  • 跑流量的网站淘宝网站的建设目标是
  • 网站计费系统怎么做九一制作网站
  • 网红营销推广温州seo博客
  • 临沂网站制作定制现在比较流行的软件开发模型
  • 南宁企业建站系统做问卷调查哪个网站好
  • 能打开各种网站的浏览器推荐建设部的网站首页
  • 苏州高端网站建设开发wordpress 删除图片
  • saas网站开发外贸网站设计风格
  • c 手机网站开发湘阴网页定制