发现一种MSP430的精确延时方法,经测试,确实狠精确。最低可以精确到1/OSC,例如:如果采用8MHz的晶体,那么最小延时就是125ns,已经利用示波器通过验证。
具体做法如下:
先做如下预定义:
#define CPU_F ((double)8000000)
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))
其中第一行中的8000000为时钟,可以根据自己时钟设置。
然后在程序中直接条用delay_us和delay_ms即可。非常好用,入:
delay_ms (1); //延时1ms
delay_us(1); //延时1us
delay_us(0.125); //延时0.125us
注意:最低延时只能是1/OSC,否则就没有延时了。
该方法缺点:不能传递变量,只能将常数作为参数
上一篇:MSP430单片机串口应用程序更新的方法解析
下一篇:MSP430单片机中断函数的编写方法
推荐阅读
史海拾趣
人才是企业发展的关键因素。Densitron公司非常重视人才的培养和团队建设。公司建立了一套完善的人才培养机制,通过内部培训、外部学习等方式,不断提升员工的技能水平和综合素质。同时,公司还注重团队文化建设,鼓励员工之间的协作与交流。这些举措使得Densitron公司拥有一支高素质、高效率的团队,为公司的持续发展提供了有力保障。
町洋注重企业文化建设,倡导以人为本的管理理念。公司为员工提供了良好的工作环境和福利待遇,并积极开展各种培训和学习活动,帮助员工提升自身素质和专业技能。这种关注员工成长和发展的企业文化使得町洋的凝聚力不断增强,为公司的持续发展提供了有力保障。
在电子行业的激烈竞争中,百蓉(ECE)公司应运而生。创立初期,公司仅有几个热爱电子技术的年轻人,他们在一个小小的办公室里,凭借对电子技术的深厚兴趣和专业知识,开始研发新产品。那个时代,智能手机刚刚开始兴起,他们敏锐地捕捉到了触摸屏技术的巨大市场潜力。于是,他们投入大量时间和精力,研发出了一款高性能、低成本的触摸屏控制器,这一创新产品迅速在市场上获得了成功,为百蓉公司的发展奠定了坚实的基础。
Abbotec深知人才是企业发展的核心。因此,公司一直注重人才培养和团队建设。公司定期举办各种培训活动,提升员工的专业技能和管理能力。同时,Abbotec还积极引进外部优秀人才,为公司的发展注入新的活力。
Abbotec Incorporated公司自成立以来,一直致力于电子技术的研发与创新。在某一年,公司研发团队成功开发出一款具有划时代意义的芯片,这款芯片在性能上大幅提升,同时降低了能耗。这一技术突破迅速引起了业界的关注,Abbotec因此获得了大量的订单,公司规模迅速扩大。
44b0 + norflash 由于某些原因,我的程序不能放在flash的0地址上,我将程序放在0x8000这个地址,在0地址上放的是一个用于引导的程序。使用keil uvision3开发,程序附在后面。 现在的情况是,我在app2的option里面设置target里的rom地址为0x8000, ...… 查看全部问答∨ |
|
在我的开发板上,当插入一个普通的USB盘的时候,它跳出来一个对话框, 未能识别的USB设备 输入此USB设备的驱动程序名称 驱动程序名称: 大家有没有碰到这样的问题啊?是什么原因导致的?相应的组件没有加还是wince需要开发USB盘的驱动? 谢谢 ...… 查看全部问答∨ |
|
evc4.0的编译的debug是不是没有加堆栈的安全检测,最近在调试时报错老是不能定位到程序的出错函数堆栈。 各位高手都有什么方式调试的,是不是还有其他的工具?? vs2005支不支持wince4.2… 查看全部问答∨ |