Hallo Zusammen.. Ich habe eine Frage bezüglich meines µC's, dem PIC 16F767. Ich bin dabei eine RGB Lampe zu machen was bisher auch ganz gut klappt :) Nun bin ich aber bei einer Frage hängen geblieben, die ich selbst nicht beantworten kann und daher frage ich einfach euch: Ich habe gelesen, dieser PIC keinen eigenen EEPROM haben soll. Leider weiss ich nicht genau, was das bedeutet ich hab irgendwo gelesen, dass man deshalb keine Variabeln von aussen verändern kann. Ich würde aber gerne mit einem Inkrementgeber eine Variable (Geschwindigkeit des Auto-Durchlaufes) rauf- bzw. runterzählen. Ist das ohne externen EEPROM möglich oder nicht? Vielen Dank an jenige, die sich die Mühe machen mir zu helfen. MFG Dave
Was machst Du nur ohne Datenblatt, da steht drin, ob er ein EEPROM drin hat oder nicht (er hat keins). Was Dich nicht hindert, ein externes EEPROM anzuschliessen. Rauf und runter zählen tut man aber normalerweise im RAM.
Also ne, es war keine Frage ob er einen hat oder nicht, war nur unglücklich formuliert :) D.h. mit dem Takt, den ich aus dem Inkrementgeber erhalte, könnte ich eine gewöhnliche int Variable rauf und runterzählen?
Ah ja und was mich hindert ein externes EEPROM anzuschliessen ist schlicht mein Wissen.. ich müsste mich zuerst einlesen und ich musste mich bis jetzt fast NUR einlesen, deshalb wäre ich froh, wenn ich jetzt erstmal was von meinem vielen Lesen habe :)
Ein EEPROM braucht man, wenn man Werte länger speichern will, auch wenn der µC ausgeschaltet ist (also z.B. Kalibrierdaten etc). Variable zählt man im RAM. In ASM sieht das z.B. so aus
1 | incfsz adr_h, f |
erhöhe adr_h um eins und speichere den Wert wieder in adr_h
Ach so, dann stellt das fehlende EEPROM für mich kein Problem dar. Vielen Dank!
Eine Frage hätte ich dann doch noch zum PIC16F767.. Ist es korrekt, dass der Interne Ozillator NICHT mehr als 500kHz schafft? Oder muss man etwas spezielles beachten, wenn man es schneller will? Sobald das OSCCON Register auf mehr als 500kHz INTERC eingestellt habe, zieht der µC etwas 600mA und tut gar nix (schalte natürlich immer sofort aus..) Weiss jemand woran das liegen könnte? Die Schaltung ist (mit sehr grosser Wahrscheinlichkeit) korrekt, von mehreren Leuten in Forum überprüft.
steht alles im Datenblatt, man müsste es nur lesen ...
1 | bank1 ; Macro, um Bank 1 einzustellen (über RP1 und RP0) |
2 | movlw B'01100010' ; 4 MHz intern |
3 | ; movlw B'01110010' ; 8 MHz intern |
4 | movwf OSCCON |
ausserdem wäre die Lektüre von www.sprut.de sinnvoll, da kann man viel über PICs lernen
usuru schrieb: > ausserdem wäre die Lektüre von www.sprut.de sinnvoll, da kann man viel > über PICs lernen Ihr habt beide meine Frage nicht verstanden, also sind die Vorwürfe etwas ungerechtfertigt. Es ist mir durchaus bewusst, dass man den IC bis 8MHz einstellen KÖNNTE, nur leider funktioniert das nicht. Deshalb die Frage, ob man sonst noch was beachten muss. MFG Dave
Zudem ist mir aufgefallen, dass es nicht möglich ist int-Werte abzuspeichern, die grösser sind als 127.. grosse Verwirrung.
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.