1. Die Programme für das LCD-Display und die Tastatur funktionieren nicht mit dem Application-Board.
Richtig, das Buch ist vor dem Application-Board entstanden. Das LCD-Display wird im Buch mit 8-Bit-Datenbus angesteuert, der Anschluß auf dem Appöication-Board verwendet eine 4-Bit-Ansteuerung. Auch die Tastatur ist jetzt etwas anders verdrahtet als im Schaltbild dargestellt. Man muß die Programme und Treiber zum Application-Board verwenden, wie sie auch in "C-Control-Anwendungen" beschrieben sind.
2. Kann man mit 5-V-Referenz auch die Sensoren und ihre Tabellen benutzen?
Ja, machmal braucht man einen eine 5-V-Eingang und muß dazu noch einen Sensor einsetzen. Der Meßbereich des Sensors wird dabei auf den halben Meßbereich des AD-Wandlers eingeengt. Wenn man jeden zweiten Eintrag aus der Sensortabelle entfernt, stimmt das Ergebnis wieder. Nur die Auflösunf ist jetzt geringer, z.B. 1 Grad statt 0,5 Grad für den Temperatursensor.
3. Kann man mit der CC-Unit Servos ansteuern?
Man muß dazu Impulse zwischen 1 ms und 2 ms mit hoher Genauigkeit erzeugen. Dies gelingt mit einem Assemblerprogramm. Als Ausgangsbasis kann IMPULSE.ASM aus Kap. 11.2 dienen. Statt der Anzahl muß die Impulslänge übergeben werden.
4. Wo finde ich die Datei NTC.TAB?
Man kann das Programm NTC.BAS aus dem Buch unter Q-Basic starten und erhält dann die Sensordatei. Mancher hat allerdings Probleme, Q-Basic zu bekommen. Deshalb hier die fertige Datei:
NTC.BAS laden (NTC.ZIP, 1 KB)
5. Wie kann das QBASIC-Programm Tabelle.bas (S.145) in Visual Basic umgesetzt werden?
Das folgende Programm wurde in VB5 getestet und kann auch in VB6 geladen werden. Hier wird die RSAPI.DLL aus dem Buch "MSR mit Word und Excel" für die serielle Schnittstelle verwendet. Die DLL muss in der 32-Bit-Verson auf dem PC installiert werden. Sie kann im Download-Bereich dieser Homepage gladen werden.
Private Sub Command1_Click() Open "Messung.dat" For Output As #1 SENDBYTE 27 Do Dat = READBYTE If Dat > -1 Then U = Dat / 50 Text1.Text = Text1.Text + Str$(U) + " V " Print #1, U End If Loop Until Dat = -1 Close 1 End Sub Private Sub Form_Load() OPENCOM "COM2:9600,N,8,1" TIMEOUT 1000 End Sub Private Sub Form_Unload(Cancel As Integer) CLOSECOM End Sub
Zum Projekt gehört auch noch die Datei RSAPI.BAS mit den Deklarationen
der DLL-Funktuionen. Alles zusammen kann hier geladen werden: Tabelle.zip
(1,5 kB). Weitrere Infos zur DLL und zur Schnittstelle findet man hier.
Achtung, das Programm schreibt die Datei Messung.dat in das gerade aktuelle Verzeichnis. Das kann man natürlich auch eleganter lösen.
6. Wo sind die CC/Plus-Beispiele?
Tatsächlich, die Beispiele aus dem Kapitel 12 wurden auf der CD vergessen. Aber auf meiner Festplatte sind sie noch. Und jetzt auch hier (Bspplus.zip, 13 k).
7. Wurde in Listing 3.10 "wait" und "pause" verwechselt?
Stimmt, es muss jeweils heißen: pause 2 'Entprellung
'************************************** ' ' C-Control/BASIC/BASIC WUERFEL3.BAS ' ' Aufgabe: Wuerfelsteuerung mit 7 LEDs: ' ' D1 D5 ' ' D2 D4 D6 ' ' D3 D7 ' ' '************************************** ' --- Dekarationen -------------------- define Ausgabe Byteport[1] define Starttaste port [9] define Zufall word define Zahl byte '---- Programmanweisungen ------------- randomize timer #loop1 #loop2 pause 2 'Entprellung if Starttaste = ON then goto loop2 Ausgabe = OFF pause 2 'Entprellung #loop3 pause 2 'Entprellung if Starttaste = OFF then goto loop3 Zufall = rand print Zufall Zufall = ABS (Zufall) Zufall = Zufall mod 371 print Zufall Zahl = Zufall mod 6 print Zahl ' Tabelle 0...5 looktab Bitmuster, Zahl, Ausgabe goto loop1 end table Bitmuster &B00001000 &B00100010 &B00101010 &B01010101 &B01011101 &B01110111 tabend
Listing 3.10: Verwendung der Zufallsfunktion RAND (berichtigt)