Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Beispielprogramm IIC_Datenspeicher Kategorie: Programmierung Basic (von Benny - 5.10.2005 18:14)
Benny nutzt:  CC1-M-Unit V1.2/2.0

Hallo,

ich habe eine Frage zum Beispielprogramm IIC Datenspeicher.
Ich benutze eine meinem Programm angepaßte Version um Meßdaten
in einem externen EEPROM abzuspeichern.

Wozu dienen die Variablen  CLOCKS, MASK und COUNTER ?
Wenn ich sie weglasse geht das Programm trotzdem.
Wozu dient das Unterprogramm #CHECK_ERROR ?
Wenn ich es lösche kommt zwischen meinen Meßwerten öfters eine 255.

Noch eine Anmerkung an "die Hard"
Wieso machen Sie sich die Mühe Beispielprogramme zu schreiben und
kommentieren die dann so schlecht, daß Anfänger keinen Nutzen davon haben.
Aber gleichzeitig beschimpft "die Hard" dann Fragesteller im Forum deren Programm
sei nicht gut genug kommentiert.(Auch wenn dies oft zutrifft)


'------ I/O PORTS ---------
'--------------------------
define SDA   port[9]
define SCL   port[10]
define LIGHT port[16]
'--------------------------
'---- SYSTEM MEMORY -------
'--------------------------
define ADDRESS    word[1]
define ADDRHI     byte[1]
define ADDRLO     byte[2]
define DEV1       byte[3]
define DEV2       byte[4]
define COUNTER    byte[5]
define CONFIG     byte[6]
define TEMP       byte[7]
define DATA       byte[8]
define ERROR      byte[9]
define CLOCKS     byte[10]
define MASK       byte[11]


#INIT
LIGHT=off
gosub BP1ENABLE
print"#ON_LCD#";
print"#INIT#";
print"EEPROM DATASAVE";:pause 50
print"#CLR#";:print"#OFF#";
DEV1=174
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
'--------- 100 BYTES IN EEPROM SCHREIBEN ---------------
For ADDRESS=0 to 100
DATA=ADDRESS*2:gosub WRITEBYTE
next

'-------- 100 BYTES VOM EEPROM LESEN UND ANZEIGEN-------
for ADDRESS=0 to 100
gosub READBYTE
print"#ON_LCD#";:print"#L101#";:print DATA;:print" ";:print"#OFF#";
pause 30
next
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
end


'-----------------------------------------------------
'- BYTE (DATA) AUF EEPROM ADRESSE (ADDRESS) SPEICHERN -
'-----------------------------------------------------
#WRITEBYTE
print"#ON_IIC#";:print"#STOP#";:print"#START#";:put DEV1
put ADDRHI:put ADDRLO:put DATA:print"#STOP#";:print"#OFF#";
#WAITREADY
print"#ON_IIC#";:print"#START#";:put DEV1:print"#STOP#";:print"#OFF#";
gosub CHECK_ERROR
if ERROR=1 then goto WAITREADY
return
'-----------------------------------------------------
'- BYTE (DATA) VON EEPROM ADRESSE (ADDRESS) LESEN   -
'-----------------------------------------------------
#READBYTE
print"#ON_IIC#";:print"#STOP#";:print"#START#";:put DEV1
put ADDRHI:put ADDRLO:print"#STOP#";
print"#START#";:put DEV1+1:get DATA:print"#STOP#";:print"#OFF#";
return

'-----------------------------------------------------
'--              IIC-FEHLER ABFRAGEN              ----
'-----------------------------------------------------
#CHECK_ERROR
print"#ON_CONFIG#";        'UMLEITUNG ZUM CONFIG MODULE
get CONFIG                 'CONFIG REGISTER LESEN
put (CONFIG and &B10111111)'IIC ERROR FLAG IN CONFIG LÖSCHEN
print"#OFF#";
if  (CONFIG and &H40)=0 then ERROR=0 ELSE ERROR=1
print"#OFF#";
return
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII

'-------------------------------------------------
'--     SUBROUTINE ENABLE PULLUP BYTEPORT 1      -
'-------------------------------------------------
#BP1ENABLE
print"#ON_CONFIG#";             'UMGELEITET
get TEMP                        'den aktuellen Wert lesen
put (TEMP or &B0001000)         'Bit setzten und zurück schreiben
print"#OFF#";                   'Umleitung abschalten
return



 Antwort schreiben

Bisherige Antworten:

Re: Beispielprogramm IIC_Datenspeicher (von DIE HARD - 7.10.2005 13:32)
Re: Beispielprogramm IIC_Datenspeicher (von Henrik - 5.10.2005 19:46)
    Re: Beispielprogramm IIC_Datenspeicher (von Woschi - 7.10.2005 20:22)
        Re: Beispielprogramm IIC_Datenspeicher (von Henrik - 8.10.2005 0:44)
Re: Beispielprogramm IIC_Datenspeicher (von Carsten - 5.10.2005 18:58)