问答

汇集网友智慧,解决技术难题

21ic问答首页 - Keil编程问题关于Delay函数 新手小白

TI 新手小白 函数 编程 keil

Keil编程问题关于Delay函数 新手小白

jerry10-12024-09-29
在Keil的main函数调用Delay_s函数时,第一次调用警告implicit declaraction of function 'Delay_s' is invalid in C99,但是第二次调用就没有这个警告了,而且我已经包含了头文件,求解决方案
回答 +关注 0
516人浏览 3人回答问题 分享 举报
3 个回答
  • 这个问题可能是由于编译器设置或者代码结构导致的。请尝试以下解决方案:

    1. 确保在调用`Delay_s`函数之前已经声明了该函数。如果`Delay_s`函数是在其他文件中定义的,确保在使用它的文件中包含了正确的头文件。例如,如果`Delay_s`函数定义在`delay.h`头文件中,那么在使用它的文件中应该包含这个头文件:

    ```c
    #include "delay.h"
    ```

    2. 检查编译器设置。确保编译器设置为C99或更高版本。在Keil中,可以在项目选项中找到编译器设置。确保选择了正确的编译器和标准。

    3. 如果`Delay_s`函数是在某个库中定义的,确保链接了这个库。在Keil中,可以通过项目选项中的“Target”菜单来添加库文件。

    4. 如果以上方法都无法解决问题,可以尝试将`Delay_s`函数的定义放在一个单独的源文件中,并在需要使用它的文件中包含相应的头文件。这样可以确保编译器能够找到函数的定义。

    5. 如果问题仍然存在,可以考虑使用`extern`关键字显式声明函数原型。在调用`Delay_s`函数的文件中,添加如下声明:

    ```c
    extern void Delay_s(unsigned int seconds);
    ```

    这将告诉编译器`Delay_s`函数的存在,即使它的定义在其他文件中。
  • 自己些delay函数就可以啦
  • 代码呢

您需要登录后才可以回复 登录 | 注册