Atlantis
Guest
Wed Aug 19, 2015 4:03 pm
Próbuję uruchomić właśnie pamięć AT45DB161 i zmusić ją do współpracy z
Atmegą 8, przy pomocy biblioteki Atmel DataFlash
(http://tinyurl.com/nox4hxd).
Ta sama biblioteka została też przepisana pod C++ i bywa używana z Arduino:
http://playground.arduino.cc/Code/Dataflash
Niestety, coś jest nie tak...
Następujący kod:
DF_SPI_init();
Buffer_Write_Byte(1, 1, 42);
// Buffer_To_Page(1, 1);
// Page_To_Buffer(1, 1);
bajt = Buffer_Read_Byte(1, 1);
itoa(bajt, (char *)buffer, 10);
uart_puts(buffer);
Powoduje wyświetlenie liczby 255, chociaż powinno być 42. Nie ma
znaczenia, czy próbuję zapisywać przez stronę pamięci, czy bezpośrednio
z bufora. Zawsze to samo.
Ktoś ma jakiś pomysł, co może być nie tak? Jak mogę zdiagnozować problem?
pawel
Guest
Wed Aug 19, 2015 4:44 pm
Może po init spróbuj Read_DF_Status i zobacz co pokaże.
Paweł
Użytkownik "Atlantis" <marekw1986NOSPAM@wp.pl> napisał w wiadomości
news:55d4a8d9$0$8372$65785112@news.neostrada.pl...
Quote:
Próbuję uruchomić właśnie pamięć AT45DB161 i zmusić ją do współpracy z
Atmegą 8, przy pomocy biblioteki Atmel DataFlash
(http://tinyurl.com/nox4hxd).
Ta sama biblioteka została też przepisana pod C++ i bywa używana z
Arduino:
http://playground.arduino.cc/Code/Dataflash
Niestety, coś jest nie tak...
Następujący kod:
DF_SPI_init();
Buffer_Write_Byte(1, 1, 42);
// Buffer_To_Page(1, 1);
// Page_To_Buffer(1, 1);
bajt = Buffer_Read_Byte(1, 1);
itoa(bajt, (char *)buffer, 10);
uart_puts(buffer);
Powoduje wyświetlenie liczby 255, chociaż powinno być 42. Nie ma
znaczenia, czy próbuję zapisywać przez stronę pamięci, czy bezpośrednio
z bufora. Zawsze to samo.
Ktoś ma jakiś pomysł, co może być nie tak? Jak mogę zdiagnozować problem?
Adam GĂłrski
Guest
Thu Aug 20, 2015 2:12 pm
On 2015-08-19 18:03, Atlantis wrote:
Quote:
Próbuję uruchomić właśnie pamięć AT45DB161 i zmusić ją do współpracy z
Atmegą 8, przy pomocy biblioteki Atmel DataFlash
(http://tinyurl.com/nox4hxd).
Ta sama biblioteka została też przepisana pod C++ i bywa używana z Arduino:
http://playground.arduino.cc/Code/Dataflash
Niestety, coś jest nie tak...
Następujący kod:
DF_SPI_init();
Buffer_Write_Byte(1, 1, 42);
// Buffer_To_Page(1, 1);
// Page_To_Buffer(1, 1);
bajt = Buffer_Read_Byte(1, 1);
itoa(bajt, (char *)buffer, 10);
uart_puts(buffer);
Powoduje wyświetlenie liczby 255, chociaż powinno być 42. Nie ma
znaczenia, czy próbuję zapisywać przez stronę pamięci, czy bezpośrednio
z bufora. Zawsze to samo.
Ktoś ma jakiś pomysł, co może być nie tak? Jak mogę zdiagnozować problem?
Sprawdziłbym czy piny od SPI są dobrze ustawione. Może być pull-up na
data-in i odbierasz 255.
Adam
platformowe gĹupki
Guest
Thu Aug 20, 2015 5:42 pm
ja co prawda nie ogarniam sukcesu zjednoczenia po/eu,
ale do czego potrzebna jest tu biblioteka? ja tam nie czaję sukcesu
po/eu, ale wydaje mi się coś i gdzieś, że to jest parę kabelków?