Hallo zusammen, MC ist für mich ziemliches Neuland ich habe hier den oben beschriebenen Controller mit Softune folgendes Problem: ich brauche eine Wartezeit von 5us.. wie kann ich das in C schaffen?! delay-funktion? nop-funktion? sleep? wenn euch Infos fehlen einfach meckern ;) MfG Sven Geisenhof
Hallo Sven, ich würde sagen solche Wartezeiten mit nops hinzutricksen ist evil ;-). So eine MCU bringt doch viele schöne Peripherals mit, mit denen man sowas machen kann. Die eigentlich erste Frage wäre wofür Du die 5 us brauchst. Willst Du einfach einen Pin alle 5 us toggeln. Dann kannst Du das sicherlich mittels Output Compare Unit erschlagen. Soll die Applikation aber wirklich 5 us warten hilft dir der Reload Timer. Implementiere Dir eine Funktion sleep(), die als Parameter die Zeit in einer sinnvollen Einheit hat. In sleep berechnest Du dann damit den Wert, der den CLKP Taktzyklen/gegebener Wartezeit entspricht (TMRLR). Konfigurierst TMCSR entsprechend (TMCSR:CSL so das die Zeit passt, TMCSR:RELD=0, TMCSR:INTE=0, TMCSR:CNTE=1, TMCSR:TRG=1). Dann wartest Du in einer while-Schleife bis TMCSR:UF=1 ist. Hinterher noch ein bisschen aufräumen - fertig. Wenn Du in der Zwischenzeit die MCU nicht warten lassen willst kannst Du auch noch den Interrupt des Reload Timers aktivieren und dann in der Interrupt Service Routine das ganze behandeln und die MCU macht in den us bis zum Interrupt was sinnvolles ;-). Viele Grüße spk
ja hallöchen erstmal :) vielen dank für die tips.. ich "versuche" das mal umzusetzen die wartezeiten benötige ich zum schalten 2er pins :) bzw zur kommunikation mit einem sensor ;) beste grüße sven geisenhof
Hallo Sven, wie kommst Du denn zu dem 'alten' MB91360? Wie auch immer, Beispiele findest Du hier: http://mcu.emea.fujitsu.com/mcu_product/detail/MB91F362GBPVSR.htm#software Dennoch empfehle ich dir für neue Projekte auf die MB91460 Serie (32bit) oder 16FX/MB96xxx Serie (16bit) zu wechseln. Die bieten mehr Performance, bessere Energibillanz und bessere Ressourcen: http://mcu.emea.fujitsu.com Gruß, Toemi
so hallo nochmal, also das board war halt vorhanden und deshalb wird es genutzt :D bin jetzt auch des problems herr geworden :) im "serieneinsatz" wird dann ein aktueller fujitsu eingesetzt aber zum einarbeiten in die materie MC hat der "alte" gereicht ;) PS: die Umsetzung ist hier bei mikrocontroller.net schon realisiert für mein Problem und zwar "EVIL" mit nops ;) grüße
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.