Wer kann mir eine HEX-Datei erstellen. Vorhanden sind: MLAB ICD 4 Compiler ist vorhanden mit Adapter. Programm MPLAB X IDE v. 5.45 ist vorhanden C-Datei ist vorhanden Include-Dateien sind vorhanden. HEX-Datei soll hieraus erstellt werden. (über TeamViewer, mit Zugriff auf Compiler incl. Adapter. Verbunden mit der Geräte-Hardware) Wer kann das so zeitnah realisieren?
Welches Quellformat? Für reine Binärdateiengibt es: https://www.keil.com/download/docs/113.asp Welches Hex-Format? Intel? Motorola?
Programm ist in C geschrieben. Hex wird mit dem C-Compiler in Microchip-Hex (müßte Intel sein) compiliert
Das sind die Fehlermeldungen!! CLEAN SUCCESSFUL (total time: 26ms) make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf make[1]: Entering directory 'C:/Users/ReinhardBritten/Desktop/brs501 1.3/brs501 Release 1.3.X' make -f nbproject/Makefile-default.mk dist/default/production/brs501_Release_1.3.X.production.hex make[2]: Entering directory 'C:/Users/ReinhardBritten/Desktop/brs501 1.3/brs501 Release 1.3.X' "C:\Program Files (x86)\Microchip\xc8\v1.41\bin\xc8.exe" --pass1 --chip=16F877A -Q -G --double=24 --float=24 --opt=+asm,+asmfile,-speed,+space,-debug,-local --addrqual=ignore --mode=free -P -N255 --warn=-3 --asmlist -DXPRJ_default=default --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-osccal,-resetbits,-dow nload,-stackcall,+clib --output=-mcof,+elf:multilocs --stack=compiled:auto:auto "--errformat=%f:%l: error: (%n) %s" "--warnformat=%f:%l: warning: (%n) %s" "--msgformat=%f:%l: advisory: (%n) %s" -obuild/default/production/display_74595.p1 display_74595.c "C:\Program Files (x86)\Microchip\xc8\v1.41\bin\xc8.exe" --pass1 --chip=16F877A -Q -G --double=24 --float=24 --opt=+asm,+asmfile,-speed,+space,-debug,-local --addrqual=ignore --mode=free -P -N255 --warn=-3 --asmlist -DXPRJ_default=default --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-osccal,-resetbits,-dow nload,-stackcall,+clib --output=-mcof,+elf:multilocs --stack=compiled:auto:auto "--errformat=%f:%l: error: (%n) %s" "--warnformat=%f:%l: warning: (%n) %s" "--msgformat=%f:%l: advisory: (%n) %s" -o"build/default/production/brs501 Release.p1" "brs501 Release.c" "C:\Program Files (x86)\Microchip\xc8\v1.41\bin\xc8.exe" --pass1 --chip=16F877A -Q -G --double=24 --float=24 --opt=+asm,+asmfile,-speed,+space,-debug,-local --addrqual=ignore --mode=free -P -N255 --warn=-3 --asmlist -DXPRJ_default=default --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-osccal,-resetbits,-dow nload,-stackcall,+clib --output=-mcof,+elf:multilocs --stack=compiled:auto:auto "--errformat=%f:%l: error: (%n) %s" "--warnformat=%f:%l: warning: (%n) %s" "--msgformat=%f:%l: advisory: (%n) %s" -obuild/default/production/dac_74595.p1 dac_74595.c display_74595.c:20: warning: (107) illegal # directive "IFNDEF" display_74595.c:20: warning: (163) unexpected text in control line ignored display_74595.c:27: warning: (107) illegal # directive "ENDIF" display_74595.c:30: error: (194) ")" expected display_74595.c:32: warning: (349) non-prototyped function declaration for "write_expanded_outputs" display_74595.c:32: error: (313) function body expected display_74595.c:34: warning: (349) non-prototyped function declaration for "output_low" display_74595.c:34: error: (313) function body expected display_74595.c:35: error: (313) function body expected display_74595.c:37: error: (285) no identifier in declaration display_74595.c:37: warning: (374) missing basic type; int assumed display_74595.c:37: error: (314) ";" expected display_74595.c:37: warning: (374) missing basic type; int assumed display_74595.c:37: error: (314) ";" expected display_74595.c:37: error: (285) no identifier in declaration display_74595.c:37: warning: (374) missing basic type; int assumed display_74595.c:37: error: (314) ";" expected display_74595.c:42: error: (285) no identifier in declaration display_74595.c:42: warning: (374) missing basic type; int assumed display_74595.c:42: error: (314) ";" expected dac_74595.c:20: warning: (107) illegal # directive "IFNDEF" dac_74595.c:20: warning: (163) unexpected text in control line ignored dac_74595.c:27: warning: (107) illegal # directive "ENDIF" dac_74595.c:30: error: (194) ")" expected dac_74595.c:32: warning: (349) non-prototyped function declaration for "write_expanded_outputs1" dac_74595.c:32: error: (313) function body expected dac_74595.c:34: warning: (349) non-prototyped function declaration for "output_low" dac_74595.c:34: error: (313) function body expected dac_74595.c:35: error: (313) function body expected dac_74595.c:37: error: (285) no identifier in declaration dac_74595.c:37: warning: (374) missing basic type; int assumed dac_74595.c:37: error: (314) ";" expected dac_74595.c:37: warning: (374) missing basic type; int assumed dac_74595.c:37: error: (314) ";" expected dac_74595.c:37: error: (285) no identifier in declaration dac_74595.c:37: warning: (374) missing basic type; int assumed dac_74595.c:37: error: (314) ";" expected dac_74595.c:42: error: (285) no identifier in declaration dac_74595.c:42: warning: (374) missing basic type; int assumed dac_74595.c:42: error: (314) ";" expected make[2]: *** [build/default/production/dac_74595.p1] Error 1 make[2]: *** Waiting for unfinished jobs.... (908) exit status = 1 nbproject/Makefile-default.mk:131: recipe for target 'build/default/production/dac_74595.p1' failed make[2]: *** [build/default/production/display_74595.p1] Error 1 make[1]: *** [.build-conf] Error 2 make: *** [.build-impl] Error 2 (908) exit status = 1 nbproject/Makefile-default.mk:139: recipe for target 'build/default/production/display_74595.p1' failed make[2]: Leaving directory 'C:/Users/ReinhardBritten/Desktop/brs501 1.3/brs501 Release 1.3.X' nbproject/Makefile-default.mk:91: recipe for target '.build-conf' failed make[1]: Leaving directory 'C:/Users/ReinhardBritten/Desktop/brs501 1.3/brs501 Release 1.3.X' nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed BUILD FAILED (exit value 2, total time: 12s)
Reinhard B. schrieb: > display_74595.c:20: warning: (107) illegal # directive "IFNDEF" > display_74595.c:20: warning: (163) unexpected text in control line > ignored > display_74595.c:27: warning: (107) illegal # directive "ENDIF" > display_74595.c:30: error: (194) ")" expected > .... Wie wärs damit, erstmal die Fehler zu beseitigen - die Warnings zähle ich dazu. Edit: Also dac_74595.c zeigen
Moin, - Reinhard B. schrieb: > Das sind die Fehlermeldungen!! > --output=-mcof,+elf:multilocs --stack=compiled:auto:auto > "--errformat=%f:%l: error: (%n) %s" "--warnformat=%f:%l: warning: (%n) > %s" "--msgformat=%f:%l: advisory: (%n) %s" > -obuild/default/production/dac_74595.p1 dac_74595.c > display_74595.c:20: warning: (107) illegal # directive "IFNDEF" > display_74595.c:20: warning: (163) unexpected text in control line > ignored > display_74595.c:27: warning: (107) illegal # directive "ENDIF" Ich wuerde in Zeile 107 in die Datei dac_74595.c gucken was drin steht. Der Rest wird vermutlich Folgefehler sein. Oh we are so doomed. Th.
Reinhard B. schrieb: > Das sind die Fehler, was muß geändert werden? N. M. schrieb: > Groß/Kleinschreibung von IFNDEF und ENDIF?
Wie muß ich wo und was verändern? Groß/Kleinschreibung von IFNDEF und ENDIF? Benötige Hilfe
Es muss heißen:
1 | #ifndef ... |
2 | ... |
3 | #endif |
Also: Die beiden Schlüsselwörter müssen KLEIN geschrieben werden. In C ist Groß-/Kleinschreibung ohne Ausnahme relevant. Hättest Du die Zeilen hier als Text reinkopiert und nicht als Bild gepostet, hätte ich den Code direkt anpassen und hier wieder veröffentlichen können. Den Inhalt eines Bildes abtippen ist mir zuviel Arbeit.
Danke Frank, diese Fehler sind beseitigt. Was gilt es jetzt weiter zu tun? Hier nochmals die restlichen Hinweise zu dac_74595
Reinhard B. schrieb: > Was gilt es jetzt weiter zu > tun? Die weiteren Errors und Warnings beseitigen? Als nächstes den hier: dac_74595.c:30: error: (194) ")" expected Sieht ja fast so aus, als ob dac_74595.c und display_74595.c den selben Inhalt haben: gleiche Fehler in gleicher Zeile.
Das ist die komplette dac-Datei. Kann man die Fehler erkennen und was wäre zu tun? #ifndef EXP_OUT_ENABLE1 #define EXP_OUT_ENABLE1 PIN_E2 #define EXP_OUT_CLOCK1 PIN_E1 #define EXP_OUT_DO1 PIN_E0 #define NUMBER_OF_74595x 1 #endif void write_expanded_outputs1(BYTE* eox) { BYTE ix; output_low(EXP_OUT_CLOCK1); output_low(EXP_OUT_ENABLE1); for(ix=1;ix<=NUMBER_OF_74595x*8;++ix) { // Clock out bits from the eo array if((*(eox+(NUMBER_OF_74595x-1))&0x80)==0) output_low(EXP_OUT_DO1); else output_high(EXP_OUT_DO1); shift_left(eox,NUMBER_OF_74595x,0); output_high(EXP_OUT_CLOCK1); output_low(EXP_OUT_CLOCK1); } output_high(EXP_OUT_ENABLE1); output_low(EXP_OUT_ENABLE1); }
Es sieht so aus als ob die Fehler beider Dateien gleich sind. Hier auch die display-Datei: #ifndef EXP_OUT_ENABLE #define EXP_OUT_ENABLE PIN_A2 #define EXP_OUT_CLOCK PIN_A1 #define EXP_OUT_DO PIN_A0 #define NUMBER_OF_74595 4 #endif void write_expanded_outputs(BYTE* eo) { BYTE i; output_low(EXP_OUT_CLOCK); output_low(EXP_OUT_ENABLE); for(i=1;i<=NUMBER_OF_74595*8;++i) { // Clock out bits from the eo array if((*(eo+(NUMBER_OF_74595-1))&0x80)==0) output_low(EXP_OUT_DO); else output_high(EXP_OUT_DO); shift_left(eo,NUMBER_OF_74595,0); output_high(EXP_OUT_CLOCK); output_low(EXP_OUT_CLOCK); } output_high(EXP_OUT_ENABLE); output_low(EXP_OUT_ENABLE); }
Reinhard B. schrieb: > Das ist die komplette dac-Datei Nein, das ist nicht die komplette Datei. Weiter oben sagte der Compiler, dass das falsch geschriebene #ifdef in Zeile 20 auftaucht. Bei Deinem Listing steht das (korrekte) #ifdef in der ersten Zeile. Es ist ja absolut richtig nach Hilfe zu fragen. Aber dann unvollständigen Code posten??? Häng die Dateien doch einfach mal komplett als Dateianhang an Deinen Post. Dann kann Dir (vermutlich) auch geholfen werden. /regards
Da fehlen doch irgendwelche Header include. Zum einen meckert der Compiler das er keine Prototypen für die Funktionen findet. Zum anderen Frage ich mich wo die PIN defines her kommen sollen.
Es ist richtig, es fehlen noch die header-Datei und die eine c-Datei, die ich als Datei angehängt habe. Zuerst einmal herzlichen Dank für Eure Hilfe.
Reinhard B. schrieb: > Das ist die komplette dac und display-Datei Passt schon eher und erklärt das Problem. Die C-Sourcen sind für den CCS Compiler. Du benutzt aber den Microchip XC8. Der kennt zumindest den Typ BOOL nicht (zumindest meine etwas ältere Version). Wir kommen am schnellsten weiter, wenn Du auch die Headerdatei 16f877a.h mal postest. Die gehört vermutlich auch zum CCS (beim xc8 heisst die pic16f877a.h) /regards
Mach mal in die dac_74595.c noch ein
1 | #include <16F877A.h> |
gleich nach dem Header-Kommentar rein.
Stop! Sekunde.
1 | //------------------------------------------------------------------
|
2 | //File:brs501.c
|
3 | //Medec Systems GmbH
|
4 | //Description: neu magnetic project
|
5 | //
|
6 | //
|
7 | //Dipl. -Ing. Stefan Stoev
|
8 | //Start: 11.03.2014
|
9 | //Release_1.0: 27.05.2014 without sleep
|
10 | //Release_1.1: 06.06.2014 with sleep modus after 10 Minute
|
11 | //Release_1.2: 01.02.2015
|
12 | //Release_1.3: 20.01.2016 Laufzeit Programm 29 angepasst
|
13 | //------------------------------------------------------------------
|
Das ist Code von einer Privatfirma. Nur mal aus Neugier: Wieso darfst Du den haben? Und wieso darfst Du ihn posten? /regards
N. M. schrieb: > Mach mal in die dac_74595.c noch ein >
1 | > #include <16F877A.h> |
2 | >
|
> gleich nach dem Header-Kommentar rein.
Vergesse den Post von mir. Wird nichts bringen. Ich hab übersehen dass
das unterschiedliche Hersteller sind.
Du wirst irgendwie noch die Datentypen und die Pins bekannt machen
müssen.
Also richtige Header includieren und die PIN defines auf gültige Werte.
Ich bin der Eigentümer des Programmes. Es wurde aber Änderungen von einem weiteren Programmierer vorgenommen und seither habe ich Probleme.
Reinhard B. schrieb: > Ich bin der Eigentümer des Programmes. Mhh, sorry. Kann ich nicht wirklich kaufen. Die obige Datei ist von der Meditec. Und deren Eigentümer heisst doch Frank Lowas und nicht Reinhard B, oder? Sry, aber ich bin da raus. SW Diebstahl ist nicht mein Spielplatz
Ich bin der Eigentümer, Medec ist schon lange insolvent und ich habe vor der Insolvenz die Programmierung machen lassen. Und genau durch diese Insolvenz ist der Programmierer ausgestiegen. Vielleicht hilft es Dir wenn ich Die eine eidesstattliche Erklärung abgebe, dass das Programm mein Eigentum ist. Nicht umsonst suche ich Hilfe im Netz.
Andreas H. schrieb: > Sry, aber ich bin da raus. SW Diebstahl ist nicht mein Spielplatz Ciao.... Reinhard B. schrieb: > Wer kann mir eine HEX-Datei erstellen. Unabhaengig von irgendwelchen Codefehlern und Kompatibilitaetsproblemen beachte bei der Compilierung ob du dies mit C-90 oder C-99 durchfuehrst. Ich falle jedesmal nach einer Neuinstallation darauf rein:Standardmaessig wird C-99 verwendet,meine aelteren Programme habe ich aber mit C-90 geschrieben.Die Fehlermeldungen bei der falschen Wahl von C-90 oder C99 sind "verheerend"
Reinhard B. schrieb: > Medec ist schon lange insolvent und ich habe vor > der Insolvenz die Programmierung machen lassen. Das stimmt. Insolvenzverfahren am08.05.2018 eröffnet. Ok. Aber dann hast Du da mehr Probleme ;) Den CCS Compiler hast Du da nicht auch erhalten? Ansonsten müsste man den Quellcode auf den XC8 umstellen. Und in der brs501.c sind diverse Timingsachen, die anscheined relativ präzise sein sollten. Ist das ein Medizinprodukt? /regards
Danke für die Rückmeldung. Es ist ein Medizin-Produkt. Einen CCS Compiler habe ich nicht erhalten. Der ehemalige Programmierer hat mir den MPLAB ICD 4 Compiler empfohlen, der würde funktionieren. War wohl mit Absicht falsch. Ich habe noch eine weitere Vorgängerversion mit einer bestehenden HEX und diese kann mit diesem Compiler auf den PIC16F877A Prozessor aufgespielt werden.
Reinhard B. schrieb: > der Prozessor ist: PIC16F877A und der verwendete Compiler: MPlAB ICD 4 Du hast noch mehr Probleme als ich dachte ;) Der Processor ist klar. Aber der ICD 4 ist der in-circuit debugger: https://www.microchip.com/DevelopmentTools/ProductDetails/DV164045 Der Compiler den Du gerade benutzt ist einer aus dieser Serie: https://www.microchip.com/en-us/development-tools-tools-and-software/mplab-xc-compilers Der Originalcode wurde mit einem aus dieser Familie geschrieben: https://www.ccsinfo.com/content.php?page=compilers (darum hat da auch das #IFNDEF geklappt. Eine echte CCS "Macke", die mich vor Jahren mal 2 Wochen gekostet hat) Die Frage ist jetzt also, ob Du den Originalcompiler hast (sollte zur Konkursmasse gehört haben) oder ob der Code umgebaut und nochmal neu getestet werden muss. /regards
RB21 schrieb: > Welche ccs Compiler Lizenz wird benötigt? Es gibt verschiedene Versionen Hab eben mal nachgesehen. Selbstdie kleinste Version unterstützt Deinen Prozessor: https://www.ccsinfo.com/product_info.php?products_id=PCB_full Das ist die Command-line Version für $50. Ohne Entwicklungsumgebung, kann aber anscheinend in die Microchip IDEs (MPLAB X) eingebunden werden. Ausserdem gibt es eine (für Deinen Prozessor ausreichende) Version mit IDE für $350: https://www.ccsinfo.com/product_info.php?products_id=PCW_full Ich vermute, die $50 reicht völlig aus. > Ich habe noch eine weitere Vorgängerversion mit > einer bestehenden HEX und diese kann mit diesem Compiler auf den > PIC16F877A Prozessor aufgespielt werden. Da hat Dein Programmierer auch recht gehabt. Die bestehende HEX kannst Du mit der MicroChip SW (MPLAB X) aufspielen. Es wäre dann aber die "alte" Version, von der Du eine HEX-Datei hast. /regards
Hallo Andreas, ich habe die Version für 50 $ gekauft, hat leider nicht funktioniert. Mit der jetzigen Version funktioniert es. Es gibt noch Fehler, die ich als Anlage angehängt habe, vielleicht kann man mit weiterhelfen. Danke im Voraus
https://www.brimed.de/brimed-institut-stellt-sich-vor/ Kauft/Lizensiert das Gerät wirklich jemand für 400€/Monat? Puhh … das ist ja echte Goldgräber-Stimmung!
Wer kennt sich MPLAB X und ccs c Compiler aus? Die Fehler müssten mit dem Compiler in Verbindung stehen. Diese Fehlermeldung tritt immer auf: ${MKDIR} ${OBJECTDIR}/_ext/201875814
Reinhard B. schrieb: > Hallo Andreas, ich habe die Version für 50 $ gekauft, hat leider nicht > funktioniert. Mit der jetzigen Version funktioniert es. Hallo Reinhard Verstehe ich das richtig. Die BRS500 kannst Du kompilieren, die BRS501 nicht? In Deinem Screenshot sehe ich das der Compiler nicht weiss, welche Device er benutzen soll. Hast Du den compiler in MPLAB X eingebunden, oder übersetzt Du das Ganze per Hand? Das Bild das Du weiter oben (17.05.2021 17:35) gepostet hattest war ja aus MPLAB X. Da gibt es aber das Problem, das MPLAB X anscheinend alle drei C-Quellen als Source hat. Also versucht MPLAB X auch alle drei Dateien einzeln zu übersetzen. Und das muss (!) hier schiefgehen (Don't Panik - kriegen wir hin ;) Bevor wir da anfangen: Hast Du eine komplette (!!!) Kopie des gesamten Projekts irgendwo? Nur falls wir da was zernageln? Danach (aber wirklich erst danach) löscht Du in MPLAB X unter "Source Files" (siehe das Bild vom 17.05.2021 17:35) die beiden Dateien display_74595.c und dac_74595.c. Falls MPLAB X fragt, ob es die Dateien auch im Filesystem löschen soll, dann sagst Du NEIN. Jetzt sollte nur noch die Datei brs501.c unter "Source Files" stehen. Wenn das so ist, dann übersetze das Programm noch mal und poste das Ergebnis. /regards
Hallo Andreas, Danke für die ausführliche Erklärung. Selbstverständlich habe ich alle Dateien kopiert und wir können alles versuchen eine Lösung zu finden. Wir können uns es auch über TeamViewer gerne gemeinsam anschauen und würde den Vorgang zeigen. Siehst Du hierin eine Möglichkeit, dann kannst Du alles genau ansehen. Viele Grüße
RB21 schrieb: > Danke für die ausführliche Erklärung. Selbstverständlich habe ich alle > Dateien kopiert und wir können alles versuchen eine Lösung zu finden. > Wir können uns es auch über TeamViewer gerne gemeinsam anschauen und > würde den Vorgang zeigen. Siehst Du hierin eine Möglichkeit, dann kannst > Du alles genau ansehen. Hallo Reinhard Wenn Du die von mir vorgeschlagene Änderung gemacht hast, dann sollte es eigentlich schon erledigt sein. Ich vermisse da das Logfile um das ich Dich gebeten hatte. /regards
Danke für die Rückmeldung. Ich habe die beiden Dateien dac_74595.c und display_74595. c weggelassen und dann kam keine Error-Meldung. Dateien habe ich als Anlage angehängt. Was müsste ich jetzt tun? Mit dem Logfile bin ich überfordert, was genau benötigst Du? Nochmals vielen Dank.
Ich habe die HEX aufgespielt und funktioniert einwandfrei. Kann es sein, dass ich die beiden Include-Dateien dac_74595.c und display_74595.c nicht als C-Datei mit einbinden muß? So steht es in der main-Datei brs501 Release 20.01.2016 (Als Datei angehängt)
Reinhard B. schrieb: > Ich habe die HEX aufgespielt und funktioniert einwandfrei. Kann es sein, > dass ich die beiden Include-Dateien dac_74595.c und display_74595.c > nicht als C-Datei mit einbinden muß? So steht es in der main-Datei > brs501 Release 20.01.2016 (Als Datei angehängt) Hallo Reinhard Ja, genau darum habe ich Dich die Dateien ja auch bei den Source files entfernen lassen. Das war aber nur um zu sehen, ob da noch andere Fehler auftreten, z.B. fehlende Funktionen aus der CCS Library. So wie das aktuell implementiert ist ist das aber allerunterste Schublade. Es sind keine include Dateien, sondern C-Quellcode. Den bindet man aber nicht über #include ein sondern übersetzt ihn separat. Ansonsten bekommt man später massive Probleme. Obwohl es jetzt läuft solltest Du den Code unbedingt in eine "saubere" Version bringen, damit man beim nächsten Mal noch mehr Probleme kriegt. /regards
Hallo Andreas, wie gesagt, das Aufspielen auf den Prozessor hat tadellos funktioniert und die Funktion der Geräte ist auch bestens. Was sollte ich tun um eine "saubere Version" zu haben? Was ist noch mit den 2 C-Quellcodes zu machen? Wie wichtig sind diese noch zusätzlich? Beste Grüße
Reinhard B. schrieb: > Was sollte ich tun um eine > "saubere Version" zu haben? Was ist noch mit den 2 C-Quellcodes zu > machen? Wie wichtig sind diese noch zusätzlich? Du solltest zuerst die beiden #include-Zeilen in rs501_Release_20.01.2016.c, Zeile 17 & 18, auskommentieren und die beiden Dateien wieder als Sourcen in das MPLAB X Projekt einfügen. Dann bekommst Du wieder den ursprünglichen Fehler, dass der Compiler nicht weiss, welches Device er nehmen soll. Das kannst Du aber verhindern, indem Du in die beiden Dateien dac_74595.c und display_74595.c, direkt nach dem Header (also Zeile 19?) ein "#include <16F877A.h>" (natürlich ohne Anführungszeichen) reinschreibst. So wie in der brs501_Release_20.01.2016.c, Zeile 16. Dann sollte das Projekt auch wieder kompilierbar sein. Wenn es klappt, dann kannst Du in der rs501_Release_20.01.2016.c die Zeile 17 & 18 endgültig löschen. Damit verhinderst Du zumindest, dass der nächste Programmierer beim lesen des Codes Weinkrämpfe bekommt. Ansonsten gibt es diverses Verbesserungspotential. Ich habe jetzt nicht explizit darauf geachtet aber Fehlerbehandlung ist mir z.B. nirgends aufgefallen. Weiterhin solltest Du abklären, inwieweit Du Deine Änderung bei der MPG-Prüfstelle abklären musst. Ich bin seit rund 20 Jahren aus dem Medizingerätebereich raus, kann Dir also leider nicht sagen was da noch an Änderungen etc. inzwischen aufgelaufen ist. In anderen Bereichen muss man aber immer eine Rezertifizierung machen, wenn sich Software geändert hat. /regards
Ich habe die beiden Dateien aus Zeilen 17 & 18 in das MPLAB eingefügt. Dann habe ich in dac_74595.c und display_74595.c je #include <16F877A.h> eingefügt in Zeile 19. Beim Kompilieren sind die Fehler wieder aufgetaucht. Auch hat das löschen der Zeilen 17 & 18 in brs501 Release_20.01.2016 nichts gebracht.
Reinhard B. schrieb: > Ich habe die beiden Dateien aus Zeilen 17 & 18 in das MPLAB > eingefügt. > Dann habe ich in dac_74595.c und display_74595.c je #include <16F877A.h> > eingefügt in Zeile 19. Beim Kompilieren sind die Fehler wieder > aufgetaucht. Auch hat das löschen der Zeilen 17 & 18 in brs501 > Release_20.01.2016 nichts gebracht. Schick mal bitte Screenshots /regards
Reinhard B. schrieb: > Guten Morgen Andreas, > > anbei div. Screeshots. Hallo Reinhard Danke für die Screenshots. Der Fehler wird anscheinend durch die .h getriggert (nicht durch die .c Files) Anscheinend hat diese Version des CCS compilers die unsinnige Problematik, das man nur ein Source File in der IDE haben darf. Das scheint ein viel diskutiertes Problem zu sein. Siehe z.B. http://www.ccsinfo.com/forum/viewtopic.php?t=46750 Ich bin mir relativ sicher, dass man das auch mit einem einfachen Makefile in den Griff kriegen würde. Ein Compiler der wirklich nur ein einzelnes File im Projekt haben kann wäre ja weitgehend sinnlos. Aber da müsste ich dann etwas tiefer einsteigen und einiges ausprobieren. Ohne Compiler relativ sinnlos. Wenn Du keine weiteren Änderungen planst dann würde ich vorschlagen, dass Du die letzte, laufende BSR501 Variante, vom 20.05.2021 11:16, weiter benutzt. Da scheinen Display & Tasten ja zu funktionieren. Die 2te Chain, die das Magnetfeldtiming macht hast Du vermutlich noch nicht überprüft. /regards
Andreas H. schrieb: > Wenn Du keine weiteren Änderungen planst dann würde ich vorschlagen, Und ich würde vorschlagen, dass Du Dir die ganze Mühe auch bezahlen lässt. Wie weiter oben zu lesen ist, ist das ja klar ein (teures) kommerzielles Produkt (auch noch MPG).
Stephan schrieb: > Und ich würde vorschlagen, dass Du Dir die ganze Mühe auch bezahlen > lässt. Welche Mühe? Bis jetzt hat das alles zusammen nur ein paar Minuten gekostet. Nichts was ich in anderen Threads nicht auch gelegentlich mache. Wenn da wirklich "echter" Support nötig wäre, dann könnte der TO sicher auch jemanden dafür engagieren. SOO schwierig ist die Anwendung ja nun wirklich nicht. /regards
Hallo Andreas, zuerst einmal vielen herzlichen Dank für Deine Hilfe. Ich bin riesig froh einen so angenehmen und kompetenten Menschen gefunden zu haben, der mir weiter helfen konnte. Was die 2te Chain, die das Magnetfeldtiming macht, soll das die Start und Stop-Steuerung sein? Was ist damit gemeint? Herzliche Grüße Reinhard Britten
Reinhard B. schrieb: > Ich bin riesig > froh einen so angenehmen und kompetenten Menschen gefunden zu haben Danke. Man merkt, Du kennst mich nicht ;) > Was die 2te Chain, die das Magnetfeldtiming macht, soll das die Start > und Stop-Steuerung sein? Was ist damit gemeint? Ich hatte beim Überfliegen des Codes den Eindruck, dass es neben der Display/Tasten-Steuerung auch noch eine 2te '595 Kette gibt die das Magnetfeld ein und ausschaltet. Kann sein das ich mich da irre. Wie gesagt, hab den Code nur kurz überflogen, weil wir ja eigentlich Deinen Compilerfehler gesucht hatten. Insgesamt war aber gemeint, dass Du ja irgendwie überprüfen musst, dass das **komplette** Gerät mit der neuen Softwareversion funktioniert. Also nicht nur den Teil den Du direkt sehen kannst. /regards
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.