步驟1:
Atmega32微控制器。 :)
程序員(Arduino IDE認(rèn)可的任何程序員)。我使用USBasp編程器。
用于Atmega32微控制器(面包板,stribpoard或經(jīng)典開發(fā)板)上電的最小設(shè)置。
我們不需要全部,上面的照片僅作示例。
步驟2:軟件設(shè)置
下載此說明文件附帶的zip文件。
在arduino文件夾。.. arduino-1.5.2 hardware arduino avr boards.txt中找到文件board.txt
從zip存檔面板中添加信息。 txt 到原始的 boards.tx t
在。.. arduino-1.5.2 hardware arduino中創(chuàng)建一個名為 mega32 的文件夾 avr variants
從zip文件中復(fù)制文件 pins_arduino.h 到在步驟4中創(chuàng)建的文件夾中。
啟動Arduino IDE并選擇開發(fā)板。
選擇程序員
稍后編輯:
我刪除了最初找到的github projet的鏈接。只要源發(fā)生了變化并且不適合此說明。
在作者:Eric Conner的消息后,我放回了我最初在其中找到該庫的github項(xiàng)目的鏈接:
https://github.com/eaconner/ATmega32-Arduino
注意:本文所附的ZIP文件 是上述庫的舊版本。
。隨著時間的流逝,在收到一些反饋后,我注意到github的來源已更改。
此外,在注釋中的 中,您會看到對某些錯誤的引用,以及如何更正錯誤。
本文和評論的答案與此處附加的版本有關(guān),而不是github(較新)版本。
第3步:完成。
已完成。
現(xiàn)在您可以嘗試一些Arduino中已經(jīng)存在的簡單示例。
要
這里是眨眼的例子:Files-》 Examples-》 Basics-》 Blink
Pin13 Arduino == Pin19( PD5)Atmega32
/*Blink
Turns on an LED on for one second, then off for one second, repeatedly.
This example code is in the public domain.
*/
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
經(jīng)過一番評論后,我在文件pins_arduino.h中發(fā)現(xiàn)了兩個錯誤
因此我將發(fā)布這里的錯誤和正確的值。
SCL和SDA的錯誤定義
const static uint8_t SDA = 8; //wrong
const static uint8_t SCL = 9; //wrong
必須在以下位置更改:
const static uint8_t SDA = 17; //correct
const static uint8_t SCL = 16; //correct
我不是github上的項(xiàng)目的作者,它的更改可能超出我的控制。
因此,請使用此說明中附帶的代碼并進(jìn)行上述修改。
更新:
為串行庫正常工作畝在更改文件 HardwareSerial.cpp
。.. arduino-1.5.8 hardware arduino avr cores arduino HardwareSerial.cpp 后, strong》
將替換為:
#if defined(__AVR_ATmega8__)
config |= 0x80; // select UCSRC register (shared with UBRRH)
#endif
替換為:
#if defined(__AVR_ATmega8__) || defined(__AVR_ATmega32__) || defined(__AVR_ATmega16__)
config |= 0x80; // select UCSRC register (shared with UBRRH)
#endif
-
ATmega32
+關(guān)注
關(guān)注
2文章
33瀏覽量
21061 -
Arduino
+關(guān)注
關(guān)注
188文章
6468瀏覽量
186951
發(fā)布評論請先 登錄
相關(guān)推薦
評論