Re: Адаптация ATmega32 на ARDUINO IDE.
Добавлено: 22 апр 2013, 14:05
Рад, что помог. Удачной работы, удачных проектов.
полезные устройства из радиохлама
http://radiohlam.ru/forum/
Лучше всего, качать адаптированный мной IDE, а потом править под свой проект, потому что пришлось править практически все файлы в IDE. В принципе технология чипа одна и та же у серии Atmega8, Atmega16 и Atmega32, но 16 и 32 ни как не определены в коде IDE.H`UGO писал(а):Здравствуйте! У меня к Вам пара вопросов, один и основной из которых это сама адаптация МК Atmega32.
Красиво сказано! Желание помочь есть всем, тем более эта тема вызывает в последнее время огромный интерес.H`UGO писал(а):Вот нашёл Ваш топик и желание помочь.
На 32 меге 4 шима, но ШИМ на ноге OC0 мне не удалось определить как ШИМ в IDE. Может быть в конфигурации ног контроллера его надо определить как ОС0A тогда прокатит, хотя я сомневаюсь. Надо пробывать. Так как чип Atmega32 адаптирован на IDE 1.01, то пины правятся в файле по пути Disk:\arduino-1.0.1\hardware\arduino\variants\32\pins_arduino.hH`UGO писал(а):Во первых меня смутило то, что только 3 ШИМ-а на меге32, это так? мне надо 4 для ЖКИ, и мега 16 это может. Ну и собственно файлы и инструкция для того чтоб залить мой скетч на мегу32. пины в библиотеке я подправлю (библиотека glcd). Можно на мыло. Зараннее спасибо.
Код: Выделить всё
const uint8_t PROGMEM digital_pin_to_port_PGM[] = {
PB, //PB0 ** 0 ** D0
PB, //PB1 ** 1 ** D1
PB, //PB2 ** 2 ** D2
[b]PB, //PB3 ** 3 ** D3 ** PWM0 ** TIMER0[/b]
PB, //PB4 ** 4 ** D4 ** SPI_SS
PB, //PB5 ** 5 ** D5 ** SPI_MOSI
PB, //PB6 ** 6 ** D6 ** SPI_MISO
PB, //PB7 ** 7 ** D7 ** SPI_SCK
PD, //PD0 ** 8 ** D8 ** USART0_RX
PD, //PD1 ** 9 ** D9 ** USART0_TX
PD, //PD2 ** 10 ** D10
PD, //PD3 ** 11 ** D11
PD, //PD4 ** 12 ** D12 ** PWM1 ** TIMER1B
PD, //PD5 ** 13 ** D13 ** PWM2 ** TIMER1A
PD, //PD6 ** 14 ** D14
PD, //PD7 ** 15 ** D15 ** PWM3 ** TIMER2
PC, //PC0 ** 16 ** D16 ** I2C_SCL
PC, //PC1 ** 17 ** D17 ** I2C_SDA
PC, //PC2 ** 18 ** D18
PC, //PC3 ** 19 ** D19
PC, //PC4 ** 20 ** D20
PC, //PC5 ** 21 ** D21
PC, //PC6 ** 22 ** D22
PC, //PC7 ** 23 ** D23
PA, //PA0 ** 24 ** A0
PA, //PA1 ** 25 ** A1
PA, //PA2 ** 26 ** A2
PA, //PA3 ** 27 ** A3
PA, //PA4 ** 28 ** A4
PA, //PA5 ** 29 ** A5
PA, //PA6 ** 30 ** A6
PA, //PA7 ** 31 ** A7
Код: Выделить всё
// Arduino Mega
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
//#define IR_USE_TIMER1 // tx = pin 11
#define IR_USE_TIMER2 // tx = pin 9
//#define IR_USE_TIMER3 // tx = pin 5
//#define IR_USE_TIMER4 // tx = pin 6
//#define IR_USE_TIMER5 // tx = pin 46
// Teensy 1.0
#elif defined(__AVR_AT90USB162__)
#define IR_USE_TIMER1 // tx = pin 17
// Teensy 2.0
#elif defined(__AVR_ATmega32U4__)
//#define IR_USE_TIMER1 // tx = pin 14
//#define IR_USE_TIMER3 // tx = pin 9
#define IR_USE_TIMER4_HS // tx = pin 10
// Teensy++ 1.0 & 2.0
#elif defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__)
//#define IR_USE_TIMER1 // tx = pin 25
#define IR_USE_TIMER2 // tx = pin 1
//#define IR_USE_TIMER3 // tx = pin 16
// Sanguino
#elif defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644__)
//#define IR_USE_TIMER1 // tx = pin 13
#define IR_USE_TIMER2 // tx = pin 14
// Atmega8
#elif defined(__AVR_ATmega8P__) || defined(__AVR_ATmega8__)
#define IR_USE_TIMER1 // tx = pin 9
#elif defined( __AVR_ATtinyX4__ )
#define IR_USE_TIMER1 // tx = pin 6
// Arduino Duemilanove, Diecimila, LilyPad, Mini, Fio, etc
#else
//#define IR_USE_TIMER1 // tx = pin 9
#define IR_USE_TIMER2 // tx = pin 3
#endif