Arduinoの下のVisual StudioでのC / C ++でのプログラミング

この投稿は、初心者がC / C ++でArduinoの下で開発するためにVisual Studio環境を構成するために数時間(日)を節約するのに役立ちます。

画像


前文



数ヶ月前、私は教師がコンピューターに接続されたスカーフを身に着けているのを見ました。 スカーフには、目に見える7セグメントインジケータといくつかのLEDがありました。 先生はある種のコードに精通していましたが、スカーフは彼に何かを鮮やかに伝えていました。 私は彼がそこで何をしていたかすぐに興味がありました...しかし、彼から学べることは、ショールがデバッグと呼ばれることだけです。 短いグーグルの後、私はArduinoと呼ばれるおもちゃに出かけます。 私は自分自身にArduinoメガ、Atmega1280(わずか29.99ドル)を搭載したメガを注文し、2週間後に郵便局に行って大切なおもちゃを受け取ります。

プロット



なぜなら 私はVS環境に慣れている熱心なWindows開発者なので、ネイティブのArduino IDEからすぐに注意をそらすことにしました。

必要なのは:


すべてが一度にグーグル検索されます。

それでは始めましょう。 WinAVR、avr-libcをインストールし、Avrdudeをダウンロードします。 Arduinoをコンピューターに接続し、ドライバーをインストールします。 Visual Studioで「makefileプロジェクト」を作成します。 次の図のようにフィールドに入力します。

画像

サンプルサブディレクトリでWinAVRがインストールされた場所には、プロジェクトのビルドに使用できるMakefileがあります。 makefileプロジェクトによって作成されたフォルダーに自分自身をコピーし、いくつかの行を変更します。

MCU = atmega1280
F_CPU = 16000000
FORMAT = ihex
TARGET = ATMEGA-1280-DEV-BOARD
SRC = $(TARGET).C



PROGRAMMER_FLAGS = -p m1280 -c arduino -b 57600 -P COM3 -U flash:w:$(TARGET).hex

この文字列は、パラメーターとしてAvrdudeに渡されます。


次のようにすべてのセクションを変更します。
all: build program
タスク「プログラム」のリストに追加します。 これにより、コンパイルが成功すると、MKにファームウェアが自動的にロードされます。

原則として、すべての準備ができています。 最小限のプログラム(点滅LED L)を作成しようとしています。 ファイルarduino-mega-schematic.pdfを見ると、Arduinoの13番目のポートはPB7に他ならないことがわかります。 およそ次のプログラムを作成します。

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

int main()
{
DDRB = 0xFF;
while ( true )
{
PORTB |= (1 << 7);
_delay_ms(500);
PORTB &= ~(1 << 7);
_delay_ms(500);
}
return 0;
}


* This source code was highlighted with Source Code Highlighter .


入力/出力ポートを操作するための最小インターフェース:

#include "utils.h"

class Port
{
public :
Port(PORT& p) : _p(p) {};
Port& operator ! ();
Port& operator += (uint8 b);
Port& operator -= (uint8 b);
Port& operator = (Port& p);
void SetLow();
void SetHigh();
PORT& GetValue();
bool ClearBit(uint8 b);
bool SetBit(uint8 b);
void Pulse(uint8 t);
void PulseBit(uint8 b, uint8 t);
private :
PORT& _p;
};


* This source code was highlighted with Source Code Highlighter .


メイクファイルを保存し、プロジェクトをビルドして、結果を楽しんでください。
画像

追伸 10日までに、すべての種類のセンサーとセンサーで構成されるセットが登場します。 2月までに、超音波距離計と写真レコーダーを収集します。

Source: https://habr.com/ru/post/J111321/


All Articles