Hallo, ich programmiere seit einiger Zeit mit einem selbstgebauten board Atmegas. Da ich mit meinem Steckbrett stark an die Grenzen gestoßen bin, möchte ich mir das "myAVR Board light" kaufen, da ja bauteile wie LEDs usw. schon dabei sind. ( http://shop.myavr.de/index.php?sp=article.sp.php&artID=200017 ) meint ihr, das sich das lohnt?(ich programmiere nicht alzu oft) danke schon mal
Ja, das ist nicht schlecht. Für den Preis kann man jedenfalls nicht viel falsch machen. Kauf dir noch eine passende Stiftleite dazu, dass Du einen ISP anschließen kannst, ansonsten geht nur Programmierung über Bootloader. Aber auch damit stößt man bald an seine Grenzen......Immerhin lässt es sich gut weiterverwenden und ggf. auch dauerhaft in Projekte einbauen.
>meint ihr, das sich das lohnt?(ich programmiere nicht alzu oft)
Bootloader ist drin, also wird kein ISP benötigt.
USB Anschluss vorhanden, für 15 Euro völlig ok.
Daumen hoch würde ich sagen.
Hab's auch. Geht ganz gut. Bin prinzipiell zufrieden. Allerdings kann ich unter Linux (avrdude) keine Fuses brennen. Die gehen nur unter Windows. Muss dazu eben einmalig an einem Windows-Rechner die programmieren. Dann arbeite ich an meinem Rechner weiter.
Im Preisbereich 15...20€ gibt es auch Arduino Boards mit Mega328 µC. Ist im Vgl. zu MyAvr eine echte Alternative! Zumal Du es mit der Arduino-IDE aber auch ganz "normal" in C,ASM,BASCOM etc. programmieren kannst.
visitor schrieb: > Im Preisbereich 15...20€ gibt es auch Arduino Boards mit Mega328 µC. Ist > im Vgl. zu MyAvr eine echte Alternative! Zumal Du es mit der Arduino-IDE > aber auch ganz "normal" in C,ASM,BASCOM etc. programmieren kannst. Also ich finde den Uno nicht für weniger als 23 Euro. Und niemand hindert den TE, die Arduino Library auf dem myAVR Light zu benutzen. Ich finde es auch gut, das die Ports alle zusammen auf einem Verbinder rauskommen. Das ist bei Uno/2009 doch recht lästig, denn mit einem Huckepackboard kommt man weder an den Resettaster , noch an den ISP Verbinder ran und muss immer wieder das Sandwichboard abstecken. Also auch Daumen hoch für den light.
der seitenstecker ist nicht schlecht, aber leider haben alle punkte der platine zu kleine löcher, das da nur ein dünner draht reinpasst und man löten muß. könnte man hier eine Phostenlleiste einlöten, so das man auch schnell mal eine verbindung stecken kann, würde ich es empfehlen. ich habe dort eine reihe phostenbuchsten mit aufgelötet, aber das ist etwas heikles löten, so das man mal schnell eine Leitung ŝtecken kann. wenn du keinen isp brenner hast, kauf die einen zweiten atmega8 mit und laß dir einen bootloader draufmachen. auf jeden fall den uc sockeln, ich weis jetzt nicht ob der sockel dabei war. bei ebay gibt es aber auch einige entwicklungsboards die eine menge mitbringen, mega16, 8+siebensegmentanzeige , tastaturmatrix, rtc, eeprom, Nullkraftsockel schnittstelle für lcd. piezo, v24, led reihe, isp jtec usw, die kosten auch um ~30 euro, und man hat gleich sehr viel dabei mit dem man spielen kann. (die ausstattung schwank, genau gucken, stepmotorschnittstelle, heißt z.B.nicht das einer dabei ist ;) wenn es bei einem mitgliefert wird, git das nicht für das andere) Unterm strich vielleicht die günstigere lösung. aber drauf achten das es wirklich für deinen zielprozessor geeignet ist. sprich oben drüber steht ATmega16 aber er kann dann evt nur x51 prozessoren, meine frau wollte mich mal damit überraschen, und so eins erwischt. liegt jetzt hier rum, weil ich mich mit dem nicht beschäftigen möchte. mal zwei auf die schnelle gefundenen: http://www.ebay.de/itm/Development-Board-kit-for-Atmega16-ATMEL-AVR-mega16-/190607617534?pt=LH_DefaultDomain_0&hash=item2c61196dfe http://www.ebay.de/itm/Development-designed-for-ATMEL-AVR-MEGA16-Test-board-/320698038072?pt=LH_DefaultDomain_0&hash=item4aab17b738
urs schrieb: > Allerdings kann ich unter Linux (avrdude) keine Fuses brennen. Die gehen > nur unter Windows. Wie bitte ??? Da mußt Du irgend etwas falsch machen. Wo ist das Problem? Warum meinst Du, das ginge nicht? Gruß Andreas
Ja - weil unter Linux die Fuses nicht programmiert werden. Ich hab das avr plugin bei Eclipse. Das setzt mit ja die 3 Bytes als Parameter beim Aufruf von Avrdude. Gibt aber immer eine Fehlermeldung in der Art: (soweit ich mich erinnere): Programm erfolgreich: Verify bei den Fuse Bytes: soll: 0xab: ist 0x00 Programm läuft bei einem neuen AVR, aber eben immer mit dem internen Oszillator. USB Prog wird als AVR911 (oder so ähnlich) angesprochen.
Kannst Du checken, was Eclipse da zu avrdude schickt? Die richtigen Parameter sollten sein (vor -B spezifisch, wird bei Dir anders sein): avrdude -p t2313 -c usbasp -B 10 -U lfuse:w:0xa4:m -U hfuse:w:0x99:m läuft bei mir sowohl unter Debian als auch Ubuntu einwandfrei. Versuche es mal unter der Konsole. Auslesen dann mit: avrdude -p t2313 -c usbasp -B 10 -U lfuse:r:-:i avrdude -p t2313 -c usbasp -B 10 -U hfuse:r:-:i (Der Parameter -B 10 setzt den Takt etwas herunter.) Gruß Andreas
ja - werd ich machen. Bei mir läuft er wie gesagt im AVR911 Modus. Zitat: >ausgeliefert wird der Programmer mit der Firmware STK500 V2 >als Alternative kann man sich auch die Firmware AVR911 910 109 drauf spielen Für Windows wird ein kleines Tool (exe) mitgeliefert, um die Fuses zu setzen. Damit geht es. Deshalb sage ich, es geht bei mir unter Windows. Ich sage nicht: bei mir geht avrdude mit diesen Parametern und meinem usblight unter windows (das hab ich noch nie versucht)
Das ist die normale Antwort:
1 | Launching /usr/bin/avrdude -pm168 -cavr911 -P/dev/ttyUSB0 -u -Uflash:w:frqgen.hex:a -Ulfuse:w:0x4f:m -Uhfuse:w:0xdf:m -Uefuse:w:0xf9:m |
2 | Output: |
3 | |
4 | Connecting to programmer: . |
5 | Found programmer: Id = "AVR ISP"; type = S |
6 | Software Version = 3.0; Hardware Version = 3.0 |
7 | Programmer supports auto addr increment. |
8 | Programmer supports buffered memory access with buffersize=128 bytes. |
9 | |
10 | Programmer supports the following devices: |
11 | Device code: 0x01 |
12 | ... bla bla bla ... |
13 | Device code: 0x7f |
14 | |
15 | avrdude: AVR device initialized and ready to accept instructions |
16 | |
17 | Reading | ################################################## | 100% 0.02s |
18 | |
19 | avrdude: Device signature = 0x1e9406 |
20 | avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed |
21 | To disable this feature, specify the -D option. |
22 | avrdude: erasing chip |
23 | avrdude: reading input file "frqgen.hex" |
24 | avrdude: input file frqgen.hex auto detected as Intel Hex |
25 | avrdude: writing flash (570 bytes): |
26 | |
27 | Writing | ################################################## | 100% 0.61s |
28 | |
29 | avrdude: 570 bytes of flash written |
30 | avrdude: verifying flash memory against frqgen.hex: |
31 | avrdude: load data flash data from input file frqgen.hex: |
32 | avrdude: input file frqgen.hex auto detected as Intel Hex |
33 | avrdude: input file frqgen.hex contains 570 bytes |
34 | avrdude: reading on-chip flash data: |
35 | |
36 | Reading | ################################################## | 100% 0.49s |
37 | |
38 | avrdude: verifying ... |
39 | avrdude: 570 bytes of flash verified |
40 | avrdude: reading input file "0x4f" |
41 | avrdude: writing lfuse (1 bytes): |
42 | |
43 | Writing | ***failed; |
44 | ################################################## | 100% 0.00s
|
45 | |
46 | avrdude: 1 bytes of lfuse written |
47 | avrdude: verifying lfuse memory against 0x4f: |
48 | avrdude: load data lfuse data from input file 0x4f: |
49 | avrdude: input file 0x4f contains 1 bytes |
50 | avrdude: reading on-chip lfuse data: |
51 | |
52 | Reading | ################################################## | 100% 0.00s |
53 | |
54 | avrdude: verifying ... |
55 | avrdude: verification error, first mismatch at byte 0x0000 |
56 | 0x4f != 0x62 |
57 | avrdude: verification error; content mismatch |
58 | |
59 | avrdude done. Thank you. |
60 | |
61 | avrdude finished |
-B 10 ändert nichts. das ist das Auslesen der l-fuse:
1 | /usr/bin/avrdude -pm168 -cavr911 -P/dev/ttyUSB0 -B 10 -U lfuse:r:-:i |
2 | |
3 | Connecting to programmer: . |
4 | Found programmer: Id = "AVR ISP"; type = S |
5 | Software Version = 3.0; Hardware Version = 3.0 |
6 | Programmer supports auto addr increment. |
7 | Programmer supports buffered memory access with buffersize=128 bytes. |
8 | |
9 | Programmer supports the following devices: |
10 | Device code: 0x01 |
11 | ... bla bla bla ... |
12 | Device code: 0x7f |
13 | |
14 | avrdude: AVR device initialized and ready to accept instructions |
15 | |
16 | Reading | ################################################## | 100% 0.02s |
17 | |
18 | avrdude: Device signature = 0x1e9406 |
19 | avrdude: reading lfuse memory: |
20 | |
21 | Reading | ################################################## | 100% 0.00s |
22 | |
23 | avrdude: writing output file "<stdout>" |
24 | :01000000629D |
25 | :00000001FF |
26 | |
27 | avrdude: safemode: Fuses OK |
28 | |
29 | avrdude done. Thank you. |
uns das das h-Byte:
1 | :01000000DF20 |
2 | :00000001FF |
urs schrieb: > -B 10 ändert nichts. das ist richtig. Bei mir habe ich allerdings manchmal Programmierfehler. Deshalb setze ich den Takt beim Programmieren etwas herunter. Ist einfach etwas sicherer. Bin halt konservativ. ;-) Gruß Andreas
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.