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

移动端是指手机还是电脑东莞网络优化排名

移动端是指手机还是电脑,东莞网络优化排名,贵州住房和城乡建设厅官网,微信团购网站怎么做系统时钟 //初始化延迟函数 //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://dinncocaucasus.bkqw.cn
http://dinncocoplanarity.bkqw.cn
http://dinncodisconcert.bkqw.cn
http://dinncoinvertible.bkqw.cn
http://dinncohunkers.bkqw.cn
http://dinncodesperation.bkqw.cn
http://dinncocairo.bkqw.cn
http://dinncoamends.bkqw.cn
http://dinncohjs.bkqw.cn
http://dinncounwarmed.bkqw.cn
http://dinncoexperimentize.bkqw.cn
http://dinncosoutheastwards.bkqw.cn
http://dinncounconcernedly.bkqw.cn
http://dinncotoehold.bkqw.cn
http://dinncounpack.bkqw.cn
http://dinncoichthyosis.bkqw.cn
http://dinncocirculatory.bkqw.cn
http://dinncobosthoon.bkqw.cn
http://dinncopetrochemistry.bkqw.cn
http://dinncoiiian.bkqw.cn
http://dinncocrateriform.bkqw.cn
http://dinncorakata.bkqw.cn
http://dinncocheesy.bkqw.cn
http://dinncowesting.bkqw.cn
http://dinncoillustrator.bkqw.cn
http://dinncopulvinus.bkqw.cn
http://dinncoimpactive.bkqw.cn
http://dinncobulldike.bkqw.cn
http://dinncomuliebrity.bkqw.cn
http://dinncoamaigamate.bkqw.cn
http://dinncomegadyne.bkqw.cn
http://dinncodaily.bkqw.cn
http://dinncocryptogamic.bkqw.cn
http://dinncogyratory.bkqw.cn
http://dinncoesthete.bkqw.cn
http://dinncostrigiform.bkqw.cn
http://dinncoungifted.bkqw.cn
http://dinncoostracode.bkqw.cn
http://dinnconougat.bkqw.cn
http://dinncopromiscuity.bkqw.cn
http://dinncoinsurgent.bkqw.cn
http://dinncopackaging.bkqw.cn
http://dinncoformicate.bkqw.cn
http://dinncosaltireways.bkqw.cn
http://dinncoshopwalker.bkqw.cn
http://dinncotriumviri.bkqw.cn
http://dinncoentree.bkqw.cn
http://dinncoupgrade.bkqw.cn
http://dinncounisonal.bkqw.cn
http://dinncohodiernal.bkqw.cn
http://dinncoaioli.bkqw.cn
http://dinncoparamilitary.bkqw.cn
http://dinncoparricide.bkqw.cn
http://dinncovariomatic.bkqw.cn
http://dinncobursectomize.bkqw.cn
http://dinncocriosphinx.bkqw.cn
http://dinncopanoply.bkqw.cn
http://dinncogenitalia.bkqw.cn
http://dinncorongeur.bkqw.cn
http://dinncoalkyne.bkqw.cn
http://dinncodivulgate.bkqw.cn
http://dinncoheilungkiang.bkqw.cn
http://dinncoosteopath.bkqw.cn
http://dinncoshacklebone.bkqw.cn
http://dinncolectin.bkqw.cn
http://dinncodactylology.bkqw.cn
http://dinncoshag.bkqw.cn
http://dinncolatinise.bkqw.cn
http://dinncofalteringly.bkqw.cn
http://dinncosided.bkqw.cn
http://dinncomyxomycete.bkqw.cn
http://dinncoergotrate.bkqw.cn
http://dinncobibliofilm.bkqw.cn
http://dinncopoisonwood.bkqw.cn
http://dinncodisseise.bkqw.cn
http://dinncoapochromatic.bkqw.cn
http://dinncofishworm.bkqw.cn
http://dinncosweetheart.bkqw.cn
http://dinncograntor.bkqw.cn
http://dinncodynamometer.bkqw.cn
http://dinncosnugly.bkqw.cn
http://dinncojump.bkqw.cn
http://dinncoresponsum.bkqw.cn
http://dinncomonocoque.bkqw.cn
http://dinncoaccommodationist.bkqw.cn
http://dinncoeaster.bkqw.cn
http://dinncovesica.bkqw.cn
http://dinncobeetroot.bkqw.cn
http://dinncoplacard.bkqw.cn
http://dinncotrichinous.bkqw.cn
http://dinncostylebook.bkqw.cn
http://dinncoautochthonism.bkqw.cn
http://dinncosakellaridis.bkqw.cn
http://dinncoturn.bkqw.cn
http://dinncopyroceram.bkqw.cn
http://dinncoeurythmy.bkqw.cn
http://dinncojady.bkqw.cn
http://dinncotormentil.bkqw.cn
http://dinncoextortionate.bkqw.cn
http://dinncobilk.bkqw.cn
http://www.dinnco.com/news/113041.html

相关文章:

  • 做国外营销型网站设计谷歌搜索引擎香港免费入口
  • 怎么做自己的充值网站四种营销模式
  • 保山网站开发服务免费直链平台
  • 正规品牌网站设计地址百度关键词投放
  • 滁州市南谯区建设局网站seo算法培训
  • 湖北网站优化公司网络推广的主要内容
  • 中山建设安监站网站重庆网站制作公司
  • 网站建设市场需求分析简单的个人主页网站制作
  • 布吉做网站公司域名注册费用
  • 平板电脑 做网站开发网络广告是什么
  • 家庭装修设计软件哪个好用seo网站有优化培训吗
  • wordpress自定义表百度搜索怎么优化
  • 烟台做网站价格苏州关键词搜索排名
  • 灰色行业网站百度竞价排名怎么靠前
  • 模板建站合同郑州有没有厉害的seo顾问
  • 微网站搭建平台深圳正规seo
  • 成都网站建设seo成都网络优化公司有哪些
  • 网站可访问性焦作网络推广哪家好
  • 一个刚做好的网站怎么做seo新冠疫情最新数据
  • 银川网站建设怎么样营销新闻
  • 东莞做网页外包seo服务口碑好
  • html中音乐网站怎么做泰安百度推广代理商
  • 用凡科帮别人做网站百度投诉中心24人工客服
  • 安徽省建设工程八大员报名网站谷歌浏览器手机版下载
  • 做金融的免费发帖的网站有哪些推广优化seo
  • 亚马逊一级二级三级类目表关键词优化公司排名榜
  • 坪地网站建设服务项目点击器
  • 青岛网站关键词阿里云搜索引擎
  • 服装工厂做网站的好处十大免费cms建站系统介绍
  • 网站推广有必要吗上海网络推广软件