Witam,
ostatnio wróciłem do zabawy z AVR i nieco się nauczyłem. Chcę mieć możliwość wysyłania przez komputer pliku txt. Zawartość tego pliku (tekst) ma być zapisana z zew eepromie 24C64. Dokładnie tak:
Połączenie np przez terminal,
procesor się pyta od którego Adr_eep ma zacząć zapisywanie (np. 0),
wysyłanie pliku txt,
procesor informuje na którym Adr_eep zakończył zapis (np. 170) i zapisuje tą daną w wewnętrznej pamięci eeprom procesora np. pod adresem 0.
Aktualnie napisałem coś prostego co działa prawie tak jak chciałbym, ale jednak nie odbiera pliku txt, oraz nie ma możliwości kasowania ostatniego znaku.
Proszę mnie jakoś nakierować jak coś takiego zrealizować.
Pozdrawiam
ostatnio wróciłem do zabawy z AVR i nieco się nauczyłem. Chcę mieć możliwość wysyłania przez komputer pliku txt. Zawartość tego pliku (tekst) ma być zapisana z zew eepromie 24C64. Dokładnie tak:
Połączenie np przez terminal,
procesor się pyta od którego Adr_eep ma zacząć zapisywanie (np. 0),
wysyłanie pliku txt,
procesor informuje na którym Adr_eep zakończył zapis (np. 170) i zapisuje tą daną w wewnętrznej pamięci eeprom procesora np. pod adresem 0.
Aktualnie napisałem coś prostego co działa prawie tak jak chciałbym, ale jednak nie odbiera pliku txt, oraz nie ma możliwości kasowania ostatniego znaku.
$regfile = "m32def.dat"
$crystal = 8000000
$baud = 9600
Config Sda = Portc.1
Config Scl = Portc.0
Dim Adres_eep As Byte
Dim Znak As String * 1
Dim Adr_eep As Word At &H8F
Dim Adr_low As Byte At &H8F Overlay
Dim Adr_hi As Byte At &H90 Overlay
Const In_eep = 160
Const Out_eep = 161
Const Max_eep = 65536
Do
Znak = Waitkey()
Print "Odebrano znak: " ; Znak
I2cstart
I2cwbyte In_eep
I2cwbyte Adr_hi
I2cwbyte Adr_low
I2cwbyte Znak
I2cstop
Print "Adres eeprom wynosi: " ; Adr_eep
Adr_eep = Adr_eep + 1
Writeeeprom Adr_eep , 0
Readeeprom Adres_eep , 0
Print "Adres eeprom po dodaniu wynosi: " ; Adres_eep
Loop
EndProszę mnie jakoś nakierować jak coś takiego zrealizować.
Pozdrawiam