当前位置: 首页 > 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://www.laogonggong.com/news/66048.html

相关文章:

  • 东莞企业网站哪家好wordpress比较火的主题
  • 广告推广网站怎么做做的网站底部应该标注什么意思
  • 国内f型网页布局的网站眉山市建设局网站
  • 响应式企业网站设计便宜购物网站大全
  • 公司网站建设 意义江苏网站开发公司
  • 网站域名续费网站首页不收录
  • 网站实名认证要钱吗网站服务器试用
  • h5做招聘网站关键词排名点击软件网站
  • 建设银行u盾用网站打不开青岛城市建设局网站
  • 零基础学建网站seo搜索引擎排名优化
  • 做网站什么语言最好互联网运营公司排行榜
  • 广州天河区建设网站公司中企动力是上市公司吗
  • 做货源网站可以赚钱吗本地化网站建设
  • 网站建设中心简述网络营销策略
  • html网站要怎么做的做期货看什么网站的资讯
  • 广州公司网站制作招聘信息WordPress主题加验证码
  • 闵行区网站建设公司无锡建设工程项目代码申请网站
  • 科技类网站风格wordpress输出分类文章
  • 域名绑定网站需要多久wordpress商城系统
  • 北京市网站开发茶山东莞网站建设
  • 学校网站建设目标企业解决方案公司有哪些
  • 上海优化seo排名seo关键词平台
  • 网站备案 暂住证网站流量15g
  • 建博客和建网站哪个好不需要网站备案的空间
  • 专业做公司宣传网站深圳制作网站培训
  • 盖州网站优化亿唐网不做网站做品牌考试题
  • 轻设计 让网站灵敏轻便的6个技巧南宁网站建设技术精粹
  • 廊坊北京网站建设免费永久网站建设
  • 软件开发外包网站网络推广有哪几种方法
  • 代理行业门户网站百度注册新账号