Hallo
ich habe mir die I2Cslave Library in den Libraryordner kopiert. Doch wenn ich auf Compilieren drücke zeigt er mir den fehler 324 an. "Error : 324 Line : 5 Chip not supported by I2C slave library"
und bei diesem hier auch.Code:$regfile = "m32def.dat" $crystal = 16000000 $baud = 9600 Config i2cslave = &H40
an was liegt das? muss ich in Bascom noch etwas einstellen?Code:$regfile = "m32def.dat" ' Benutzter Chip $crystal = 16000000 ' Quarz Frequenz $baud = 9600 ' Baud rate Cls Cursor Off Waitms 100 '------------------------------------------------------------------------------- Config Twislave = &H40 Config Adc = Single , Prescaler = Auto Dim Command As Byte Dim Byte_nr As Byte Dim Channel As Byte Dim Misc As Byte Dim Merker As Bit Dim Value As Word At &H110 Dim Value_low As Byte At &H110 Overlay Dim Value_high As Byte At &H111 Overlay Reset Merker Enable Interrupts '------------------------------------------------------------------------------- 'Hauptprogramm (in diesem Fall einfach eine leere Schleife). 'Selbstverständlich können hier auch weitere Operationen ausgeführt werden, 'man sollte aber beachten, daß bei häufigem Zugriff des Masters nicht viel 'Zeit für die Abarbeitung der Hauptprogrammschleife bleibt. Do nop Loop End '------------------------------------------------------------------------------- '------------------------------------------------------------------------------- 'Die folgenden Labels werden von der Library aufgerufen: Twi_stop_rstart_received: 'Print "Master hat ein Stop oder repeatet Start gesendet" Return '------------------------------------------------------------------------------- Twi_addressed_goread: 'Print "Wir wurden adressiert und der Master wird Daten senden" Return '------------------------------------------------------------------------------- 'Dieses Label wird aufgerufen wenn der Master Daten sendet und der Slave das 'gesendete Byte in der Variable TWI vorhält. Twi_gotdata: If Merker = 0 Then 'Der "Merker" entscheidet darüber, Command = Twi 'ob das empfangene Byte als Set Merker 'Kommando oder "Universalbyte" Else 'interpretiert wird. Misc = Twi Reset Merker Locate 2 , 1 'spasseshalber wird hier das Lcd Misc ; " " 'empfangene Universalbyte auf End If 'dem LCD ausgegeben. 'Print "received : " ; Twi Return '------------------------------------------------------------------------------- 'Dieses Label wird aufgerufen, wenn der Master Daten empfangen will und ein 'Byte braucht. Twi ist die Variable, die gesendet wird. ' 'Die Variable twi_btr ist eine Byte Variable die den Index des benötigten Bytes 'enthält. Im Falle des Sendens mehrerer Bytes eines Arrays kann kann twi_btr 'entsprechend als Index genutzt werden. Twi_master_needs_byte: 'Der Master braucht ein Byte. Locate 1 , 1 Lcd "Slave - Modus" 'Nur zur Verdeutlichung. Channel = Command And &H0F 'Hier wird entschieden, welcher ADC If Channel = 0 Then Value = Getadc(0) 'Kanal gelesen werden soll. Das If Channel = 1 Then Value = Getadc(1) 'niederwertige Nibble des Kommando- If Channel = 2 Then Value = Getadc(2) 'byte enthält diese Information - If Channel = 3 Then Value = Getadc(3) 'also von 0 bis 3. 'Da wir zwei Byte brauchen, wird im höherwetigen Nibble des Kommandobyte 'festgelegt, ob Low- oder Highbyte des Wandlungsergebnisses an den Master 'übertragen werden. Byte_nr = Command And &HF0 If Byte_nr = &H10 Then Twi = Value_low If Byte_nr = &H20 Then Twi = Value_high Return '------------------------------------------------------------------------------- 'Wenn der Master alle Bytes empfangen hat, wird dieses Label aufgerufen. Twi_master_need_nomore_byte: 'Print "Der Master braucht keine Bytes mehr" Return







Zitieren

Lesezeichen