Hi, ich habe ein Problem mit einem vorhandenem Code (nehme an C), welcher in HEX konvertiert werden soll. Vorweg muß ich erwähnen, daß ich von diesen Dingen keine Ahnung habe - aber sonst würde ich ja auch nicht um Hilfe bitten ;-) Zur Sache : nach langer Suche habe ich in Japan einen Bausatz für ein einfaches Nixie-Thermometer gefunden (war nicht einfach soetwas zu finden, da überwiegend nur Uhren angeboten werden). Der Bausatz ist prima aufgebaut (schön kompakt) und das Anfertigen klappte trotz jap. Anleitung auch gut. Ebenso gut war die Kommunikation mit dem Verkäufer. Nur leider stellte sich heraus, daß die Uhr einige Feature besitzt, die mir zu unruhig sind : die Anzeige zählte zwischendurch immer wieder die Ziffern durch : http://niix.ni.funpic.de/Nixie_Movie.mpg (420kb-MPEG) Ich fragte also beim Verkäufer nach, ob er mir den PIC so umprogrammieren könne, daß ich einfach nur eine zweistellige Temp.-Anzeige sehen würde - ohne weitere 'Feature'. Leider erhielt ich darauf keine Antwort. Kürzlich habe ich aber festgestellt, daß der japanische Anbieter nun zus. eine einfache Version des Codes online gestellt hat. Einmal als HEX-Version und sogar den Source-Code (ich nehme an in 'C') Die neue, einfache HEX-Variante habe ich mit der Software WinPIC800 erfolgreich auf den PIC 16F648A mit einem Billig-Programmer gebrannt - und das schaut jetzt so aus : http://niix.ni.funpic.de/Nixie.mpg (320kb-MPEG) Da ich jetzt allerdings ja auch den C-Code besitze, wollte ich dort mal einige Parameter zum Test zu verändern. Denn am liebsten wäre mir eine ganz einfache, zweistellige Temperaturanzeige, die permanent leuchtet (das die Röhren dadurch stärker belastet werden, ist mir bewußt) - ohne irgendwelche 'Schnörkel' und ohne Nachkommastelle. Tja - und ich dachte mir, daß die Umsetzung vom C-Code zu HEX mit einigen Mausklicks zu machen wäre - aber genau daran scheitete ich. Habe mir MPLAB IDE sowie HI-TECH heruntergeladen, in Online-Tutorials gelesen ... und dies und das probiert. Aber so wirklich komme ich zu keinem Ergebnis. Da werden z.B. irgendwelche Fehler angezeigt, die im Code wären. Ich habe daraufhin sämtliche Bemerkungen im C-Code entfernt und auch in den Einstellungen auf UTF-8 umgestellt. Aber es klappt nicht. Der jap. Code : http://niix.ni.funpic.de/nixie_temp_jap.txt und ich habe mit Babelfish die entsprechenden jap. Infos mal übersetzt - die englische Version : http://niix.ni.funpic.de/nixie_temp_eng.txt Daher meine Bitte : falls jmd. Zeit und Lust hat in den eigentlich recht kurzen Code mal einen schnellen Blick zu werfen, ob da ganz offensichtliche Fehler drin sind ? Oder ob ich schlicht die Programme falsch bediene ? Dank und Gruß
> Da werden z.B. irgendwelche Fehler angezeigt, die im > Code wären. Die aber sind das einzig interessante. Poste die ersten paar Fehlermeldungen. Der von Dir "übersetzte" Quelltext enthält einige nichtportable Dinge; den kannst Du nur mit exakt dem richtigen Compiler übersetzen, andere Compiler werden mit Anweisungen wie #fuses HS,NOWDT,NOLVP #use delay(clock = 20000000) #use i2c(MASTER, SCL=PIN_A0 ,SDA=PIN_A1) oder #int_timer0 nicht anfangen können. Bist Du Dir sicher, daß MPLAB der Compiler ist, mit dem der Mensch in Japan sein Programm übersetzt hat?
Setz mal Google auf einige der benutzten nicht-standard-Funktionen an, wie z.b. "set_tris_b". Sieht aus als wäre der Sourcecode für den CCS Compiler geschrieben.
Hei S. wrote: > Nur leider stellte sich heraus, daß die Uhr einige Feature besitzt, die > mir zu unruhig sind Das sind keine Features, sondern Fehler. Entweder Du hast EMV-Probleme oder Verdrahtungsfehler. Es könnte auch sein, daß irgendwelche Portpins nicht angeschlossen sind, die im Programm ausgewertet werden (z.B. Tasten). Ein offener IO-Pin ist undefiniert, der fängt sich irgendwelche Störungen ein. Zumindest ein Pullup (4,7k gegen VCC) sollte ran. Peter
Hi, @Christoph ... besten Dank schonmal für diesen Hinweis - ich werde mal schauen. @Peter was ich meinte ist das Hochzählen. Leider habe ich seinerzeit nicht genau gelesen - denn auf der Website http://nixie-tube.com/shop/4_11.html war die Funktion des Thermometers eigentlich korrekt beschrieben : The 23℃ -> the .8℃ -> it is the feeling, gimmick. (The gimmick, from 0 it counts up to 9 in high speed) Dort auf der Seite wird als Tipp auch ein japanisches Buch angegeben, wo erklärt wird, wie man Anzeigen (Röhren, usw) ansteuert .... was mir aber nicht wirklich hilft ;-) Gruß
Hei S. wrote: > The 23℃ -> the .8℃ -> it is the feeling, gimmick. > (The gimmick, from 0 it counts up to 9 in high speed) Oh Gott! Also wer sowas mit Absicht einbaut, der hat nicht alle Tassen im Schrank (sehr höflich ausgedrückt). Peter
Hi, ich sehe das ja auch so - vielleicht ist der Geschmack, was sowas betrifft, in Japan ja anders ;-) Gruß
Hi, ... habe jetzt nochmal probiert, Christoph's Tipp mit dem CCS ist vielleicht garnicht so falsch. Leider fehlt im device-Verzeichnis der Testversion die entsprechende Datei für den PIC. Neben dieser Fehlermeldung gibt es 'nur' noch drei weitere : Line33 : Unknown keyword in #FUSES "NOLVP" ... hmm, ob das möglicherweise mit der fehlenden device-Datei zusammenhängen kann ? Das evtl. das Programm nicht weiß, das der gewählte PIC diesen Befehl verarbeiten kann ? Line 35 : USE parameter value is out of range Not a number: PIN_A0 ... in Line35 steht #use i2c(MASTER, SCL=PIN_A0 ,SDA=PIN_A1) Line 40 : A #DEVICE required before this line ... Line 40 bis 42 : int a0 = 0; int a1 = 0; int a2 = 0; --------- @rufus >Bist Du Dir sicher, daß MPLAB der Compiler ist, mit dem der Mensch in >Japan sein Programm übersetzt hat? ich weiß leider garnichts darüber. Hatte mehrmals vergeblich den Japaner angemailt und dann ja nur durch Zufall später die *.zip-Datei mit *.hex und *.c Dateien auf der Seite entdeckt. Habe ja auch überhaupt keine Ahnung, was ich da überaupt gerade mache ;-) dachte mir halt nur, ich könne wenigstens mal mit den Parametern im Code etwas herumspielen, um zu schauen ob ich möglicherweise die Pausen zwischen den Anzeigen etwas kürzer gestalten kann. Keine Ahnung ob das besser aussieht - aber halt mal ausprobieren. Könnte ich soetwas programmieren, dann würde ich auch entweder nur eine dauerhafte zweistellige Temp.-Anzeige oder zügiges Umschalten zwischen Anzeige und Nachkommastelle und verzögertes Umschalten auf die Anzeige wählen (... oder von vornherein gleich etwas mit vier Röhren). Aber mangels Wissen und Können muß ich halt das nehmen, was es fertig gibt. Zudem gefielen mir die kompakten, fertigen Platinen und das ich nicht lange herumsuchen mußte (z.B. auch wegen der °C-Röhre): http://niix.ni.funpic.de/nixie_leiter.jpg Schlimmstenfalls nehme ich das auch so wie es jetzt ist - aber eine permanente, zweistellige Anzeige wäre halt schöner ;-) Gruß
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.