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

linux 做网站数据库成都百度搜索排名优化

linux 做网站数据库,成都百度搜索排名优化,企业名录搜索软件现在那个能用,重庆市建设工程管理网系统时钟 //初始化延迟函数 //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.khdw.cn/news/27507.html

相关文章:

  • wordpress无刷新评论深圳seo优化
  • 手机网站改版今天热点新闻事件
  • 中央农村工作会议内容和精神2021网站seo优化包括哪些方面
  • 商丘市做网站的公司网络公司网站
  • 甘肃网站怎样备案营口建网站的公司
  • 1微信网站怎么建设最近发生的新闻事件
  • 网站推广互联网推广广州日新增51万人
  • 网页制作的公司推荐时代创信seo自媒体运营技巧
  • 推广软件哪个赚钱槐荫区网络营销seo
  • 电子建设网站的目的最新引流推广方法
  • 盐城网站建设jsxmt搜狐视频
  • wordpress 主题 试用百度seo效果怎么样
  • 上海网站推广有哪些企业培训考试系统app
  • 鞍山商城网站建设电商怎么推广自己的产品
  • 在哪个网站注册域名好怎么设计网站
  • php做网站视频百度度小店申请入口
  • 公安部网站备案流程石家庄最新消息今天
  • 天津票网网站电商网站定制开发
  • 手机做网站公司有哪些网站上做推广
  • 2h1g做视频网站深圳外贸网站建设
  • 百家号网站开发属于什么领域电商怎么注册开店
  • 关于网站备案前置审批的相关说明 吉林百度客服在哪里找
  • 吴桥网站建设公司我在百度下的订单如何查询
  • 网站怎么查是哪家网络公司做的重庆seo哪个强
  • 网站建设worldpress做网站的公司
  • 网站消息推送河南seo技术教程
  • 跨境电商独立建站百度营销中心
  • 仿xss网站搭建成都seo优化
  • 建设银行官方网站首页个人登录瑞金网络推广
  • 安阳如何建立自己的网站平台今天时政新闻热点是什么