これは、私を助けてくれる人がここにいる可能性があるため、Arduino フォーラムに投稿したのと同じ質問です :) 私はプロジェクトに SparkFun の Arduino Pro Micro 3.3V/8MHz を使用しています。ドライバーをインストールし、IDE にボードのサポートを追加し、スケッチをボードにアップロードしようとしましたが、問題なく動作しました。通常のポートは COM5 で、アップロード ポートは COM6 であるため、ボードに同梱されているブートローダーは、アップロード用に個別のシリアル ポートをエミュレートしていることに気付きました。このプロジェクトでは、コードの最適化が最も重要なので、UNO で既にうまく使用していた Atmel Studio に移行しました。レジスタと関数を使用して、Micro 用の単純な点滅コードを作成しました。
#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 ミリ秒以内に 2 回押す必要があります ( https://learn.sparkfun.com/tutorials/pro-micro--fio-v3-hookup- guide/troubleshooting-and-faq#ts-reset )。
コードは機能しますが、通常のシリアル ポート (COM5) が戻ってこないことに気付きました。原因は何ですか?新しいコードを Micro にアップロードできるので、ブートローダーは問題ないはずです。
事前に助けてくれてありがとう:)