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

移动端是指手机还是电脑seo系统优化

移动端是指手机还是电脑,seo系统优化,全自动网页在线生成系统,wordpress导航主题模板系统时钟 //初始化延迟函数 //SYSTICK的时钟固定为AHB时钟,基础例程里面SYSTICK时钟频率为AHB/8 //这里为了兼容FreeRTOS,所以将SYSTICK的时钟频率改为AHB的频率! //SYSCLK:系统时钟频率 /* 系统定时器是一个 24bit 的向下递减的计数器&…

系统时钟

//初始化延迟函数
//SYSTICK的时钟固定为AHB时钟,基础例程里面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_us=SYSCLK;							//不论是否使用OS,fac_us都需要使用reload=SYSCLK;							//每秒钟的计数次数 单位为M	   reload*=1000000/configTICK_RATE_HZ;		//根据configTICK_RATE_HZ设定溢出时间  reload=168000//reload为24位寄存器,最大值:16777216,在168M下,约合0.0998s左右	fac_ms=1000/configTICK_RATE_HZ;			//代表OS可以延时的最少单位	    fac_ms = 1SysTick->CTRL|=SysTick_CTRL_TICKINT_Msk;//开启SYSTICK中断SysTick->LOAD=reload; 					//每1/configTICK_RATE_HZ断一次	/* 0.0001s 中断一次LOAD重装载值 SYSCLK=168 计算 reload=16800   按HCLK为168M算 1/168M * 16800=0.0001s*/SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk; //开启SYSTICK     
}	
//延时nus
//nus:要延时的us数.	
//nus:0~204522252(最大值即2^32/fac_us@fac_us=168)	    								   
void delay_us(u32 nus)
{		u32 ticks;u32 told,tnow,tcnt=0;u32 reload=SysTick->LOAD;				//LOAD的值	    	 ticks=nus*fac_us; 						//需要的节拍数  reload值并不会影响时基(1/HCLK)也就是不会影响一个节拍的时长进而不会影响us reload会影响systick中断频率told=SysTick->VAL;        				//刚进入时的计数器值while(1){tnow=SysTick->VAL;	if(tnow!=told){	    if(tnow<told)tcnt+=told-tnow;	//这里注意一下SYSTICK是一个递减的计数器就可以了.else tcnt+=reload-tnow+told;	    told=tnow;if(tcnt>=ticks)break;			//时间超过/等于要延迟的时间,则退出.}  };										    
}  
//延时nms
//nms:要延时的ms数
//nms:0~65535
void delay_ms(u32 nms)
{	if(xTaskGetSchedulerState()!=taskSCHEDULER_NOT_STARTED)//系统已经运行{		if(nms>=fac_ms)						//延时的时间大于OS的最少时间周期 { vTaskDelay(nms/fac_ms);	 		//FreeRTOS延时   fac_ms=1 也就是说>1ms的ms延时都是使用的vTaskDelay}nms%=fac_ms;						//OS已经无法提供这么小的延时了,采用普通方式延时    }delay_us((u32)(nms*1000));				//普通方式延时
}//延时nms,不会引起任务调度
//nms:要延时的ms数
void delay_xms(u32 nms)
{u32 i;for(i=0;i<nms;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.qdjiajiao.com/news/12389.html

相关文章:

  • 公司网站建设外包流程加速游戏流畅的软件
  • 网站开发行业怎么样南宁seo外包靠谱吗
  • 建材招商网站网站建设需要多少钱
  • 上海网站建设方案百度快照怎么删除
  • 做微网站那pc端显示啥搜狐新闻手机网
  • 聚名网域名怎么过户给公司seo方法
  • 文山州建设局网站贵阳网站建设制作
  • 怎么做提升网站转化率网站运营课程
  • 新乡做新网站厦门百度代理公司
  • 外贸网站注册制作网页的软件
  • 移动端和桌面端是什么意思小熊猫seo博客
  • 可靠的网站建设流程seo外链资源
  • WordPress和哪个好用企业seo案例
  • 旅游网站建设方案沈阳seo网站推广
  • 广州网站建设+美词如何做公司网站推广
  • 搜索引擎作弊网站有哪些深圳百度推广竞价托管
  • 如何用html和css做网站如何做平台推广
  • 浙江电信关于网站备案信息核实的公告买卖网交易平台
  • 福州定制网站开发制作电商平台排行榜
  • 拉萨做网站查关键词的排名工具
  • 网站导航的重要性2023新闻热点事件
  • 沧浪设计网站公司哪个平台可以接推广任务
  • 政府门户网站的设计与实现免费郑州网站开发顾问
  • 医药网站建设方案抖音seo
  • 电影网站的建设晨阳seo服务
  • wordpress 企业主题 免费seo关键词布局技巧
  • 腾讯云网站搭建教程seo知识总结
  • 河北建设网站证件查询搜索关键词排名优化技术
  • wordpress 文章图片自动添加青岛 google seo
  • 做网站业务员如何跟客户沟通网络推广与网络营销的区别