小编Mik*_*ike的帖子

avrdude:stk500v2_ReceiveMessage():超时

这是我尝试运行ARDUINO程序时遇到的主要错误.完整的错误列表如下:

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
Run Code Online (Sandbox Code Playgroud)

我的代码如下:

int led=13;
void setup()
{
    pinMode(13,OUTPUT);
}

void loop()
{
    digitalWrite(13,HIGH);
    delay(1000);
    digitalWrite(13,LOW);
    delay(1000);
}
Run Code Online (Sandbox Code Playgroud)

我尝试更新驱动程序(它们已完全更新)并下载一些程序.我有Windows 7,而我的arduino是MEGA 2560.它显示在设备管理器中,我的所有连接都是正确的.绿色PWR灯亮,闪烁的L灯也亮.更新时,RX和TX指示灯会闪烁.我几乎尝试了网上的所有内容.问题是什么?

arduino

25
推荐指数
4
解决办法
11万
查看次数

什么是重复 ACK 何时发生?

我目前正在学习 TCP 协议,但不明白什么时候会发生重复确认。仅当未从接收方接收到 ACK 到客户端时才会发生重传?要计算重传,您必须通过安全裕度添加往返时间(来自 3 次握手)?

如果你能用一个例子向我解释这些,这将非常有帮助,因为我是初学者。

tcp

9
推荐指数
3
解决办法
5万
查看次数

当在“生产”中的浏览器中直接访问url时,GatsbyJs客户端的唯一路径会转到404页面

我创建了一个Gatsby应用程序,并配置gatsby-node.js为仅创建客户端路径,这些路径在开发中都可以正常工作,同时直接访问路径的url,但在生产环境中则不能。

例如:

if(page.path.match(/^\/sample/)){
     page.matchPath = "/sample/:value1/:value2/:value3";
     createPage(page)
  }
Run Code Online (Sandbox Code Playgroud)

我正在heroku用来部署应用程序

gatsby

8
推荐指数
1
解决办法
2076
查看次数

带有()和{}的C预处理器宏代码

#include <stdio.h>
#define a (1,2,3)
#define b {1,2,3}

int main()
{
    unsigned int c = a;
    unsigned int d = b;
    printf("%d\n",c);
    printf("%d\n",d);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

上面的C代码将打印输出为31.

但是,如何#define a (1,2,3)#define b {1,2,3}采取= 3,B = 1不生成警告,以及如何(){}被赋予不同的值?

c

6
推荐指数
1
解决办法
95
查看次数

使用全局变量最优雅的方式是什么?

几年前,我了解到全局变量不好,应该避免。但我知道它们有时是不可避免的,至少在嵌入式系统中是这样。您认为与他们合作最优雅的方式是什么?

\n\n

在我的项目中,我有一个名为的文件globals.h,我在其中定义所有全局变量:

\n\n
#ifndef GLOBALS_H\n#define GLOBALS_H\nextern int16_t    gVariable1;\nextern int16_t    gVariable2;\n\xe2\x80\xa6.\n#endif\n
Run Code Online (Sandbox Code Playgroud)\n\n

在我的主项目文件中,我声明了所有全局变量:

\n\n
/*\n***********************************************************************\n*                            global variables                         *\n***********************************************************************\n*/\n    int16_t     gVariable1 = 0;\n    int16_t     gVariable2 = 0;\n\n\nint16_t main (void)\n{\n    gVariable1 = 6;\n\n    //  do other stuff\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

并且知道我将其包含globals.h在需要访问全局变量的项目的每个其他文件中。

\n\n

这很好用,但是有没有更优雅的方法来处理这个问题?

\n

c coding-style global-variables

5
推荐指数
1
解决办法
1285
查看次数

在任何地方都无法在 mplabX IDE 中看到 printf...为什么?

我在函数中尝试了此操作,但在 MPLAB X IDE 中没有看到任何结果。为什么?在哪里可以找到打印的结果?我使用的是 pic32 Curiosity 开发板和 XC32。

int a = 5;
int b = 10;
printf("a = %d\nb = %d\n", a, b);
Run Code Online (Sandbox Code Playgroud)

有什么信息吗?提前致谢!

c microchip pic mplab pic32

4
推荐指数
1
解决办法
9196
查看次数

vertx IllegalArgumentException:类型没有消息编解码器-如何为自定义类型创建使用者

我有一个创建事件总线使用者的顶点,如下所示:

    public void start() {
        vertx.eventBus().consumer(ADDRESS_REQUEST, this::handleRequestMessage);

    }

    private void handleRequestMessage(Message<VWApiConversation> msg) {

       VWApiConversation conversation = msg.body();

    }
Run Code Online (Sandbox Code Playgroud)

但是在向该地址发送消息时:

 vertx.eventBus().send(VehicleStateCoordinatorVerticle.ADDRESS_REQUEST, conversation, deliveryOptions, res -> {
Run Code Online (Sandbox Code Playgroud)

...

我得到错误:

java.lang.IllegalArgumentException: No message codec for type: class com.vulog.vwgateway.model.VWApiConversation
Run Code Online (Sandbox Code Playgroud)

我想念什么吗?

exception event-bus vert.x

4
推荐指数
1
解决办法
1833
查看次数

检测已安装的lazarus IDE

这是检测lazarus IDE是否以编程方式使用delphi安装在系统中的正确方法?

例如,为了检测是否安装了delphi 7,我可以检查此密钥HKLM\Software\Borland\Delphi\7.0.

我在Windows注册表中搜索lazarus的类似密钥,但我没有找到任何东西.

提前致谢.

delphi lazarus

3
推荐指数
1
解决办法
807
查看次数

ATMEGA USART 处理方向键

我有一个问题,我必须通过按下计算机上的按键来控制 ATMEGA 1280 的 PWM。我可以使用 ASCII 键并控制 PWM 来控制它。问题是他们要求使用箭头键,现在问题是箭头键没有 ASCII 值,而且我现在没有 ATMEGA 1280 可供使用。我不知道与从箭头键接收到的值相比什么值。有人有主意吗?

c assembly avr atmega

3
推荐指数
1
解决办法
1852
查看次数

如何在C中覆盖部分字符串?

我有一个字符串.我只想更改字符串的开头几个字符,并保留原样.在C中执行此操作的最佳方法是什么?

#include <stdio.h>
#include <string.h>

int main() {
    char src[40];
    char src2[40];
    char dest[12];

    memset(dest, '\0', sizeof(dest));
    strcpy(src, "This is a string");
    strcpy(src2, "That");
    strncpy(dest, src, sizeof(src));
    strncpy(dest, src2, sizeof(src2));

    printf("Final copied string : %s\n", dest);
}
Run Code Online (Sandbox Code Playgroud)

我希望将字符串更改"This is a string""That is a string".

有没有一种简单的方法可以实现这个我想念的东西?

c c-strings

3
推荐指数
1
解决办法
160
查看次数