Hallo, ich habe vor kurzem das Programmieren mit dem PIC 16F877A angefangen, und bin noch ziemlich unerfahren, was das Programmieren angeht. Ich hoffe in diesem Forum Hilfe zu finden. Ich habe folgendes Problem und zwar: Im angehängten CCS C Code lass ich die Variable "a" einfach nur um den Wert 1 hochzählen und gebe es dann am Hyper Terminal aus. Jedoch ist es egal ob ich den Datentyp "unsigned int" oder "signed int" oder "int" verwende, die Variable "a" zählt immer nur bis 127 und spring dann auf -128, und dann beginnt das Spiel von vorne! Ich programmiere im MPLAB mit dem CCS C Compiler und benutz zum Brennen das PICKIT2. Bitte um Antwort :)
Du musst printf sagen, wie die Bits interpretiert werden sollen. Für unsigned also:
1 | printf("%u\r",a); |
CCS definiert "int" mit 8 Bits. Das widerspricht zwar dem C Standard, ist aber schön effizient. In printf nimmt "%d" an, dass es ein "int" ist, gibt also mit Vorzeichen aus.
YEAH hat geklappt. Danke für die schnelle Antwort :)
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.