Hallo; Ich habe da mal ein paar Fragen. Ich kann es mir nicht erklären und Google wohl auch nicht. Ich habe bis her meine Atmega328P über das Arduino Programm geschrieben. Habe so auch Stand Alone Modelle gebaut und auch so Attiny85 programmiert. Quasi Arduino as ISP. Dann habe ich mir irgend wann so einen Adapter gebaut, womit ich quasi den Chip Atmega328P ohne Board programmieren kann. Hier ein Link wie es aussieht: https://frag-duino.de/index.php/maker-faq/24-standalone-arduino-auf-einem-breadboard-aufbauen Dieser beschreibt den Arduino ja über die serielle Schnittstelle RX/ TX. Wo liegt darin jetzt der unterschied zur ICSP Schnittstelle 6-polig? ICSP/I²C das gleiche? Mit der Arduino IDE kann ich ihn programmieren. Mit Basecom funktioniert das nicht mehr. Das Programm besteht quasi auf die ICSP Schnittstelle. Der Treiber ist doch ein CP2102. In Basecom nehme ich als Programmer den STK500(native) ohne Erfolg. Auch der Ardunio Programmer läuft nicht. Entweder erkennt es den Chip gar nicht oder falsch oder es sind irgend welche Ports geschlossen die auf sein sollten... Kann mir da generell mal jemand auf die Sprünge helfen? Ich hoffe es versteht jemand, wo mein Problem liegt. MFG Benjamin -- Überschrift korrigiert, damit man verstehen kann, worum es Dir geht: Bascom, den Basic-Compiler -rufus
:
Bearbeitet durch User
Hallo Benjamin, bitte Entschuldige meine Anfrage. Weist Du die Grundlagen der einzelnen Proger- Soft- Hardware ? Jeden µC muss vorab (meist mit Hartware) gesagt werden „nun werde ich dich programmieren“. Im AVR- Bereich ist es so das Reset-Pin auf 0 zu setzen. Möchte dich aber nicht weiter verwirren. Gruß
Wenn Du einen neuen, unbenutzten Atmega 328P gekauft hast, so mußt Du diesen erst einmal mit einem sog. Bootlader "bespielen". Erst dieser ermöglicht es später, ihn über RXD/TXD seriell zu programmieren. Dazu benötigst Du aber ein Programmiergerät, was die ISP-"Signale" MOSI MISO SCK RESET und GND bereitstellt. Es soll sich auch ein Arduino mit dem entsprechendem Programm drauf (Sketch) dafür eignen. Näheres weiß ich darüber aber nicht, da ich mich mit Arduino-Software nicht befasst habe.
Benjamin G. schrieb: > Dieser beschreibt den Arduino ja über die serielle Schnittstelle RX/ TX. Nicht nur das. Auf dem Arduino läuft währenddessen ein Programm, dass die Daten von der seriellen Schnittstelle in Empfang nimmt und in den Flash-Speicher befördert - der Bootloader. Das Beschreiben des Programmspeichers über den 6-polige ISP-Anschluss erfordert kein Programm auf dem uC.
Benjamin G. schrieb: > Dieser beschreibt den Arduino ja über die serielle Schnittstelle RX/ TX. unter Benutzung des Arduino-Bootloaders, der sich um die serielle Kommunikation kümmert. Benjamin G. schrieb: > Wo liegt darin jetzt der unterschied zur ICSP Schnittstelle 6-polig? Die arbeitet per SPI und braucht keinen Bootloader, auch keinen rs232-Chip neben dem AVR. Benjamin G. schrieb: > ICSP/I²C das gleiche? nein. I2C alias TWI ist wieder was anderes.
Als ICSP wird die Schnittstelle meist beim PIC bezeichnet, beim AVR ist die Bezeichnung ISP üblicher. Für die ISP-Schnittstelle brauchst Du ein Programmiergerät, das hat den Vorteil, daß es auch funktioniert, wenn der Chip ganz neu ist. Für die Programmierung über die serielle Schnittstelle, z.B. mit dem CP2102 Schnittstellenwandler, muß auf den AVR vorher ein Programm gebrannt werden, der sogenannte Bootloader. Benjamin G. schrieb: > ICSP/I²C das gleiche? Nein, ISP ist fast das gleiche wie SPI, I2C oder TWI, wie Atmel selber es nennt, ist eine ganz andere Schnittstelle. Benjamin G. schrieb: > In Basecom nehme ich als Programmer den STK500(native) ohne Erfolg. Wenn Du Bascom sagst, Du benutzt einen STK500-Programmierer, dann mußt Du auch einen angeschlossen haben, klingt aber nicht danach. Fred R. schrieb: > meist mit Hartware Autsch
Horst schrieb: > Wenn Du Bascom sagst, Du benutzt einen STK500-Programmierer, dann mußt > Du auch einen angeschlossen haben, klingt aber nicht danach. > > Fred R. schrieb: >> meist mit Hartware > > Autsch Autsch, Autsch das ist wirklich Hart. Hardware. Wenn Du noch eine Parallelschnittstelle am PC hast ist STK200/300 das optimale. Nutze ich heut noch sehr oft. Die Vorteile möchte ich aber hier nicht diskutieren. Benötigst kein zusätzlichen Programmierer. Kommst auch elegant an die Fuseeinstellungen. Auch wenn der Chip ganz neu ist. Gruß
Benjamin G. schrieb: > Mit der Arduino IDE kann ich ihn programmieren. > Mit Basecom funktioniert das nicht mehr. Das Programm besteht quasi auf > die ICSP Schnittstelle. Der Treiber ist doch ein CP2102. > In Basecom nehme ich als Programmer den STK500(native) ohne Erfolg. Also wenn du ihn über die Arduino-IDE programmieren kannst, dann sollte es auch unter BASCOM gehen. Bei BASCOM gibt es den Programmertyp ARDUINO STK500V2. Damit flashe ich, wenn ich nicht meinen STK200 nutze, die Arduinos ohne grössere Probleme. Musst nur mal probieren ob die Baudrate 57600 oder 115200 sein muss. Beim MEGA2560 auf jeden Fall 115200. Die Ardu-IDE nutzt zum programmieren das AVRDUDE-Programm. Wenn du die erweiterte Ansicht aktivierst siehst du den Aufruf und die Parameter wie Schnittstelle und Baudrate. Einen nagelneuen MEGA musst du, wie bereits beschrieben, erst mit dem Arduino-Bootloader versehen was auch über die Arduino-IDE geht. Da wird dann der ISP-Port benutzt der auf dem SPI aufsetzt. Entweder brauchst du einen Arduino oder es gibt in der Bucht billige USB MK2-Programmer für ein paar Euro die das erledigen. Oder halt den guten alten STK200 Selbstbau via Parallelport. Das hab ich auch schon mit der der IDE gemacht. Muss man nur von Hand nachtragen.
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.