找回密码
 立即注册
楼主: 好好学习

我也来分享一个我使用的软定时器

[复制链接]

5

主题

7

回帖

67

积分

注册会员

积分
67
发表于 2024-3-12 12:33:50 | 显示全部楼层
Build target 'Target 1'
linking...
*** ERROR L101: SEGMENT COMBINATION ERROR
    SEGMENT: ?PR?IV?1
    MODULE:  .\Objects\time.obj (time)
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
    SYMBOL:  Timer0_Init
    MODULE:  .\Objects\time.obj (time)
   DEFINED:  .\Objects\main.obj (main)
*** ERROR L120: CONTENT BELONGS TO ERRONEOUS SEGMENT
    SEGMENT: ?PR?IV?1
*** ERROR L121: IMPROPER FIXUP
    MODULE:  .\Objects\main.obj (main)
    SEGMENT: ?PR?IV?1
    OFFSET:  00000CH
*** ERROR L121: IMPROPER FIXUP
    MODULE:  .\Objects\time.obj (time)
    SEGMENT: ?PR?IV?1
    OFFSET:  00000CH
Program Size: data=8.7 edata+hdata=434 xdata=192 const=127 code=3092
Target not created.
Build Time Elapsed:  00:00:01
回复 支持 反对

使用道具 举报 送花

5

主题

7

回帖

67

积分

注册会员

积分
67
发表于 2024-3-12 12:34:27 | 显示全部楼层
复制以上代码编译生成HEX文件时,编译错误,如何检查
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:468
  • 最近打卡:2025-06-17 06:26:47
已绑定手机

19

主题

3231

回帖

5285

积分

论坛元老

积分
5285
发表于 2024-3-16 18:22:56 来自手机 | 显示全部楼层
这个可以有保存当库函数使用
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:396
  • 最近打卡:2025-06-17 00:04:36
已绑定手机

142

主题

1688

回帖

2563

积分

金牌会员

积分
2563
发表于 2025-5-2 12:20:15 | 显示全部楼层
梁*** 发表于 2023-5-11 15:37
软件定时器,我就用一个timer0,1ms中断,就可以做N多定时器,我一般用倒计时,为0则定时到。
有人对结构体 ...

这个好用.
void ruanjian_init()
{
SoftTimer[0] = 1000;    //定时1000ms
SoftTimer[1] = 2000;    //定时1000ms
SoftTimer[2] = 5000;    //定时1000ms       
}

void ruanjiandingshi()
{
       
        if(TimerFlag[0] == 1)   //定时到
        {
                SoftTimer[0] = 1000;
                TimerFlag[0] = 0;
//                P54=!P54;
        }       

        if(TimerFlag[1] == 1)   //定时到
        {
                SoftTimer[1] = 2000;
                TimerFlag[1] = 0;
//                P54=!P54;
        }

        if(TimerFlag[2] == 1)   //定时到
        {
                SoftTimer[2] = 5000;
                TimerFlag[2] = 0;
                P54=!P54;
        }                       
}

定时器1ms中断.
                for(i=0;i<SoftTimerNum; i++)
                {
                        if(SoftTimer  != 0)    //软件定时器倒计时
                        {
                                if(--SoftTimer == 0)  
                                {
                                TimerFlag = 1;   //定时完成
                                }                               
                        }
                }       
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-17 06:38 , Processed in 0.118241 second(s), 63 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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