我的编译器环境是MPLAB+HI-TECH PICC9.60, 那调用里面库函数DelayMs(unsigned char);

2020-02-09 09:35发布

/*
*        Delay functions for HI-TECH C on the PIC
*
*        Functions available:
*                DelayUs(x)        Delay specified number of microseconds
*                DelayMs(x)        Delay specified number of milliseconds
*
*        Note that there are range limits: x must not exceed 255 - for xtal
*        frequencies > 12MHz the range for DelayUs is even smaller.
*        To use DelayUs it is only necessary to include this file; to use
*        DelayMs you must include delay.c in your project.
*
*/

/*        Set the crystal frequency in the CPP predefined symbols list in
        HPDPIC, or on the PICC commmand line, e.g.
        picc -DXTAL_FREQ=4MHZ
       
        or
        picc -DXTAL_FREQ=100KHZ
       
        Note that this is the crystal fr equency, the CPU clock is
        divided by 4.

*        MAKE SURE this code is compiled with full optimization!!!
       
*/
#ifndef        XTAL_FREQ
#define        XTAL_FREQ        12MHZ                // Crystal frequency in MHz
#endif

#define        MHZ        *1000L                        /* number of kHz in a MHz */
#define        KHZ        *1                        /* number of kHz in a kHz */

#if        XTAL_FREQ >= 12MHZ

#define        DelayUs(x)        { unsigned char _dcnt;
                          _dcnt = (x)*((XTAL_FREQ)/(12MHZ));
                          while(--_dcnt != 0)
                                  continue; }
#else

#define        DelayUs(x)        { unsigned char _dcnt;
                          _dcnt = (x)/((12MHZ)/(XTAL_FREQ))|1;
                          while(--_dcnt != 0)
                                  continue; }
#endif

extern void DelayMs(unsigned char);






看上面那段E文的意思,好像调用之前要在哪里设置晶振频率,但是我在MPLAB又找不到什么地方设置!
难道在要程序当中以命令行的模式来设置?
0条回答

一周热门 更多>