Archiv verlassen und diese Seite im Standarddesign anzeigen : Stop bit bei UART
Import-Script
04.01.2002, 23:36
Hallo <BR>ich möchte über die UART meines 89c51 einen Servo Controller IC anschließen, der bis zu 5 servos verwalten kann. (ft693 <A HREF="http://www.ferrettronics.com/docs/FT639/ft639.pdf" TARGET="_top">http://www.ferrettronics.com/docs/FT639/ft639.pdf</A> ) <BR>Naja auf jeden Fall hab' ich jetzt mithilfe des Codegenerators von erikbuchmann.de ein Programm geschrieben, dass ein paar Zahlen (die man halt so zum initialisieren braucht) an diesen sauteuren IC schickt (33,-). Das klappt natürlich mal wieder nicht. Das Programm ist eigentlich recht simpel, aber ich hab' das stopbit "vergessen", dass die im Datenblatt unbedingt wollen. Ich schätze es liegt daran. Wie kann ich das berücksichtigen und was ist das eigentlich?? <BR> <BR>mfg
Import-Script
05.01.2002, 19:57
hi! Habe eine C-Sourcecode für den 80C515C,mit dem wird ein serielles Terminal angesteuert. <BR> <BR>Zum UART: <BR>Es wird der SerialMode 1 im SCON gewählt: <BR> start bit...8 data bits...sop bit <BR>Die BaudRate wird mittels Timer1 erzeugt <BR> <BR>void SIO_Init ( void ) <BR>{ <BR> SCON &= 0x00 ; <BR> SCON |= 0x54 ; // 0101 0100 <BR> <BR> ADCON &= 0x00 ; // clear BD, Baudrate mit Timer1 generieren <BR> <BR> PCON &= 0x00 ; <BR> PCON |= 0x80 ; // Set SMOD <BR> <BR> RI = 0 ; <BR> TI = 0 ; <BR> <BR>} <BR> <BR> <BR>void InterruptInit ( void ) <BR>{ <BR> EAL = 1 ; <BR>} <BR> <BR> <BR>/************************************************** ************ <BR>* Sendet Byte auf SIO <BR>*/ <BR>char SIO_Put( unsigned char c) // Byte das gesendet wird <BR>{ <BR> TI = 0 ; // Clear Transmitter Interrupt <BR> <BR> SBUF = c ; // Write character into Serial Buffer <BR> <BR> while ( !TI ) ; // Loop while transmitting <BR> <BR> return ( 0 ) ; <BR> <BR>} <BR> <BR> <BR>/************************************************** ******************** <BR>* Gibt empfangenes Zeichen zurueck <BR>*/ <BR>unsigned char // 0x00: falls kein Zeichen vorhanden, sonst Zeichen <BR> <BR>SIO_Get( void ) <BR>{ <BR> unsigned char tmp ; <BR> <BR> if ( RI ) // wenn Zeichen empfangen wurde <BR> { <BR> tmp = SBUF ; <BR> RI = 0 ; <BR> } <BR> else <BR> tmp = 0x00 ; <BR> <BR> return ( tmp ) ; <BR>} <BR> <BR>mike
Import-Script
06.01.2002, 18:24
Vielen Dank mike für das Listening <BR>ich hab's mir mal angeschaut - blick aber überhaupt nicht durch, da ich gerade erst C lerne. <BR>Auf Erikbuchmann.de gibt es auch eine Software UART, bei der sich ein Stopbit setzten lässt. Das funktioniert aber auch nicht - warum weiß ich nicht. Hardwaremaßig hab' ich den IC ausprobiert und über eine Software, die auf dem PC läuft ausprobiert - funktioniert einwandfrei. <BR> <BR>Softwareschrieben ist ein dumme Sache - es ist so endlos mann weiß nie wann man endlich fertig ist..... <BR> <BR>Viele Grüße <BR>Christian
Powered by vBulletin® Version 4.1.7 Copyright ©2012 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.