Hallo Forum, bin für ein Studienprojekt dabei einen PIC mit CAN zu programmieren. Grundlage ist dabei das Board von Modtronix SBC68EC. Ich bin langsam am Verzweifeln weil ich nicht mal die einfachsten Sachen darauf zum Laufen bekomme. Nach verschiedenen Versuchen mit Code-Samples von der Microchip-Homepage habe ich nun folgenden Code übertragen um einfach nur die LED an und aus zu schalten und nicht mal das funktioniert. Welche grundlegenden Fehler mache ich bei der Erstellung des Codes? Die Programmierung der 16F690 hat immer problemlos funktioniert. #include <cpuconf.h> #include <stdio.h> #include <stdlib.h> #include <p18f6680.h> #include <p18cxxx.h> /* * */ void main(void) { TRISB = 0x00; PORTB = 0xFF; return; } meiner bescheidenen Meinung nach müssten diese Zeilen den Port B als Eingang definieren und dann alle Ports auf 1 setzen.
micha schrieb: > Nein Ausgang. ja natürlich, das meinte ich, sonst würde es keinen Sinn machen eine LED anzusteuern :)
Port auf Digital geschaltet ? Sehe ich nirgends. Siehe Datenblatt.
Bin von dem 16F690 ausgegangen. Weil es oben steht. LAT register genommen ? Fuses richtig eingestellt ?
Ok, du hast ein fertiges Board mit einem bestimmten uC Typ drauf. Da solltest du dann passende Beispiele für dieses Board suchen, ansehen und analysieren um daraus zu lernen. Hierbei kann GOOGLE auch dein Freund sein! Frage dort mal nach ... Modtronix "SBC68EC" so landet man sofort bei der Herstellerseite zu diesem Produkt http://www.modtronix.com/products/sbc68ec/websrvr68_v306/page_update_firmware.html und dort bei den Reitern <Files> oder <Examples> , das sieht doch gut aus! Und Infos die nicht von der Herstellerseite kommen findet GOOGLE über ... Modtronix "SBC68EC" -site:www.modtronix.com "ADC" "source code" Modtronix "SBC68EC" -site:www.modtronix.com "ADC" "example" "code" z.B. diese Wetterstation zum Anschluß an deine Platine http://wx-station.googlecode.com/svn/trunk/ http://wx-station.googlecode.com/svn/trunk/schematicWxStation/schematic.tif http://wx-station.googlecode.com/svn/trunk/src/ Gruss
Noch'n Nachtrag, Info auf des deutschen Vertriebs des Boards SBC66EC http://www.digitale-elektronik.de/shopsystem/product_info.php?cPath=&products_id=576&osCsid=372d415b4e83
dass ich nicht zu doof bin diese Schlagworte zu googlen stand für mich außer Frage, es ging mir viel mehr um die Implementierung von CAN und das Verständnis. Die SW-Pakete die von Modtronix und dem deutschen Vertrieb bereitgestellt werden dienen nicht gerade dem Verständnis und lassen sich in der Regel nicht einfach kompilieren und aufspielen. Wir versuchen unser Glück noch immer einen funktionierenden CAN zu implementieren. Inzwischen sind wir allerdings auch soweit dass es hierzu nicht einmal eine Lösung im Modtronix-Forum gibt. Wir verzweifeln langsam an unserer Arbeit und wären sehr dankbar wenn irgendjemand einen qualifizierten Code zur Verfügung stellen könnte.
Michael hab' ich auch schrieb: > dass ich nicht zu doof bin ... Ok. Danke für das Lob zu meinem gutgemeinten Hinweis. Musste dir künftig Rat bei den anderen vielen Beiträgen auf deinen Hilferuf suchen. Gruss
Haste mal das OSCCON Register mit dem Datenblatt gegengecheckt? Was ist mit dem Watchdog Timer (WDT)? Gruß, Frank DelaSada
Herrgott mach doch einfach ein Tutorial. Ein Mikrocontroller dessen Programm endet geht immer wieder in den Reset. Darum: Immer Immer Immer Immer Immer beinhaltet die Main() eine ENDLOSSCHLEIFE und im Normalfall kein Return. E N D L O S S C H L E I F E schreib dir das hinter deine Ohren.
Das "Ding" läuft auch ohne Endlosschleife im Kreis und auch ohne LATB etc... nur erweitert um ein < PORTB = 0x0; > um Aktivität zu sehen. Compiliert mit C18, getestet am Simultor. PORTB tut was er soll! Nicht eingebunden habe ich diese cpuconf.h sondern mit der Defaultconfiguration des Controllers. Entweder ist in der cpuconf.h was faul?? oder gibt es irgendwelche Jumper am Board die falsch gesteckt sind??
Vielen Dank für die Infos. Werde jetzt direkt in die Vollen gehen und die CAN-Funktion direkt in den bestehenden Webserver einbinden. Sollte ich irgendwann in naher Zukunft zu einem Abschluss kommen werde ich den Lösungsweg gerne hier darstellen wenn Interesse besteht :))
Ob wir das jetzt ganz toll finden sollen mit deinem Doppelposting unter anderem Pseudonym? Beitrag "CAN auf PIC18F6680" Dort tueste so, als würdest was mit dem speziellen uC bauen Beitrag "CAN auf PIC18F6680" um dann hier später auf deine eingekaufte Platine zu verlinken. Beitrag "Re: CAN auf PIC18F6680" Nur noch traurig. --> Laßt ihn schmoren! Dank bekommt von dem keiner siehe Beitrag "Re: rudimentäre C-Programmierung PIC 18F6680"
Tja Erich, vielen Dank für die Unterstützung! Es handelt sich nicht um einen Doppelpost, schonmal dran gedacht dass zwei Menschen, zufällig von der gleichen Hochschule an einem gleichen Projekt arbeiten! Nein, verdammt! Dann lasst mich doch einfach schmoren :)) Die Idee ein fertiges Board zu nehmen kam auch hier aus dem Forum, siehe dazu auch meinen ersten Thread, daher posten hier unterschiedliche Menschen mit gleichem Anliegen. Bei uns gilt immer die Devise "Erst fragen, dann schlagen und nicht umgekehrt!
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.