OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6229|回复: 3

有关原子哥的延时函数

[复制链接]

8

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2014-5-5
在线时间
0 小时
发表于 2015-1-12 17:17:26 | 显示全部楼层 |阅读模式
5金钱
各问大神,因为需要,再把一个工程从keil上移到IAR上。代码在keil上是正常的,于是我是把东西直接复制过来的,只是改变了启动函数。在调试的时候,发现程序会卡在延时函数那里,也就是delay_ms()和delay_us()这里面。while(temp&0x01&&!(temp&(1<<16)));这个条件无法满足,所以一直在循环。我比较奇怪,原子哥写的这个用的是systick定时器,与编译器无关啊,为什么会卡在这呢。是不是我哪个地方理解错了啊

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-1-12 23:36:01 | 显示全部楼层
temp是靠读取SysTick->CTRL寄存器来判断的,你的iar寄存器名字和MDK一样么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

8

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2014-5-5
在线时间
0 小时
 楼主| 发表于 2015-1-13 09:56:25 | 显示全部楼层
这个我看了  是一样的  都找到了systick的定义  我后来试着用systic定时器的中断函数去实现延时  发现也还是不行  我现在感觉是不是编译器本身就有问题   或者哪个地方我没配置对了  一个最简单的点灯用JTAG下载  到了板子里面  都可以调试  但就是那个灯不亮  时钟也给了  该初始化的也初始化了  晕了有点
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-1-13 23:53:49 | 显示全部楼层
回复【3楼】cha1992:
---------------------------------
这就不知道了iar我也不熟
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-27 00:24

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表