Alle Ports,DDR-Register in Dezimal und Binärdarstellung Kategorie: Programmierung Basic (von Ernst H. - 9.11.2010 20:44) | ||
| ||
'Alle Ports,DDR-Register in Dezimal und Binärdarstellung ' für die Abfrage ob Ein oder Ausgang, Pull Up, und Portstatus ' Ernst H. 9-11-2010 ' ' fertiges Programm - einfach starten! Dim Laufvar As ULong Dim Auffrischung As ULong Dim Regi As Byte Sub main() Do While (1) Laufzeitvariable () If Laufvar > Auffrischung Then Msg_DDR_Register() Msg_Portbins() ' Pull Up geschalten oder nicht Msg_Ports() Msg_WriteChar(13) 'CR Zeichen Auffrischung = Laufvar + 200 '200 * 10ms = 2sec End If End While End Sub Sub Laufzeitvariable () 'Laufzeitvariable für Timer und Warteschleifen ohne "Wait" Laufvar = Laufvar + Timer_TickCount( ) End Sub Sub Msg_DDR_Register() Dim Regi As Byte Regi = DirAcc_Read(0x3A) Msg_WriteText("DDRA=") Msg_WriteInt(Regi) Msg_WriteChar(32 ) Msg_WriteByteBit(Regi ) Regi = DirAcc_Read(0x37) Msg_WriteText(" B=") Msg_WriteInt(Regi) Msg_WriteChar(32 ) Msg_WriteByteBit(Regi ) Regi = DirAcc_Read(0x34) Msg_WriteText(" C=") Msg_WriteInt(Regi) Msg_WriteChar(32 ) Msg_WriteByteBit(Regi ) Regi = DirAcc_Read(0x31) Msg_WriteText(" D=") Msg_WriteInt(Regi) Msg_WriteChar(32 ) Msg_WriteByteBit(Regi ) Regi = DirAcc_Read(0x22 ) Msg_WriteText(" E=") Msg_WriteInt(Regi) Msg_WriteChar(32 ) Msg_WriteByteBit(Regi ) Regi = DirAcc_Read(0x61) Msg_WriteText(" F=") Msg_WriteInt(Regi) Msg_WriteChar(32 ) Msg_WriteByteBit(Regi ) Regi = DirAcc_Read(0x64) Msg_WriteText(" G=") Msg_WriteInt(Regi) Msg_WriteChar(32 ) Msg_WriteByteBit(Regi ) Msg_WriteChar(13) 'CR Zeichen End Sub Sub Msg_Portbins() Dim Regi As Byte Regi = DirAcc_Read(0x39) Msg_WriteText("PinA=") Msg_WriteInt(Regi) Msg_WriteChar(32 ) Msg_WriteByteBit(Regi ) Regi = DirAcc_Read(0x36) Msg_WriteText(" PB=") Msg_WriteInt(Regi) Msg_WriteChar(32 ) Msg_WriteByteBit(Regi ) Regi = DirAcc_Read(0x33) Msg_WriteText(" PC=") Msg_WriteInt(Regi) Msg_WriteChar(32 ) Msg_WriteByteBit(Regi ) Regi = DirAcc_Read(0x30) Msg_WriteText(" PD=") Msg_WriteInt(Regi) Msg_WriteChar(32 ) Msg_WriteByteBit(Regi ) Regi = DirAcc_Read(0x21 ) Msg_WriteText(" PE=") Msg_WriteInt(Regi) Msg_WriteChar(32 ) Msg_WriteByteBit(Regi ) Regi = DirAcc_Read(0x60) Msg_WriteText(" PF=") Msg_WriteInt(Regi) Msg_WriteChar(32 ) Msg_WriteByteBit(Regi ) Regi = DirAcc_Read(0x63) Msg_WriteText(" PG=") Msg_WriteInt(Regi) Msg_WriteChar(32 ) Msg_WriteByteBit(Regi ) Msg_WriteChar(13) 'CR Zeichen End Sub Sub Msg_Ports() Dim Regi As Byte Regi = DirAcc_Read(0x3B) Msg_WriteText("PA=") Msg_WriteInt(Regi) Msg_WriteChar(32 ) Msg_WriteByteBit(Regi ) Regi = DirAcc_Read(0x38) Msg_WriteText(" PB=") Msg_WriteInt(Regi) Msg_WriteChar(32 ) Msg_WriteByteBit(Regi ) Regi = DirAcc_Read(0x35) Msg_WriteText(" PC=") Msg_WriteInt(Regi) Msg_WriteChar(32 ) Msg_WriteByteBit(Regi ) Regi = DirAcc_Read(0x32) Msg_WriteText(" PD=") Msg_WriteInt(Regi) Msg_WriteChar(32 ) Msg_WriteByteBit(Regi ) Regi = DirAcc_Read(0x23 ) Msg_WriteText(" PE=") Msg_WriteInt(Regi) Msg_WriteChar(32 ) Msg_WriteByteBit(Regi ) Regi = DirAcc_Read(0x62) Msg_WriteText(" PF=") Msg_WriteInt(Regi) Msg_WriteChar(32 ) Msg_WriteByteBit(Regi ) Regi = DirAcc_Read(0x65) Msg_WriteText(" PG=") Msg_WriteInt(Regi) Msg_WriteChar(32 ) Msg_WriteByteBit(Regi ) Msg_WriteChar(13) 'CR Zeichen End Sub Sub Msg_WriteByteBit (Wert As Byte) Dim Ziffer As Byte Dim Zwischen As Byte Ziffer = Wert / 128 Msg_WriteInt(Ziffer) Zwischen = Wert Mod 128 Ziffer = Zwischen / 64 Msg_WriteInt(Ziffer) Zwischen = Wert Mod 64 Ziffer = Zwischen / 32 Msg_WriteInt(Ziffer) Zwischen = Wert Mod 32 Ziffer = Zwischen / 16 Msg_WriteInt(Ziffer) Msg_WriteChar(32) 'Leerzeichen ausgeben Zwischen = Wert Mod 16 Ziffer = Zwischen / 8 Msg_WriteInt(Ziffer) Zwischen = Wert Mod 8 Ziffer = Zwischen / 4 Msg_WriteInt(Ziffer) Zwischen = Wert Mod 4 Ziffer = Zwischen / 2 Msg_WriteInt(Ziffer) Ziffer = Wert Mod 2 Msg_WriteInt(Ziffer) End Sub | ||
Antwort schreiben Antworten: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum