Haaaa...
jetzt habe ich aber ein neues Problem:
* nach dem ich meine Bits mit einem Byte as Overlay abspeichern kann
Code:
Dim F_batt_pic_0 As Bit , F_batt_pic_1 As Bit , F_batt_laden As Bit , Automatik As Bit , Automatik_1 As Bit , Frei_1 As Bit , Frei_2 As Bit , Frei_3 As Bit ' Merker für WWassersteuerung
Dim Ds1307_sram4 As Byte At F_batt_pic_0 Overlay
Dim Ds1307_buff(4) As Byte
.
.
.
Ds1307_sram_w:
Slave_adress = &HD0
Send_byte = 5
Ds1307_w_d(1) = &H8
Ds1307_w_d(2) = Ds1307_sram1
Ds1307_w_d(3) = Ds1307_sram2
Ds1307_w_d(4) = Ds1307_sram3
Ds1307_w_d(5) = Ds1307_sram4
Call Master_transmit(slave_adress , Send_byte , Ds1307_w_d(1))
Return
* hole ich mir diese so wieder und lege sie wieder in das Byte As Overlay:
Code:
Gosub Ds1307_sram_r
Ds1307_sram1 = Ds1307_buff(1)
Ds1307_sram2 = Ds1307_buff(2)
Ds1307_sram3 = Ds1307_buff(3)
Ds1307_sram4 = Ds1307_buff(4)
Ds1307_sram_r:
Slave_adress = &HD0
Send_byte = 1
Ds1307_w_d(1) = &H8
Call Master_transmit(slave_adress , Send_byte , Ds1307_w_d(1))
Twi_mst_addr = &HD1
Twi_mr_cntr = 4
Twi_mr_data = Varptr(ds1307_buff(1))
Gosub Run_wait_master
Print "ds1307 geholt"
Return
aber... da ich die gespeicherten daten in das Byte lege und dieses als overlay über den bits liegt, habe ich dann immer wieder die Werte in den Bits, egal ob ich diese ändere oder nicht.
Wie kann ich nun die Daten aus dem Ds1307_buff() in die zugehörigen Bits schieben?
Lesezeichen