OpenEdv-开源电子网

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

stm32开机延时能实现吗

[复制链接]

19

主题

62

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2016-10-11
在线时间
98 小时
发表于 2016-10-11 11:32:24 | 显示全部楼层 |阅读模式
2金钱
单片机开机或启动就进行延时怎么实现,有难度吗

最佳答案

查看完整内容[请看2#楼]

上电开机延时是为了实现什么,最终目的是什么 delay是肯定可以实现延时的,使用方法是不是有问题,又或者delay不是你想要的延时效果,问题还是要找清楚,“好像“太模糊了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

183

帖子

0

精华

高级会员

Rank: 4

积分
684
金钱
684
注册时间
2016-1-27
在线时间
184 小时
发表于 2016-10-11 11:32:25 | 显示全部楼层
sang523 发表于 2016-10-12 08:28
就是实现上电开机延时,delay试了试好像不行啊

上电开机延时是为了实现什么,最终目的是什么
delay是肯定可以实现延时的,使用方法是不是有问题,又或者delay不是你想要的延时效果,问题还是要找清楚,“好像“太模糊了
回复

使用道具 举报

24

主题

695

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1666
金钱
1666
注册时间
2016-4-29
在线时间
266 小时
发表于 2016-10-11 12:34:24 | 显示全部楼层
不知道你想实现什么功能,为什么要这么做,时钟配置好了以后,就用延时函数是否能实现?
回复

使用道具 举报

84

主题

766

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2775
金钱
2775
注册时间
2015-6-1
在线时间
394 小时
发表于 2016-10-11 13:06:36 | 显示全部楼层
与其开机就进行延时,为什么不控制多休眠一会儿晚点儿开机呢。
自在随心
回复

使用道具 举报

19

主题

62

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2016-10-11
在线时间
98 小时
 楼主| 发表于 2016-10-11 13:37:17 | 显示全部楼层
d1z1y2 发表于 2016-10-11 12:34
不知道你想实现什么功能,为什么要这么做,时钟配置好了以后,就用延时函数是否能实现?

时钟配置一般多久,我觉得没法做到已启动就实现延时啊
回复

使用道具 举报

19

主题

62

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2016-10-11
在线时间
98 小时
 楼主| 发表于 2016-10-11 13:38:47 | 显示全部楼层
yuzeyuan1 发表于 2016-10-11 13:06
与其开机就进行延时,为什么不控制多休眠一会儿晚点儿开机呢。

开机延时怎么实现呢对于单片机来说
回复

使用道具 举报

84

主题

766

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2775
金钱
2775
注册时间
2015-6-1
在线时间
394 小时
发表于 2016-10-11 14:27:36 | 显示全部楼层
sang523 发表于 2016-10-11 13:38
开机延时怎么实现呢对于单片机来说

1、请你假设一下有什么使用场情。
2、开机就while卡死它不行?
3、为什么你认为做不到请说明理由。
自在随心
回复

使用道具 举报

19

主题

62

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2016-10-11
在线时间
98 小时
 楼主| 发表于 2016-10-11 14:41:23 | 显示全部楼层
yuzeyuan1 发表于 2016-10-11 14:27
1、请你假设一下有什么使用场情。
2、开机就while卡死它不行?
3、为什么你认为做不到请说明理由。

抱歉刚接触这个单片机,小白一个,使用就是在上电后延时一个时间,用while吗
回复

使用道具 举报

8

主题

570

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2908
金钱
2908
注册时间
2016-5-13
在线时间
184 小时
发表于 2016-10-11 14:45:33 | 显示全部楼层
在main里的while前面可以加delay:
delay_ms(x);
……
delay_ms(x);
while(1){
……
}
虽然不明白你们在说什么,但感觉很厉害的样子。
回复

使用道具 举报

19

主题

62

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2016-10-11
在线时间
98 小时
 楼主| 发表于 2016-10-11 14:50:43 | 显示全部楼层
电脑小白 发表于 2016-10-11 14:45
在main里的while前面可以加delay:
delay_ms(x);
……

能否细说吗,需要多个delay?

回复

使用道具 举报

0

主题

183

帖子

0

精华

高级会员

Rank: 4

积分
684
金钱
684
注册时间
2016-1-27
在线时间
184 小时
发表于 2016-10-11 14:54:06 | 显示全部楼层
延时干嘛
回复

使用道具 举报

19

主题

62

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2016-10-11
在线时间
98 小时
 楼主| 发表于 2016-10-11 16:00:07 | 显示全部楼层

单片机启动后经过一个时间进入另一个状态,可能意思定时吧
回复

使用道具 举报

0

主题

183

帖子

0

精华

高级会员

Rank: 4

积分
684
金钱
684
注册时间
2016-1-27
在线时间
184 小时
发表于 2016-10-11 16:08:27 | 显示全部楼层
sang523 发表于 2016-10-11 16:00
单片机启动后经过一个时间进入另一个状态,可能意思定时吧

你的意思是你想在单片机上电初始化之后经过一段时间(自定义),然后让它做某件事情是吧?
回复

使用道具 举报

19

主题

62

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2016-10-11
在线时间
98 小时
 楼主| 发表于 2016-10-11 16:32:00 | 显示全部楼层
不吃鱼的老鼠 发表于 2016-10-11 16:08
你的意思是你想在单片机上电初始化之后经过一段时间(自定义),然后让它做某件事情是吧?

应该是的
回复

使用道具 举报

0

主题

183

帖子

0

精华

高级会员

Rank: 4

积分
684
金钱
684
注册时间
2016-1-27
在线时间
184 小时
发表于 2016-10-11 16:38:15 | 显示全部楼层

可以delay或者用定时器
delay延时是在原地等待的,定时器不是原地等待的
回复

使用道具 举报

19

主题

62

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2016-10-11
在线时间
98 小时
 楼主| 发表于 2016-10-11 16:40:25 | 显示全部楼层
不吃鱼的老鼠 发表于 2016-10-11 16:38
可以delay或者用定时器
delay延时是在原地等待的,定时器不是原地等待的

开机启动后直接进行delay吗
回复

使用道具 举报

0

主题

183

帖子

0

精华

高级会员

Rank: 4

积分
684
金钱
684
注册时间
2016-1-27
在线时间
184 小时
发表于 2016-10-11 16:47:16 | 显示全部楼层
sang523 发表于 2016-10-11 16:40
开机启动后直接进行delay吗

那要看你需求了,你想实现什么
回复

使用道具 举报

15

主题

98

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
294
金钱
294
注册时间
2015-11-30
在线时间
39 小时
发表于 2016-10-11 16:55:55 | 显示全部楼层
开机再进入延时拜托那已经开机了,MCU已经在运行了,延时开机一般要的就是低功耗,这种情况下完全是在带功率运行中了,想要延时开机MCU就进入休眠状态,可以通过设置RTC时钟,通过闹钟唤醒,再不然只能通过外部在增加一个延时逻辑电路触发
回复

使用道具 举报

19

主题

62

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2016-10-11
在线时间
98 小时
 楼主| 发表于 2016-10-11 17:53:38 | 显示全部楼层
bumbdong 发表于 2016-10-11 16:55
开机再进入延时拜托那已经开机了,MCU已经在运行了,延时开机一般要的就是低功耗,这种情况下完全是在带功 ...

开机后设个延时程序可以吗
回复

使用道具 举报

14

主题

89

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
283
金钱
283
注册时间
2015-4-19
在线时间
137 小时
发表于 2016-10-11 19:33:50 | 显示全部楼层
你这个问题好无语,单片机当然一定要自身初始化后才能延时啊,还有不知道你这样做目的有什么意义
回复

使用道具 举报

19

主题

62

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2016-10-11
在线时间
98 小时
 楼主| 发表于 2016-10-12 08:27:49 | 显示全部楼层
电子&mcu爱好者 发表于 2016-10-11 19:33
你这个问题好无语,单片机当然一定要自身初始化后才能延时啊,还有不知道你这样做目的有什么意义

其实就是实现上电开机延时,我试了delay好像不行啊
回复

使用道具 举报

19

主题

62

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2016-10-11
在线时间
98 小时
 楼主| 发表于 2016-10-12 08:28:50 | 显示全部楼层
不吃鱼的老鼠 发表于 2016-10-11 16:47
那要看你需求了,你想实现什么

就是实现上电开机延时,delay试了试好像不行啊
回复

使用道具 举报

84

主题

766

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2775
金钱
2775
注册时间
2015-6-1
在线时间
394 小时
发表于 2016-10-12 08:37:35 | 显示全部楼层
本帖最后由 yuzeyuan1 于 2016-10-12 08:40 编辑
sang523 发表于 2016-10-12 08:28
就是实现上电开机延时,delay试了试好像不行啊

我感觉你别问了,上面给你的说法都是对的,自己慢慢看视频想就行了。
这不是不会STM32,是根本就不知道自己想干什么。
上电啥也不干先来个延时,哪有这么玩的,那开机干嘛
自在随心
回复

使用道具 举报

19

主题

62

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2016-10-11
在线时间
98 小时
 楼主| 发表于 2016-10-12 09:03:36 | 显示全部楼层
yuzeyuan1 发表于 2016-10-12 08:37
我感觉你别问了,上面给你的说法都是对的,自己慢慢看视频想就行了。
这不是不会STM32,是根本就不知道 ...

主要是领导要求实现这个功能啊,我也觉得奇怪
回复

使用道具 举报

19

主题

62

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2016-10-11
在线时间
98 小时
 楼主| 发表于 2016-10-12 09:04:37 | 显示全部楼层
yuzeyuan1 发表于 2016-10-12 08:37
我感觉你别问了,上面给你的说法都是对的,自己慢慢看视频想就行了。
这不是不会STM32,是根本就不知道 ...

如果是上电后定时呢
回复

使用道具 举报

10

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
197
金钱
197
注册时间
2014-10-14
在线时间
23 小时
发表于 2016-10-12 09:24:25 | 显示全部楼层
其实在有些场景下是需要延时的,比如控制一个串口显示屏,串口显示屏开机比单片机慢,如果要显示屏开机后显示一个不是开机默认显示的界面,需要单片机通过串口向显示屏发送界面变换的命令,如果显示屏没有完全开启即发送的话此命令会丢失,故此时单片机不能立即控制显示屏的界面变换。一种方法是开机初始化部分延时一段时间发送界面控制命令;另一种方法是开机单片机连续向显示屏发送握手信息,握手成功后发送界面控制命令。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-24 01:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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