boxtec Forum
Microcontroller => AVR / ATtiny => : PioB September 11, 2013, 03:28:04 PM
-
Hallo,
ich bräuchte für mein Projekt einen Mikrokontroller mit viel Speicher; der Atmel Atmega1284P würde sich anbieten, weil es ihn in als DIP und TQFP gibt, zum einfachen Prototyping auf dem Breadboard und als noch handlötbare SMD Version. Auch preislich würde er noch im Rahmen liegen. Wäre es eventuell möglich, diesen auch ins Sortiment aufzunehmen?
-
Salut,
da ich den ATmega1284 nicht kenne: Was unterscheidet ihn vom ATmega2560 und könnte man hier nicht einen Arduino Mega verwenden? Ich habe bei Freetronics eine Goldilocks board erworben, das den 1284 trägt und den Arduino-Formfaktor hat. Wäre das interessant?
Ciao, Mathias
-
da ich den ATmega1284 nicht kenne: Was unterscheidet ihn vom ATmega2560 und könnte man hier nicht einen Arduino Mega verwenden?
Der ATmega1284 hat 40 pins, der 2560, wenn ich mich recht erinnere, deren 100. Feature-mässig ist der 2560 natürlich in jeder Hinsicht überlegen, aber der 1284 ist in DIP-Packungen erhältlich, und selbst in TQFP ist ein 40 pin Gehäuse deutlich einfacher zu verlöten als ein 100 pin Gehäuse.
Ein weiteres Detail ist dass der 2560 mehr als 16 Address-bits für die Programmierung braucht, was etwas komplexere Bootloaders erfordert. Der 1284 ist also einfach ein bisschen simpler in der Handhabung.
-
Danke für die Anregung. Nehmen wir gerne auf, beide Versionen werden aber um 9 Franken kosten.
Wir sollten diese in etwa 6-8 Tagen erhalten, sobald sie online sind, aktualisiere ich dieses Thema nochmals.
-
Vielen Dank!
Von der Goldilocks-Website, Daten für 2560 von arduino Website:
Atmega1284p Arduino Uno(328p) Arduino Leonardo(32U4) Arduino Mega 2560 (2560)
SRAM 16kB 2kB 2.5kB 8kB
Flash 128kB 32kB 32kB 256kB
EEPROM 4kB 1kB 1kB 4kB
Clock 20MHz 16MHz 16MHz 16 MHz
Der 1284 hat doppelt so viel Ram wie der 2560er, und ist etwas schneller.
-
Hallo, in Erwartung der baldigen Verfügbarkeit des 1284p habe ich mich schon etwas schlau gemacht:
Als Bootloader für den 1284p mit 20 MHz (oder overclocked auf 22.1184 MHz) bietet sich vermutlich der Goldilocks-loader an:
http://www.freetronics.com/products/goldilocks-arduino-compatible-with-atmega1284p-mcu#.UjlG2CScGHk (http://www.freetronics.com/products/goldilocks-arduino-compatible-with-atmega1284p-mcu#.UjlG2CScGHk)
Der Mighty1284p Bootloader unterstützt nur bis 16 MHz. http://maniacbug.wordpress.com/2011/11/27/arduino-on-atmega1284p-4/ (http://maniacbug.wordpress.com/2011/11/27/arduino-on-atmega1284p-4/) https://github.com/maniacbug/mighty-1284p (https://github.com/maniacbug/mighty-1284p)
Zum Bootloader-Programmieren braucht man wohl einen "richtigen" ISP oder folgende Lösung: http://www.gammon.com.au/forum/bbshowpost.php?bbsubject_id=11635&page=1 (http://www.gammon.com.au/forum/bbshowpost.php?bbsubject_id=11635&page=1) , der ArduinoAsISP sketch scheint meiner bisherigen Suche nach nicht zu funktionieren.
"My understanding is that chips with larger memories (1280/2560) require the newer STK500V2 protocol for bootloader burning. My further understanding is that the ArduinoISP sketch only implements the STK500V1 protocol. It may be that you need to buy a real ISP to burn a bootloader on your 1284 chip."
-> von http://forum.arduino.cc/index.php?topic=118244.0 (http://forum.arduino.cc/index.php?topic=118244.0)
Ich weiss nicht, welche Bibliotheken dann nicht mehr funktionieren werden/geändert werden müssen. Ich habe ein Projekt, dass die MsTimer2-Library http://www.pjrc.com/teensy/td_libs_MsTimer2.html (http://www.pjrc.com/teensy/td_libs_MsTimer2.html) verwendet.
Ich hoffe, dass der Timer gleich funktioniert wie in den anderen Chips, so dass ich die Zeile
#if defined (__AVR_ATmega168__) || defined (__AVR_ATmega48__) || defined (__AVR_ATmega88__) || defined (__AVR_ATmega328P__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__)
dann nur um "|| defined (__AVR_ATmega1288P__)" erweitern muss.
Von den Arduino(1.0.5)-Bibliotheken scheinen nur zwei explizit Chip-Abhängig zu sein:
libraries$ grep -i atmega */*cpp|grep defin
GSM/GSM3SoftSerial.cpp:#if defined(__AVR_ATmega328P__)
GSM/GSM3SoftSerial.cpp:#elif defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1280__)
GSM/GSM3SoftSerial.cpp:#elif defined(__AVR_ATmega32U4__)
Servo/Servo.cpp:#if defined(__AVR_ATmega8__)|| defined(__AVR_ATmega128__)
Servo/Servo.cpp:#if defined(__AVR_ATmega128__)
Servo/Servo.cpp: #if defined(__AVR_ATmega1281__)||defined(__AVR_ATmega2561__)
Servo/Servo.cpp: #if defined(__AVR_ATmega1281__)||defined(__AVR_ATmega2561__)
So hoffe ich, dass i2c und SD funktionieren werden.
-
Die Goldilocks-Firmware hat ganz nützliche Features:
Bootloader Monitor, mit der Möglichkeit, Ports zu "blinken"... :
https://docs.google.com/document/d/1bCBmtleOVoH_DAKDrfVlE3xCJ-MwMu7EKCcdANg7uuk/edit?pli=1#heading=h.w4erm2v0e1mm (https://docs.google.com/document/d/1bCBmtleOVoH_DAKDrfVlE3xCJ-MwMu7EKCcdANg7uuk/edit?pli=1#heading=h.w4erm2v0e1mm)
https://docs.google.com/document/d/1bCBmtleOVoH_DAKDrfVlE3xCJ-MwMu7EKCcdANg7uuk/edit?pli=1 (https://docs.google.com/document/d/1bCBmtleOVoH_DAKDrfVlE3xCJ-MwMu7EKCcdANg7uuk/edit?pli=1)
-
Zum Bootloader-Programmieren braucht man wohl einen "richtigen" ISP oder folgende Lösung
Ich propagiere da gerne meine Alternative zum ArduinoISP: ScratchMonkey http://microtherion.github.io/ScratchMonkey/ (http://microtherion.github.io/ScratchMonkey/), spezifisch getestet mit dem 1284.
der ArduinoAsISP sketch scheint meiner bisherigen Suche nach nicht zu funktionieren.
"My understanding is that chips with larger memories (1280/2560) require the newer STK500V2 protocol for bootloader burning.
Ich glaube das ist ein Missverständnis. Für 2560 trifft das zu, aber weil Flash word-addressiert wird, fällt der 1284 immer noch unter 16 bit Adressen. Aber ScratchMonkey implementiert eh stk500v2.
Ich weiss nicht, welche Bibliotheken dann nicht mehr funktionieren werden/geändert werden müssen.
Da der Sanguino ja einen 644 verwendet, sollte wohl das Meiste laufen (1284 ist komplett kompatibel mit dem 644).
Ich habe ein Projekt, dass die MsTimer2-Library [url]http://www.pjrc.com/teensy/td_libs_MsTimer2.html[/url] ([url]http://www.pjrc.com/teensy/td_libs_MsTimer2.html[/url]) verwendet.
Ich hoffe, dass der Timer gleich funktioniert wie in den anderen Chips
Ich glaube ja.
-
Die ATmega1284P (http://shop.boxtec.ch/advanced_search_result.php?keywords=ATmega1284P) sind nun da und ab sofort lieferbar.
Den Scratchmonkey find ich ganz stark, ich hab mir erlaubt diesen in der Artikelseite zu verlinken.
-
Hallo,
ein kurzes Update und eine Frage.
Herzlichen Dank an microtherion für ScratchMonkey!
Nachdem die Chips diese Woche angekommen sind, habe ich versucht den Bootloader und Sketches zu installieren.
Die installation des Goldilocks (und dann des maniacbug) bootloader mittels Scratchmonkey verlief absolut problemlos.
Allerdings
Ich scheiterte mit dem Goldilocks bootloader; mit diesem konnte ich nicht einmal den blink sketch installieren. (Verbindung über 1) den Arduino USB2Serial Adapter, den ich auch gekauft habe, 2 Arduino Uno, atmega328 entnommen und 1-9(Reset), 2-14(Rx) 3-15(TX) verbunden.
Dann ersetzte ich den 20 MHz Quarz mit einem 16 MHz Quarz und installierte den Maniacbug bootloader von
http://maniacbug.wordpress.com/2011/11/27/arduino-on-atmega1284p-4/ (http://maniacbug.wordpress.com/2011/11/27/arduino-on-atmega1284p-4/)
Mittels des Arduino-Boards konnte ich dann den Blink-Sketch installieren, cf. Oszilloskop-Foto.
Allerdings..... Mit grösseren Sketches scheitere ich. Das Programm, für das ich den Chip erworben habe ist inzwischen 43 kb gross. Die Übertragung scheitert wie folgt:
Binary sketch size: 42,126 bytes (of a 130,048 byte maximum)
/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega1284p -carduino -P/dev/tty.usbmodemfd121 -b115200 -D -Uflash:w:/var/folders/5k/dbjd_fhx7wn48rgw82dxx1jh0000gp/T/build5556548538450637052.tmp/MenuV2.cpp.hex:i
avrdude: Version 5.11, compiled on Sep 2 2011 at 18:52:52
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is "/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf"
User configuration file is "/Users/baettig/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : /dev/tty.usbmodemfd121
Using Programmer : arduino
Overriding Baud Rate : 115200
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
AVR Part : ATMEGA1284P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PA0
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 10 128 0 no 4096 8 0 9000 9000 0xff 0xff
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
flash 65 10 256 0 yes 131072 256 512 4500 4500 0xff 0xff
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
Programmer Type : Arduino
Description : Arduino
avrdude: Send: A [41] . [80] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [03]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [81] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [04]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [82] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [05]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [98] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [03]
avrdude: Recv: . [10]
Hardware Version: 3
Firmware Version: 4.5
avrdude: Send: A [41] . [84] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [03]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [85] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [03]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [86] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [03]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [87] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [03]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [89] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [03]
avrdude: Recv: . [10]
Vtarget : 0.3 V
Varef : 0.3 V
Oscillator : 28.800 kHz
SCK period : 3.3 us
avrdude: Send: A [41] . [81] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [04]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [82] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [05]
avrdude: Recv: . [10]
avrdude: Send: B [42] . [82] . [00] . [00] . [01] . [01] . [01] . [01] . [03] . [ff] . [ff] . [ff] . [ff] . [01] . [00] . [10] . [00] . [00] . [02] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
avrdude: Send: E [45] . [05] . [08] . [d7] . [a0] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
avrdude: Send: P [50] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
avrdude: AVR device initialized and ready to accept instructions
Reading | avrdude: Send: u [75] [20]
avrdude: Recv: . [14] . [1e] . [97] . [05] . [10]
################################################## | 100% 0.00s
avrdude: Device signature = 0x1e9705
avrdude: Send: V [56] . [a0] . [0f] . [fc] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
avrdude: Send: V [56] . [a0] . [0f] . [fd] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
avrdude: Send: V [56] . [a0] . [0f] . [fe] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
avrdude: Send: V [56] . [a0] . [0f] . [ff] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
avrdude: reading input file "/var/folders/5k/dbjd_fhx7wn48rgw82dxx1jh0000gp/T/build5556548538450637052.tmp/MenuV2.cpp.hex"
avrdude: writing flash (42126 bytes):
Writing | avrdude: Send: U [55] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
avrdude: Send: d [64] . [01] . [00] F [46] . [0c] . [94] . [9f] . [01] . [0c] . [94] ) [29] E [45] . [0c] . [94] Z [5a] E [45] . [0c] . [94] . [8b] E [45] . [0c] . [94] . [ca] . [01] . [0c] . [94] . [ca] . [01] . [0c] . [94] . [ca] . [01] . [0c] . [94] . [ca] . [01] . [0c] . [94] . [ca] . [01] . [0c] . [94] . [ca] . [01] . [0c] . [94] . [ca] . [01] . [0c] . [94] . [c9] D [44] . [0c] . [94] . [ca] . [01] . [0c] . [94] . [ca] . [01] . [0c] . [94] . [ca] . [01]
...
...
...
[14] . [88] # [23] i [69] . [f0] . [80] . [e8] . [93] . [e0] . [0e] . [94] . [09] . [09] . [88] # [23] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
avrdude: Send: U [55] . [80] . [0e] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
avrdude: Send: d [64] . [01] . [00] F [46] 9 [39] . [f4] . [8c] . [e6] . [9b] . [e0] j [6a] . [e9] r [72] . [e0] . [0e] . [94] a [61] L [4c] $ [24] . [c2] ~ [7e] . [01] . [08] . [94] . [e1] . [1c] . [f1] . [1c] . [c7] . [01] o [6f] . [ea] r [72] . [e0] . [0e] . [94] n [6e] N [4e] . [8c] . [e6] . [9b] . [e0] ` [60] . [eb] r [72] . [e0] . [0e] . [94] a [61] L [4c] . [83] . [ed] . [96] . [e0] . [0e] . [94] g [67] + [2b] . [83] . [ed] . [96] . [e0] b [62] . [e0] @ [40] . [e0] . [0e] . [94] . [0d] + [2b] . [83] . [ed] . [96] . [e0] ` [60] . [ee] q [71] . [e0] . [0e] . [94] ^ [5e] L [4c] . [83] . [ed] . [96] . [e0] c [63] . [e0] A [41] . [e0] . [0e] . [94] . [0d] + [2b] . [83] . [ed] . [96] . [e0] n [6e] . [e4] r [72] . [e0] . [0e] . [94] ^ [5e] L [4c] . [83] . [ed] . [96] . [e0] ` [60] . [e0] B [42] . [e0] . [0e] . [94] . [0d] + [2b] . [83] . [ed] . [96] . [e0] b [62] . [e0] r [72] . [e0] . [0e] . [94] ^ [5e] L [4c] . [8d] . [e0] a [61] . [e0] . [0e] . [94] C [43] G [47] . [8e] . [01] . [08] _ [5f] . [1f] O [4f] ` [60] . [91] . [89] . [03] p [70] . [91] . [8a] . [03] . [c8] . [01] J [4a] . [e0] . [0e] . [94] . [a1] N [4e] . [c7] . [01] . [b8] . [01] . [0e] . [94] 3 [33] N [4e] . [c8] . [01] . [0e] . [94] . [04] O [4f] . [ce] . [01] M [4d] . [96] o [6f] . [e1] w [77] . [e0] @ [40] . [e8] S [53] . [e0] # [23] . [e1] . [0e] . [94] . [1a] . [16] . [8f] . [8d] . [98] . [a1] . [90] . [93] . [00] . [07] . [80] . [93] . [ff] . [06] . [89] . [a1] . [9a] . [a1] . [ab] . [a1] . [bc] . [a1] . [80] . [93] . [01] . [07] . [90] . [93] . [02] . [07] . [a0] . [93] . [03] . [07] . [b0] . [93] . [04] . [07] . [8d] . [a1] . [9e] . [a1] . [af] . [a1] . [b8] . [a5] . [80] . [93] . [05] . [07] . [90] . [93] . [06] . [07] . [a0] . [93] . [07] . [07] . [b0] . [93] . [08] . [07] . [a9] . [e0] . [b7] . [e0] . [fe] . [01] . [b9] . [96] [20]
avrdude: Recv: b [62]
avrdude: stk500_paged_write(): (a) protocol error, expect=0x14, resp=0x62
avrdude: Send: V [56] @ [40] . [00] . [00] . [0c] [20]
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
Hat jemand eine idee, was da schieflaufen könnte? (Oszillator 28.800 macht mich etwas stutzig...)
Arduino IDE 1.0.5, MacBookPro, MacOSX 10.8.5
Solltet Ihr mehr Details brauchen, liefere ich die gerne.
Vielen Dank für Ideen oder Hinweise.
Blink Sketch: Erfolg:
(https://lh6.googleusercontent.com/-Lm40YZNoHUI/UkWOxNN4v9I/AAAAAAAAHfU/MbKwCNW_Ans/s800/20130927_154810.jpg)
Programmierung via Reset, RX, TX von Arduino Board:
(https://lh5.googleusercontent.com/-HzlSjvvyG-s/UkWP678wkJI/AAAAAAAAHfg/dDmkkVY7no4/s800/20130927_155838.jpg)
P.S. Ich bin nicht sicher, ob der Thread inzwischen noch hierhin gehört...
-
Hallo,
kleine Anmerkung, nachdem ich nun die Verdrahtung, insbesondere die Reset-Schaltung noch einmal genau überprüft habe, konnte ich den Blink sketch mittels des USB2serial Adapters übertragen. Allerdings funktioniert der grosse sketch immer noch nicht.
Es bricht nach einiger Zeit immer noch mit
[04] . [10] . [92] 7 [37] . [04] . [8b] . [e7] . [9a] . [e0] d [64] . [e5] r [72] . [e0] . [0e] . [94] [20]
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
ab.
(Ich bin auch microtherions Hinweisen zur Benützung von Crosspack mit Arduino http://samelimmat.blogspot.ch/2013/07/using-arduino-ide-with-crosspack.html (http://samelimmat.blogspot.ch/2013/07/using-arduino-ide-with-crosspack.html) gefolgt, benütze somit auch die neueste Version von avrdude, es funktioniert weder mit dieser noch mit der Arduino-Standardversion)
-
Vtarget : 0.3 V
Varef : 0.3 V
Oscillator : 28.800 kHz
SCK period : 3.3 us
[…]
avrdude: stk500_paged_write(): (a) protocol error, expect=0x14, resp=0x62
avrdude: Send: V [56] @ [40] . [00] . [00] . [0c] [20]
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
Hat jemand eine idee, was da schieflaufen könnte? (Oszillator 28.800 macht mich etwas stutzig…)
Das ist harmlos. Der bootloader emuliert einen hardware programmer und aus effizienzgründen gibt er dumme Antworten auf Fragen, die avrdude eh nur begrenzt interessieren:
/*
* GET PARAMETER returns a generic 0x03 reply for
* other parameters - enough to keep Avrdude happy
*/
putch(0x03);
Der wahre Grund ist ziemlich faszinierend (ich hätts auch nicht gewusst, aber als selbsternannter Experte in diesem Feld wollte ich mich schlau machen): Der receive Pin der UART0 auf dem 1284P hat einen Fehler, der ihn bei hohen Baudraten lärmempfindlich macht: http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=107115 (http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=107115). Die empfohlene Abhilfe ist ein Lowpass-Filter:
10k series resistor in line and 100pf cap to ground.
-
Hallo microtherion,
Vielen Dank für die Info. Ich habs kurz auf dem Breadboard versucht, aber das wollte noch nicht so recht. Mal schauen, dass ich die Schaltung auf eine Lochrasterplatine bekomme, dann muss ich es auch nicht mehr mit den "Antennen" verkabeln...
Ich werde bei Erfolg/Misserfolg wieder schreiben.
Gruss,
Pio
-
P.S. Ich bin nicht sicher, ob der Thread inzwischen noch hierhin gehört...
Ich hab mir erlaubt, ihn ins entsprechende Board zu verschieben, danke für die Anregung.
-
Hoi zäme,
vielen Dank für Eure Hilfe, der Atmega läuft nun. Ich habe hier die nötigen Schritte und Links zusammengefasst, hoffentlich habe ich nichts vergessen:
http://baettig.blogspot.ch/2013/10/getting-atmega1284p-to-work-with.html (http://baettig.blogspot.ch/2013/10/getting-atmega1284p-to-work-with.html)
-
Vielen Dank für die tolle Anleitung, ich hab mir erlaubt diese auch in den beiden Artikelseiten (http://shop.boxtec.ch/advanced_search_result.php?keywords=1284) für den 1284P zu verlinken.