Ratgeber: Labor-Tagebuch
Das Labor-Tagebuch April 2010
Irgendwann wurde mir das zu aufwendig, immer den Tiny25 aus der Fassung nehmen, auf die Programmierplatine, dann wieder zurück für den nächsten Versuch usw. Also ISP: Der Controller muss auf der Platine programmiert werden können. Und wenn die Platine keinen ISP-Anschluss hat? Dann löte ich einfach ein passendes Kabel an das IC.
von Burkhard Kainka
12.4.10: In System Programming
Für die Ansteuerung eines Radio-ICs SI4735 habe ich zuerst einen Tiny13 verwendet, als dann der Speicherplatz nicht mehr reichte einen Tiny25.
Auch diesen kann man auf der Platine des Lernpakets Mikrocontroller programmieren, allerdings nur mit LPmikroISP.exe, und man darf auf keinen Fall die Fuses damit programmieren, denn die Einstellungen passen nur für den Tiny13 und schicken den Tiny25 ins Nirvana.
Irgendwann wurde mir das zu aufwendig, immer den Tiny25 aus der Fassung nehmen, auf die Programmierplatine, dann wieder zurück für den nächsten Versuch usw.
Also ISP: Der Controller muss auf der Platine programmiert werden können.
Und wenn die Platine keinen ISP-Anschluss hat? Dann löte ich einfach ein passendes Kabel an das IC.
Achtung, man muss den Controller zum Löten aus dem Sockel nehmen, sonst lötet man ihn unweigerlich im Sockel fest.
Ganzen Artikel lesen...
Die passende Ergänzung zu diesem Artikel:
 | Lernpaket Mikrocontroller Produktart: Lernpaket ISBN 978-3-7723-4899-0 Versandkostenfrei* direkt beim Verlag bestellen
49,95 € 
|
12.4.10: ISP-Adapter von Andre Bryx
Da ich auch öfters vor ähnlichen Problemen stehe, habe ich auf sehr praktische Mittel zurückgegriffen, da mir die Methode "Kabel fest anlöten" nicht wirklich gefällt.
Hier habe ich Ihnen als Foto festgehalten was ich dafür verwende: Links: SOIC8 Adapter für SMD Tinis, Mitte: selbstgebauter 28-Pin Adapter für alle entsprechenden AVRs, Rechts: 8-Pin Adapter für "normaler" Tinys.
Die 3M-Adapter lassen sich - wenn man die Platine nicht zu sehr verbaut - auch bei eingelöteten Bausteinen verwenden.
Sehr praktisch, wenn man bestehende Fremdschaltungen umprogrammieren oder EE-Proms auslesen will.
20.2.10 Fehlersuche in Bascom
Das kennt man, ein Programmfehler versteckt sich hartnäckig und ist einfach nicht zu finden.
In Bascom-Programmen versuche ich dann immer Zwischenzustände anzusehen. Ist in den einzelnen Variablen drin, was draufsteht? Kürzlich wieder so ein Fall: Ein Array Kalbyte(64) wird beim Start gefüllt und nach allem was ich sehe nie wieder geändert sondern nur noch gelesen.
Ich packe das Wort Kalbyte in die Suchfunktion und gehe den ganzen Quelltext durch. Nichts! Es wird nie wieder explizit verändert.
Dim Kal(8) As Word
Dim Nul(8) As Byte
Dim Kalbyte(64) As Byte
Und dann ein Idee: Was ist denn mit den Variablen davor? Aha, es sind auch Arrays.
Mal angenommen, irgendwas wird falsch berechnet und die Arrays davor werden mit zu großen Indizes benutzt, also z.B. Nul(16) beschreiben, obwohl es nur bis Nul(8) gibt.
Dann würden Teile von Kalbyte eben doch verändert.
Mit dieser Erkenntnis noch mal ganz scharf hingeschaut: Tatsächlich, ein Rechenfehler genau in diesem Bereich.
Bascom kann beim Kompilieren keinen Fehler entdecken, richtig rechnen muss man eben selber.
Die passende Ergänzung zu diesem Artikel:
 | Lernpaket Mikrocontroller - Technik mit Bascom Produktart: Lernpaket ISBN 978-3-7723-4605-7 Versandkostenfrei* direkt beim Verlag bestellen
79,95 € 
|

Lernen Sie die ganze Vielfalt vom Franzis Buch- und Softwareverlag kennen