-
1. Data: 2015-08-19 18:03:37
Temat: AT45DB161 i biblioteka Atmel DataFlash
Od: Atlantis <m...@w...pl>
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?
-
2. Data: 2015-08-19 18:44:07
Temat: Re: AT45DB161 i biblioteka Atmel DataFlash
Od: "pawel" <p...@p...onet.pl>
Może po init spróbuj Read_DF_Status i zobacz co pokaże.
Paweł
Użytkownik "Atlantis" <m...@w...pl> napisał w wiadomości
news:55d4a8d9$0$8372$65785112@news.neostrada.pl...
> 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?
-
3. Data: 2015-08-20 16:12:32
Temat: Re: AT45DB161 i biblioteka Atmel DataFlash
Od: Adam Górski <g...@w...pl>
On 2015-08-19 18:03, Atlantis wrote:
> 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
-
4. Data: 2015-08-20 19:42:32
Temat: Re: AT45DB161 i biblioteka Atmel DataFlash
Od: platformowe głupki <N...@g...pl>
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?