用户
 找回密码
 立即注册

QQ登录

只需一步,快速开始

点击进入授权页面

只需一步,快速开始

  • QQ空间
  • 回复
  • 收藏
  • TA的每日心情
    慵懒
    2017-7-16 11:47
  • 签到天数: 44 天

    [LV.5]常住居民I

    奈何col 攻城狮 2017-7-27 23:52 楼主
    在进行Arduino开发时,没有像传统C/C++程序使用入口函数main。实际上main函数存在于Arduino核心库中,且仍然是程序的入口。在Arduino核心库中可见main.cpp文件,其内容如下:


    #include <Arduino.h>

    // Declared weak in Arduino.h to allow user redefinitions.
    int atexit(void (* /*func*/ )()) { return 0; }

    // Weak empty variant initialization function.
    // May be redefined by variant files.
    void initVariant() __attribute__((weak));
    void initVariant() { }

    void setupUSB() __attribute__((weak));
    void setupUSB() { }

    int main(void)
    {
            init();

            initVariant();

    #if defined(USBCON)
            USBDevice.attach();
    #endif
           
            setup();

            for (;;) {
                    loop();
                    if (serialEventRun) serialEventRun();
            }

            return 0;
    }

    通过以上程序可见,Arduino程序中编写的setup和loop函数,都在main函数中调用了。loop的循环执行,是通过for循环实现的,且每次loop结束后,都会进行串口事件判断,也正是因为这种设计,串口事件不能实时响应。


    如果以上内容对你有帮助,你可以通过打赏支持作者
    399/1回复惨案
    谢谢,给新人解惑了
    发新帖
    发表评论
    高级模式  
    您需要登录后才可以回帖 登录 | 立即注册  
    关闭

    推荐主题 上一条 /2 下一条