注册
登录
电子工程世界-论坛
返回首页
EEWORLD首页
频道
EE大学堂
下载中心
Datasheet
专题
单片机
物联网
汽车电子
嵌入式
手机/便携
模拟电子
家用电子
网络通信
电源管理
工业控制
测试测量
半导体设计/制造
安防电子
传感器
医疗电子
wateras1的个人空间
https://home.eeworld.com.cn/space-uid-361439.html
[收藏]
[复制]
[分享]
[RSS]
空间首页
动态
记录
日志
相册
主题
分享
留言板
个人资料
借用开发板
论坛
淘帖
Collection
查看新帖
最新回复
社区活动
联系管理员
我的空间
帖子
日志
收藏
好友
勋章
积分
安全验证
请完成以下验证码
日志
IAR 软件430的编译器里面我们可以利用它内部的延时子程序来实现我们想要的高精度软件 ...
已有 739 次阅读
2015-7-9 15:26
|
个人分类:
MSP430编程
|
编译器
,
子程序
,
软件
IAR 软件430的编译器里面我们可以利用它内部的延时子程序来实现我们想要的高精度软件延时,方法如下:
(1):将以下这段代码复制到你的.C源文件中。
#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))
(2):修改
在 #define CPU_F ((double)8000000) 语句里 8000000 修改成你当前MSP430 CPU的主频频率,即CPU的MCLK。
单位为HZ。本例中的8000000为MCLK=8MHZ 的意思。
(3):使用范例
delay_us(1); //1 微秒的延时
delay_ms(1); //1 毫秒的延时
delay_us(3.5); //延时3.5微秒
delay_ms(3.5); //延时3.5毫秒
delay_ms(1000); //延时1秒
直接调用,如:__delay_cycles(100),就延时100个时钟周期.
只能是常数,因为编译器会重新编译为汇编代码
收藏
邀请
举报
全部
作者的其他最新日志
•
fd异常排查
•
使用 FlameGraph 分析 CPU 占用高的问题
•
docker服务在arm平台上部署安装方法
评论 (
0
个评论)
涂鸦板
您需要登录后才可以评论
登录
|
注册
评论
wateras1
加为好友
给我留言
打个招呼
发送消息
热门文章
头条资讯
谷歌预测景深新研究:即使相机人物都在动,单一视点也能合成3D深度图
是时候给2020年做个总结了
Microchip宣布,扩产SiC
领奖啦!7.15研讨会获奖名单公布
基于KL16指纹锁的低功耗解析
David Zhao:5G射频前端的挑战
新增数据手册
240-383EZN17-6SPPDNN
RN55E5110FB14
101120414040HL
HTSW-102-05-T-D-LL
VJ05006-BP151BFZLJ
2208-72-LW-B
热搜器件
TO252-2
RMCF1206FT3K90
SJS830410
505606-0801
LGU2E821MELB
ESM08DTKN-S288
推荐下载
一种适用于MU MIMO SC FDMA系统的块级空时分组码
清华计算机组成原理电子教案:浮点数的运算方法
单片机锅炉自适应控制系统研究
uCOS-II下实现的lwip协议栈,实现了Ping功能
无线模块的选择
单片机应用技术选编10
推荐关注
晶振的主要参数
Wi-SUN技术,强势赋能智慧城市构筑海量IoT网络节点
多模态自动驾驶混合渲染HRMAD:将NeRF和3DGS进行感知验证和端到端AD测试
MuJoCo 仿真 Panda 机械臂关节空间运动|含完整代码
青岛空放
泸州民间借钱丨应急借款丨泸州私人贷款