南北西_1 发表于 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

南北西_1 发表于 2024-3-12 12:34:27

复制以上代码编译生成HEX文件时,编译错误,如何检查

soma 发表于 2024-3-16 18:22:56

这个可以有保存当库函数使用

vb2002 发表于 2025-5-2 12:20:15

梁工 发表于 2023-5-11 15:37
软件定时器,我就用一个timer0,1ms中断,就可以做N多定时器,我一般用倒计时,为0则定时到。
有人对结构体 ...

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

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

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

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

定时器1ms中断.
                for(i=0;i<SoftTimerNum; i++)
                {
                        if(SoftTimer!= 0)    //软件定时器倒计时
                        {
                                if(--SoftTimer == 0)
                                {
                                TimerFlag = 1;   //定时完成
                                }                               
                        }
                }       
页: 1 2 [3]
查看完整版本: 我也来分享一个我使用的软定时器