AVRマイクロコントローラチュートリアル - 第1のLED照明

そんなに準備を完了、我々は最終的に開発ボードで何かを始めることができます。

マイクロコントローラのプログラミングとコンピュータプログラミングいくつかの違いがあります。プログラムは、それが両方で、ゼロ以上の入力、1つ以上の出力を有するが、コンピュータプログラミング入力と出力がコンソールに主に依存するが、無マイクロコントローラ。

マイクロコントローラ、マイクロコントローラは、それは、その出力デバイスを制御することで、主制御目的のために、英語であり、デバイス情報は、その入力から読み取られます。コンピュータが、マイクロコントローラの機能のいくつかがあることなどのプログラミング、入力と出力を行うためのscanf、printf関数、、、しかし、彼らは多くの場合、送信および受信データをシリアルポートに、そして最終的にコンピュータ上に表示されます。それに接続されたMCUの制御装置は、主レジスタ(レジスタ)A上で動作させることによって達成しました。レジスタの直接操作が基本となる知識の多くに関連している、私は物事の良いパッケージの底面にこれらの機能の一部を使用している、あなただけの私がそれを書いた関数ライブラリを呼び出す必要があります。

マイクロコントローラを制御するために使用される、最も簡単には、LEDの点灯です。このプログラムは入力、1つの出力、LEDライトを作ることではありません。しかし、たとえ簡単な、それはまたに、ライブラリを必要とし、ここでダウンロード。

ライブラリーを直接使用されていないダウンロードした後、我々はディレクトリを含めるコンパイラにそれを置きます。

含めるとlibですEElib1.0.7zファイルに2つのディレクトリがあります。アトメルStudioのインストールディレクトリ7.0を開き、→AVRツールチェーン→avr8→avr8-、GNUツールチェーンを見つけるためにすべての方法は、私は、ディレクトリはCです見つける、インストールするデフォルトの場所である:7.0 \ツールチェイン\ \プログラムファイル(x86の)アトメル\メーカー\ \ AVRの\の下avr8 \ avr8-GNUツールチェーン-の\、ディレクトリも含めると2つのフォルダのlib。アーカイブフォルダ内のファイルここに、対応するフォルダマージ、位置に置くのライブラリ。

上記操作は、一度だけときに、各データベースの更新が行われます。

その後、我々はロードが完了した後、[新規]→[プロジェクト→メニューバー→ファイルをクリックし、AS7を開いて...、あなたはまた、ショートカットキーのCtrl + Shifh + N、新規プロジェクトのポップアップを使用することができます。

GCC C実行可能なプロジェクト、名前を選択して、右のパスを選択し、[OK]をクリックし、ウィンドウは、機器の選択をポップアップ表示されます:

右上「ATmega324PA」を入力します(大文字と小文字は関係ありません)、ATmega324PAを選択し、[OK]をクリックします。数秒待って、プロジェクトがデフォルトを作成しました:

私たちがいない自動的に生成されたコードのこの山は、すべて削除されました。(再び推奨ノック、コピーしないでください)次のコードを入力します。

1つ の#include <EE1 / led.h>
 2  
3  INT メイン()
 4  {
 5      led_init()。
6      led_setLED_REDLED_ON)。
7      リターン 0 ;
8 }

あなたはIDEのコード補完を求めるメッセージが表示されるコード、Tabキーを押しますを見つけるかから選択しますいつノック。十分に入った後、次のようにする必要があります:

のは、このコードを分析してみましょう:

書式#include <EE1 / led.h>  バックライブラリ関数を呼び出すには、このコードでは、ライブラリが含まれているヘッダファイルについて。ライブラリー1のメジャーバージョン番号が配置されている  EE1 /  ダウン。

led_init();  初期化されていない場合、すべてのLEDを初期化するため、照射、LEDは点灯しません。

led_set(LED_RED, LED_ON); 用于点亮红色LED。led_set 是一个库函数,接受两个参数,第一个表示要点亮哪个LED,第二个表示这个LED要亮还是不亮。详见库函数手册

最后的 return 0; 可以不写,但加上是一个好习惯。

只写代码还不能让开发板点亮LED。我们调用了库函数,但是复制和 #include 还不足以把库加入到我们的程序中,我们需要配置一下项目属性:

在右边的Solution Explorer中对项目右键,点击最后的Properties,找到Toolchain→AVR/GNU Linker→Libraries,点击右上角Add Item按钮,输入“libee1”,点击OK,然后关闭选项卡,回到代码界面。

我们的开发板不支持debug,而且release编译出来的程序性能稍微好一点。在工具栏中选择Release:

现在我们可以build项目了,之前配置过快捷键的话直接按F5就可以了,也可以点工具栏按钮:

现在C语言代码被转换成了单片机能够执行的代码,它在项目目录中的某处,我们现在不去关心这个。之前配置过的external tool可以把这个文件烧录到单片机中去。如果之前配置过快捷键,按F6就可以,或者在菜单栏→Tools中点击AVRDUDE。输出结果应该是这样的:

如果输出结果不是这样的,那肯定是下载器出了点问题,可能的输出有:

“avrdude.exe: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'”:这是下载器的电源问题,保持下载器与开发板连接,拔下下载器后重新插上就能解决;

“avrdude.exe: error: program enable: target doesn't answer.”:这是下载器与开发板之间的连接问题,可能是因为没有插紧。

如果烧写成功,现在红色LED就应该亮起了。

 

上一篇:EasyElectronics Library v1.0 手册

下一篇:暂无

 

おすすめ

転載: www.cnblogs.com/jerry-fuyi/p/11325718.html