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

京伦科技网站做的怎么样公司起名字大全免费取名

京伦科技网站做的怎么样,公司起名字大全免费取名,南山做网站公司,外贸建站网站推广串行驱动的关键是双方能够按照既定的时序进行检测、设置相关引脚上的电平,比如单总线、I2c这样基本的可以用GPIO模拟的时序协议,需要主从双方,必须在链路接口内严格按照微妙级的延迟单位进行时序同步。 所以,在这种对时间要求很敏…

     串行驱动的关键是双方能够按照既定的时序进行检测、设置相关引脚上的电平,比如单总线、I2c这样基本的可以用GPIO模拟的时序协议,需要主从双方,必须在链路接口内严格按照微妙级的延迟单位进行时序同步。 所以,在这种对时间要求很敏感的情况下,一般都会考虑到用循环等待检测的方式来拖住时间窗,而且近似微妙的阻塞等待一般也不会对整个系统的用户体验造成太大的影响。 下面是在实际经验中积累的,微妙延迟的方法。

1. ARM-CORTX-M0  

   M0 HC32F110L上的延迟,可以精准到微妙。可以用systic,也可用while阻塞循环等待。

/******************************************************************************* systic * xus:*     use this delay function when time >= 20 
*******************************************************************************/
void jbf_systic_us_ex(uint32_t xus)
{ SysTick->LOAD = (xus - 18) * (JBF_SISTICK_VALUE / 1000000);SysTick->VAL = 0;SysTick->CTRL = 0x01;while(!(SysTick->CTRL & SysTick_CTRL_COUNTFLAG_Msk));SysTick->CTRL &= ~(0x01 << SysTick_CTRL_ENABLE_Pos);
}
/******************************************************************************* 24M 1US delay,* ??????????????1us??????
*******************************************************************************/void jbf_delay_24M_us(void)
{int xus = 1;while( xus--){__NOP();__NOP();}}void jbf_delay_24M_xus(uint16_t xus)
{uint16_t j;while (xus--){j = 2; //while (j--);}
}

2. ARM-CORTEX-M4

/*********************************************************** DEC:  200M MPLL us delay function.* PARAM: n = nus* RETURN: none
***********************************************************/
void delay_nus(uint16_t n)
{uint16_t j;while(n--){j = DELAY_ADJUSTMENTS;// while(j--);}
}
extern uint32_t SystemCoreClock;        /*!< System clock frequency (Core clock) */
/**** * base interval is 60 when LOAD  = 1, LOAD + 1 lead the timme plus 30us* if the value lager than 60, and times of 30, then use this function* (time - 60) / 30 - 1;* time = 180 , load = (180 - 60) / 3 + 1 = 5;* */void delay_30Tnus(uint16_t n)
{uint32 _load =  (n - 60) / 10 / 3 + 1;SysTick->LOAD = _load;SysTick->VAL = 0;SysTick->CTRL = 0x01;while(!(SysTick->CTRL & SysTick_CTRL_COUNTFLAG_Msk));SysTick->CTRL &= ~(0x01 << SysTick_CTRL_ENABLE_Pos);
}/*********************************************************** DEC:  200M MPLL ms delay function.* PARAM: n = mus* RETURN: none
***********************************************************/
void delay_nms(uint16_t n)
{while(n--){delay_nus(1000);}
}

实际就两种方式比较通用的,一个是systic,这个真的要看systic分到的频率了, 如果本身频率很低,那么在微妙的精度行还是有些误差的。

另一种方式就是利用CPU的加法周期来做延迟,这个目前看来也有一定的可用性,关键是要找好指令周期的倍数。拿示波器实际调试可以作证得出最精准的延迟。

/*DELAY   HC32F60,pclk 200MHZ*/

#define DELAY_ADJUSTMENTS 12 

void delay_nus(uint16_t n)
{
  uint16_t j;
  while(n--)
  {
    j = DELAY_ADJUSTMENTS;// 
    while(j--);
  }
}

http://www.yayakq.cn/news/236686/

相关文章:

  • 网站建设提高信息学生个人作品集制作
  • 手机 网站模板百度文库 旅游网站建设方案书
  • 模板网站制作时间广州 网站的设计公司
  • 如何做好品牌网站建设策划电脑优化
  • 做网站 需要审核么陕西富通建设有限公司网站
  • 宠物医院网站开发背景网站后台管理默认密码
  • 做网站以后的趋势知乎东莞网站建设lhznkj
  • 志愿者协会网站建设建企业网站步骤
  • 网站里的动画效果国外素材设计欣赏网站
  • 创建网站平台要多少钱自动的logo品牌设计
  • 手机网站开发模拟手机html网页框架代码
  • 中富国建设有限公司网站企业app有哪些
  • 山东公司注册网站做惠而浦售后网站赚钱
  • 响应式商城网站长春市宽城区建设局网站
  • 北京seo优化wyhseoseo分析与优化实训心得
  • 企业网站建设要求理财网站免费建设
  • 大良品牌网站建设微信公众号 做不了微网站吗
  • 保健品网站源码爱站网站排行榜
  • 网站中的表单怎么做微信小程序开源代码
  • 在国外建网站方便吗宁波市江北区建设局网站
  • 企业网站建设开发费用怎样使自己做的网站上线
  • 网站开发7个基本流程图网页制作邢台网站公司
  • 多语言企业网站网站开发公司企业官网
  • 网站的登陆页怎么做图片洞口网站开发公司
  • 自助贸易免费建站福建省亿力电力建设有限公司网站
  • 别样网图片素材网站百度快照优化排名推广怎么做
  • 抚州建设工程造价管理站网站搭建本地网站环境
  • 可以做彩票广告的网站做国外的网站
  • 大学生创业做创意宿舍装修网站深圳西乡有什么好玩的
  • 花钱做网站不给部署网站如何做企业电子宣传册