PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hexadezimalzahl ausgeben



Picht
22.08.2006, 20:01
Hallo,
ich möchte an der rs232 Schittstelle folgende Hexadezimal-Zahlenpaare
ausgeben:03 50 41 12 es muss hexadezimal und nicht Asci sein.
Wie stelle ich das in Bascom an?

ronny1712
22.08.2006, 20:41
na ganz einfach:





Udr = &H03
Do : Loop Until Ucsra.udre = 1 'warten bis UART wieder frei


und das für jede Zahl. Oder anstatt die Zahl direkt einzugeben eine Variable an diesen Platz und das Programm als Unterprogramm aufrufen.

Gruß
Ronny

Picht
22.08.2006, 21:28
$regfile = "attiny2313.dat" ' specify the used micro
$crystal = 3686400 ' used crystal frequency
$baud = 9600 ' use baud rate
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space
Config Serialout = Buffered , Size = 10
Config Com1 = Dummy , Synchrone = 0 , Parity = Even , Stopbits = 1 , Databits = 8 , Clockpol = 0
'setup to use a serial output buffer
'and reserve 20 bytes for the buffer
'Config Serialout = Buffered , Size = 10
'It is important since UDRE interrupt is used that you enable the interrupts
Enable Interrupts
'Print "Hello world"
'Print "test1"
Do
Wait 10
'notice that using the UDRE interrupt will slown down execution of waiting loops like waitms
' Print "test"
Udr = &H03
Until Ucsra.udre = 1
Loop
End
Danke für die Info,aber da ich ein Anfanger bin,kannst du vielleicht
im Programm andern.Die variante mit dem unterprogramm.
Dank im vorraus

ronny1712
23.08.2006, 15:51
*kopfschüttel
Sorry aber Dein Programm mußt Du Dir schon selber schreiben, die Hausaufgaben mach ich für Dich nicht.
Und nur wenn Du es selbst herausgefunden hast, hast Du es auch verstanden.

Die entsprechenden Hinweise sind in der Hilfe von Bascom beschrieben.

Gruß
Ronny

Picht
23.08.2006, 16:09
Nun die Hilfe kenne ich auswendig,
aber der Wert wird nur in Asci-Einstellung Hexadezimal angezeigt.
In meinen Fall muss der Wert "durchgereicht"werden.