PCF8582C-2 obsługa w Bascom


Witam
Próbuje uruchomić pamięć EEprom PCF8582C-2 w Bascom ale bez skutku
Prosił bym kolegów z forum o jakieś przykłady obsługi tego PCF8582 w Bascom
Jakaś transmisja danych jest bo mam podłączoną diodę LED do SDA no i mruga czyli coś się dzieje
Ale jak zapisać dane i odczytać?

' PROGRAM
 
 
$regfile = "m16def.dat"                                     ' specify the used micro
$crystal = 16000000                                         ' used crystal frequency
 
$hwstack = 64
$swstack = 64
$framesize = 64
 
 
 
 
 
 
 
Config Lcd = 16 * 2
Config Lcdpin = Pin , Rs = Porta.2 , E = Porta.3 , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7
 
 
 
Config Sda = Portc.1                                        ' LINIA SDA PCF8583
Config Scl = Portc.0                                        ' LINIA SCL PCF8583
 
 
 
 
 
 
Dim Eprom As Byte
 
 
 
Do
 
 
I2cstart
 
I2cwbyte 172
I2cwbyte 1
I2cstart
I2cwbyte 173
I2crbyte Eprom , Ack
 
I2cstop
 
 
 
Cls
Lcd Eprom
 
Wait 1
 
 
 
Loop : End




Portret użytkownika mirley

Re: PCF

Zamiast Ack przy odczycie daj Nack..... i odepnij ta diodę z SDA

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika kulamario

PCF8582C-2 obsługa w Bascom

Witam
Napisałem coś takiego czy takie coś ma prawo działać?

' **********************************************************************
' * File: PCF8582.bas                                                  *
' * Version: 1.0                                                       *
' * Date: 7/3/2014                                                     *
' * Development Tools: Bascom-AVR Ver.2.0.7.3                          *
' *                                                                    *
' *                                                                    *
' * Developed by:                                                      *
' * Author: kulamario                                                  *
' **********************************************************************
 
$regfile = "m16def.dat"                                     ' specify the used micro
$crystal = 16000000                                         ' used crystal frequency
 
$hwstack = 64
$swstack = 64
$framesize = 64
 
 
 
 
 
 
 
Config Lcd = 16 * 2
Config Lcdpin = Pin , Rs = Porta.2 , E = Porta.3 , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7
 
 
 
Config Sda = Portc.1                                        ' LINIA SDA PCF8583
Config Scl = Portc.0                                        ' LINIA SCL PCF8583
 
 
 
Dim Eprom As Byte
 
 
Declare Sub Read_eeprom(adres As Byte , Value As Byte)
Declare Sub Write_eeprom(adres As Byte , Value As Byte)
 
 
 
 
 
 
 
 
Gosub Write_eeprom , 0 , Eprom                              'zapis zmiennej pod adres 0
 
 
Gosub Read_eeprom , 0 , Eprom                               'odczyt do zmiennej spod adresu 0
 
 
 
 
 
 
 
 
 
 
 
 
Do
 
 
 
Loop
End
 
 
 
 
 
    Sub Read_eeprom(adres As Byte , Value As Byte)
       I2cstart
       I2cwbyte 172
       I2cwbyte Adres
       I2cstart
       I2cwbyte 173
       I2crbyte Value , Nack
       I2cstop
    End Sub Read_eeprom
 
 
 
 
    Sub Write_eeprom(adres As Byte , Value As Byte)
       I2cstart
       I2cwbyte 172
       I2cwbyte Adres
       I2cwbyte Value
       I2cstop
       Waitms 10
    End Sub Write_eeprom

Portret użytkownika EDC

Odp.PCF8582C-2 obsługa w Bascom

Witam. Nie wiem po co to Koledze bo Atmega16 ma swój wewnętrzny EEPROM, ale podpowiem. Przykłady (z angielskiego "samples") znajdziesz u siebie na dysku w "moich dokumentach->MCS Electronic->Samples
Ta Twoja pamięć to odpowiednik 24C04. I2C to standard który opracowała firma Philips i dlatego u Atmeli nazywa się inaczej -> TWI. Polecam też uwadze Kolegi stronę 'MCS Wiki AVR" lub wpisanie w google "Bascom College" - to cykl artykułów z około 2000roku ale przejrzyście opisujace podstawy. Jest tam zegar zrobiony na tym PCF 8583 z innego postu Kolegi.
Wygoda dowolnej konfiguracji portów które służą do komunikacji I2C okupiona jest większym kodem. Jeśli juz zaczyna brakowac miejsca w procesorze można zadeklarować użycie innej biblioteki sterujacej I2C ale wtedy trzeba podłączyc SDA i SCL układów peryferyjnych do z góry okreslonych portów. Wszystko to znajdziesz w MCS Wiki .. otwirajac tą stronę w Chrome można ją przetłumaczyć automatycznie (jakośc tłumaczenia marna ale zawsze coś) dla innych przeglądarek można pasek GoogleToolbar zainstalowac i tez tłumaczyć z przycisku całe strony.

-

BARTek
Moja strona

Portret użytkownika gosc

PCF8582C-2 obsługa w Bascom

Witam
Atmega16 ma swój wewnętrzny EEPROM który zapisuje tylko do 100.000 i finito koniec życia
a PCF8582 zapisuje do 1.000.000
to już wiesz dlaczego PCF8582 a nie EEprom w atmedze.
ps.
Wiem jak się obsługuje zapis i odczyt do EEpromu w atmedze.
ale nie wiem jak obsługiwać PCF8582.

Portret użytkownika gosc

PCF8582C-2 obsługa w Bascom

Atmega16 ma swój wewnętrzny EEPROM który zapisuje do 100000 razy i finito koniec życia atmegi
PCF8582 może zapisywać do 1000000 razy to chyba mala różnica co?
To już wiesz czemu PCF8582 a nie EEprom z atmegi
ps.
obsługiwać zapis i odczyt EEpromu w Atmedze to żaden problem.

Portret użytkownika EDC

Odp. PCF8582C-2 obsługa w Bascom

Jak kolega będzie tam maszynowo coś ciągle zapisywał niepotrzebnie to nawet ten większy nie wydoli i ...finito :D
Znany jest większości fabryczny błąd radii w Audi. Tych długich 2 x DIN. Tam głośność była zapisywana do Eeproma właśnie za każdym razem gdy kręciło się gałką. Po jakimś czasie używania głośność sama sie zmienia lub nie da ustawić. Na początku szukano w enkoderach..okazało się że to pamięc. Rozwiązano to przesuwając te ustawienia do RAMu bo chyba raz po odłączeniu akumulatora może wystartować z domyślną głośnością...Zmierzam do tego że lepiej sprawe przemyśleć i zapisywać dane wtedy kiedy trzeba.
Co do obsługi tej pamieci..w tych artukułach o których pisałem jest zamek kodowy na 89C2051 ktory nie miał Eeproma więc musiał mieć tą pamiątkę...

-

BARTek
Moja strona