找回密码
 立即注册
楼主: DHBT2023

定时器延时函数求助 | 已解决

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:265
  • 最近打卡:2025-05-01 07:25:06

0

主题

206

回帖

1522

积分

金牌会员

积分
1522
发表于 2024-9-29 17:18:02 | 显示全部楼层
本帖最后由 大叶子 于 2024-9-29 17:22 编辑
DHBT*** 发表于 2024-9-29 11:38
定时器1ms  这个是可以的,P20=1放他中断里,可以
void Timer0_Init(void)                //1毫秒@24.000MHz
{

中断函数中,执行P20=1,并延时,再标志位取反  ,主运行中,循环运行,不会的话,中断的官方例程,小改一下,挺方便的,
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:28
  • 最近打卡:2025-01-08 16:11:02

12

主题

26

回帖

224

积分

中级会员

积分
224
发表于 2024-9-29 17:22:58 | 显示全部楼层
Shot*** 发表于 2024-9-29 17:17
程序问题:
1.main函数没有加while(1)循环,main函数里的语句会重复执行,也就是说你的初始化操作一直在跑。 ...

另外这个只是实现的其中一种方法,实际应用中不会这样在main线程里死等,这样CPU性能发挥不到极致,一般会在每次循环查询一下标志,获取是否计时完毕,计时完毕则进行某个操作,计时没到则继续执行其他任务,保证其他任务一直能够获取到CPU处理权限。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-04-04 11:33:11

12

主题

124

回帖

521

积分

高级会员

积分
521
发表于 2024-9-29 20:58:20 | 显示全部楼层
乘风*** 发表于 2024-9-29 14:00
改一下延时函数:

大佬就是大佬。我搞了一个星期。没有搞好。搞的我怀疑人生了。。
原来就是我程序问题,我是仿的别的大佬写的程序,没有仿到家。

用大佬的,一下解决了问题。

这几天刚刚反复看c语言,if for while。。。
刚刚在别的论坛看老师讲了if的 位条件。
回来就发现大佬用的bit 位条件。
果然不同凡响。。谢谢!
看了一些程序,没有重视 if的 位 条件,只是在重视条件语句。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-04-04 11:33:11

12

主题

124

回帖

521

积分

高级会员

积分
521
发表于 2024-9-29 21:09:21 | 显示全部楼层
Shot*** 发表于 2024-9-29 17:17
程序问题:
1.main函数没有加while(1)循环,main函数里的语句会重复执行,也就是说你的初始化操作一直在跑。 ...

谢谢回复!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-04-04 11:33:11

12

主题

124

回帖

521

积分

高级会员

积分
521
发表于 2024-9-29 21:11:34 | 显示全部楼层
乘风*** 发表于 2024-9-29 14:00
改一下延时函数:

用大佬的,一下解决问题了。我看了我的,用1ms中断的标志位的用法估计不对。还多用一个变量。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-04-04 11:33:11

12

主题

124

回帖

521

积分

高级会员

积分
521
发表于 2024-9-29 21:14:11 | 显示全部楼层
DHBT*** 发表于 2024-9-29 21:11
用大佬的,一下解决问题了。我看了我的,用1ms中断的标志位的用法估计不对。还多用一个变量。 ...

现在用这个1ms为母体。可以设置不同的定时
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-04-04 11:33:11

12

主题

124

回帖

521

积分

高级会员

积分
521
发表于 2024-9-29 21:15:54 | 显示全部楼层
俸上视频,以示感谢

WeChat_20240929211208.mp4

6.72 MB, 下载次数: 47

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-04-04 11:33:11

12

主题

124

回帖

521

积分

高级会员

积分
521
发表于 2024-9-29 21:18:23 | 显示全部楼层
wangxi*** 发表于 2024-9-29 16:05
能不能这样,设置个变量m=0,定时器里面每次m+1,加到N就是Nms,
delay函数里面用while判断变量值m是否>=N ...

是这个意思
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-3 03:15 , Processed in 0.132373 second(s), 102 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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