使用SparkFun的Arduino Pro Micro和Atmel Studio缺少串口

时间:2014-06-30 00:23:39

标签: windows serial-port arduino atmelstudio

这是我在Arduino论坛上发布的同一个问题,因为这里可能有人可以帮助我:) 我使用SparkFun的Arduino Pro Micro 3.3V / 8MHz进行项目。我已经安装了驱动程序,在IDE上添加了对主板的支持,并尝试将草图上传到它 - 它运行正常。我意识到主板附带的引导加载程序模拟了一个独特的上传串口,因为普通端口是COM5,上传端口是COM6。虽然对于这个项目,代码优化是最重要的,所以我转到了Atmel Studio,我已经成功地使用了UNO。我使用寄存器和函数为Micro构建了一个简单的blinky代码:

#define ledpin PC6

#include <avr/io.h>
#include <util/delay.h>

int main(void)
{       
    DDRC |= (1 << ledpin);

    while(1)
    {
        PORTC |= (1 << ledpin);
        _delay_ms(1000);
        PORTC &= ~(1 << ledpin);
        _delay_ms(1000);
    }
}

我可以使用avrdude中的以下命令通过Atmel Studio上传它:

C:\Program Files (x86)\Arduino\hardware/tools/avr/bin/avrdude -C"C:\Program Files (x86)\Arduino\hardware/tools/avr/etc/avrdude.conf" -v -v -patmega32u4 -cavr109 -P\\.\COM6 -b57600 -D -Uflash:w:"$(ProjectDir)Debug\$(ItemFileName).hex":i

为了能够做到这一点,我必须在不到750毫秒的时间内按两次重置按钮,因为连接指南会提取(https://learn.sparkfun.com/tutorials/pro-micro--fio-v3-hookup-guide/troubleshooting-and-faq#ts-reset)。

代码有效,但现在我注意到正常的串口(COM5)永远不会回来。可能是什么原因?我仍然可以将新代码上传到Micro,所以引导加载程序应该没问题吧?

感谢您的帮助:)

1 个答案:

答案 0 :(得分:1)

我有点找到了解决方案。正如我在Arduino论坛上发布的那样:

我能够将pro micro恢复为SparkFun传递给我的状态。

为此,我使用Arduino Uno作为ISP(带有ArduinoISP示例)连接到Micro的MISO,MOSI,SCLK和RST引脚,并通过Arduino IDE上传引导加载程序。起初,我收到的错误是:

avrdude: verification error, first mismatch at byte 0x0000 0xfe != 0xce

然后,当我意识到boards.txt指定要使用的熔丝位时,我开始研究如何在Pro Micro上设置熔丝位。我所要做的就是改变&#34; extended_fuses = 0xfe&#34;到&#34; extended_fuses = 0xce&#34;,重启IDE并重试引导加载程序上传。最后,成功! 为了测试它,我写了一个简单的UART&#34; Hello world&#34; IDE中的应用程序,运行完美。

上传引导加载程序时,请确保选择了正确的板(SparkFun 3.3V / 8MHz)并选择ISP Arduino的COM端口。