Hallo Rolf!
... mir raucht der Kopf! ...
// muß ich doch vor einem Kommentar setzen.
Aber was ist das denn..//#include <lcd_162_mini-no-wait.c> auch ein Kommentar?
Rauchen ist beim Kopf zulässig, beim IC bedeutet es meist nix Gutes.
Doppel-Schrägstrich beginnt einen Kommentar bis zum Zeilenende - auch wenns im Prinzip Code ist.
/* (Schrägstrich Stern) beginnt einen Kommentar - der kann mehrzeilig sein und wird mit */ beendet.
A) Bitte schreibe das nächste Mal Deinen Code ins Codefenster. Das bekommst Du im Editor mit dem Button [#] - wenn Du den nicht siehst, dann drücke bitte auf "Erweiterte Ansicht". Im Editor sieht das dann so aus: [.CODE][./CODE] . Im Editor steht aber kein Leerzeichen nach der ersten Klammer. Und das Fenster ist dann erstmal leer. Nun die Schreibweise mit "nix" zwischen [ und C bzw. [ und /:
Dieses Beispiel ist tricky, funktioniert "normalerweise" nicht *gggg*.
B) Schau mal nach meinem Posting vom 09.02.2015, 14:34, bei "main Modul".
Bei Dir könnte das etwa so aussehen:
Code:
// Jetzt fängt der Code an mit Einschluss von Bibliotheken und
// Definitionen
#include <avr/io.h>
#include <util/delay.h> // Hier ist eine "Wartefunktion" enthalten
#define Takt 1000000 // Systemtakt 1 MHz intern
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void main (void) // Hauptfunktion, was ist das?
// Das ist das eigentliche Hauptprogramm,
// die Unterprogramme müssen vorher schon
// geschrieben sein oder includierte werden
// siehe dazu z.B. die o.g. Bibliotheken io.h etc
// - - - - - - - - - - - - - - - -
// Nun werden mal die Ports konfiguriert
// Ports+Pins als Ein- (0) od. Ausgänge (1) konfigurieren, Pull Ups (1) aktivieren
// - - - - - - - - - - - - - - - -
DDRA = 0b00000000; // Alle Pins auf Eingang
PORTA = 0b11100101; // Pinn 0, 2 sowie fünf bis sieben mit Pullup
//
DDRB = 0b11111111; // Alle Pins auf Ausgang
PORTB = 0b00001111; // Pinn 0-3 high => LEDs an, 4-7 auf low => LEDs aus
//
DDRC = 0b00111111; // Pinn 0-5 auf Ausgang, 2 Eingänge
PORTC = 0b11000000; // Ausgänge 0-4 auf low, 5 auf high, PullUp für 6+7
//
DDRD = 0b00000000; // Alles Eingänge
PORTD = 0b00001111; // Pullups einschalten (Schalter schaltet gegen GND)
//
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Wir bewundern mal die LEDs - an oder aus
_delay_ms( 1000); // ... ne ganze Sekunde
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
for ( uint8_t i=0; i< 100; i++) // LEDs 100 mal blinken lassen
{ // Schleifenanfang
// - - - - - - - - - - - -
PORTB |= (1<<PB6}; // LED auf PB6 einschalten
PORTB &= ~(1<<PB1); // LED auf PB1 ausschalten
_delay_ms( 500); // Nun warten wir ne halbe Sekunde (LED bewundern)
PORTB &= ~(1<<PB6}; // LED auf PB6 ausschalten
PORTB |= (1<<PB1); // LED auf PB1 einschalten
_delay_ms( 500); // Nun warten wir ne halbe Sekunde (LED bewundern)
} // Ende von for ( uint8_t i=0; i< 100; i++)
// - - - - - - - - - - - -
return 0; // Ende des Programms
/* und zum Schluss noch ein mehrzeiliger Kommentar:
Lorem ipsum dolor sit amet, consectetur adipisicing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation
ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse ...
*/
Wenn ich ausreichend gefrühstückt habe müsstesollte das funktionieren. Ohne Tastendruck und nur hundert Blinkies.
Lesezeichen