SPI write/read függvény leprogramozása IC-hez.
SPI write/read függvény leprogramozása IC-hez.
Sziasztok!
Teljesen kezdő vagyok a témában, de valamennyire tudom kezelni az AVR-ert.
Szeretnék egy olyan függvényt leprogramozni ATmega-hoz C-ben, ami SPI-n keresztül tudja olvasni, és írni az IC értékeit.
Feladat számomra úgy tűnik, hogy nehéz, de aki már ismeri a témát, annak lehet, hogy csak pár perc.
Szóval csak az a függvény kell, amivel ki tudom ebből a táblázatból olvasni az értékeket, és át tudom írni.
Segítségeteket előre is köszönöm!
Teljesen kezdő vagyok a témában, de valamennyire tudom kezelni az AVR-ert.
Szeretnék egy olyan függvényt leprogramozni ATmega-hoz C-ben, ami SPI-n keresztül tudja olvasni, és írni az IC értékeit.
Feladat számomra úgy tűnik, hogy nehéz, de aki már ismeri a témát, annak lehet, hogy csak pár perc.
Szóval csak az a függvény kell, amivel ki tudom ebből a táblázatból olvasni az értékeket, és át tudom írni.
Segítségeteket előre is köszönöm!
Nincs meg a kellő jogosultságod a hozzászóláshoz csatolt állományok megtekintéséhez.
Re: SPI write/read függvény leprogramozása IC-hez.
Teljesen átláthatóan szeretném írni, teljes sort pl. 0b00110110 ha lehet.
Re: SPI write/read függvény leprogramozása IC-hez.
Milyen chip? Meddig jutottál? Hol akadtál el?
Re: SPI write/read függvény leprogramozása IC-hez.
SRC4398 az egy audio chip, amely SPDIF jelet fogad illetve jittert csökkent, DAC előtt van.
SRC4398-nak van egy SPI portja is, amit össze akarok kötni az AtMega16-al.
Illetve vezérelni akarom, értékeket szeretnék belőle kiolvasni, és írni az SRC4398-ba.
Hardweresen könnyű összekötni, azzal nem lesz gond.
De nem tudom, hogy milyen write függvényt és milyen read függvényt írjak src4398.c-be.
Minden itt van a képen, amit ír erről.
SRC4398-nak van egy SPI portja is, amit össze akarok kötni az AtMega16-al.
Illetve vezérelni akarom, értékeket szeretnék belőle kiolvasni, és írni az SRC4398-ba.
Hardweresen könnyű összekötni, azzal nem lesz gond.
De nem tudom, hogy milyen write függvényt és milyen read függvényt írjak src4398.c-be.
Minden itt van a képen, amit ír erről.
Re: SPI write/read függvény leprogramozása IC-hez.
Köszönöm, ez már segítség.
Annyit még szeretnék kérni, hogy egy példával írd le, hogy olvasom ki a fenti táblázatból való értéket, és ami a legfontosabb, hogy írom át.
Találkoztam már hasonló példákkal, de én tényleg, csak a nagyon alap dolgokkal foglalkoztam, már elég rég.
ChipSelect van a chipen, illetve reset is.
Annyit még szeretnék kérni, hogy egy példával írd le, hogy olvasom ki a fenti táblázatból való értéket, és ami a legfontosabb, hogy írom át.
Találkoztam már hasonló példákkal, de én tényleg, csak a nagyon alap dolgokkal foglalkoztam, már elég rég.
ChipSelect van a chipen, illetve reset is.
Re: SPI write/read függvény leprogramozása IC-hez.
Tisztázni kellene pár kérdést!
Te képesnek érzed magad a probléma megoldására?
Akkor hozzá kellene fognod elvégezni a rabszolgamunkát.
És ha elakadtál, ismertetni mit hoztál össze.
Aztán kérni segítséget.
Vagy mással akarod megcsináltatni?
Akkor illene felajánlani valami ellenszolgáltatást!

Te képesnek érzed magad a probléma megoldására?
Akkor hozzá kellene fognod elvégezni a rabszolgamunkát.
És ha elakadtál, ismertetni mit hoztál össze.
Aztán kérni segítséget.
Vagy mással akarod megcsináltatni?
Akkor illene felajánlani valami ellenszolgáltatást!
Re: SPI write/read függvény leprogramozása IC-hez.
Nézd, pár sorról van szó, tényleg csak annyi, hogy azok a parancsok kellenének, amelyekkel SPI-n keresztül beletudok írni, és ki tudok olvasni.
Teljes kód nem kell, azt úgy érzem, meg tudom írni.
Teljes kód nem kell, azt úgy érzem, meg tudom írni.
Re: SPI write/read függvény leprogramozása IC-hez.
Talán segít:
Stereo DAC (S/W Control) vs (H/W Control)
http://www.mikrocontroller.net/topic/287274
Azt a pár sort már Robert belinkelte!
Csak a define részen kel igazítanod.
És a CS kimenet vezérlését megoldanod a berakott ábra alapján.
http://e2e.ti.com/support/data_converte ... 35685.aspx
Google: avr gcc spi

Stereo DAC (S/W Control) vs (H/W Control)
http://www.mikrocontroller.net/topic/287274
Azt a pár sort már Robert belinkelte!
Csak a define részen kel igazítanod.
És a CS kimenet vezérlését megoldanod a berakott ábra alapján.
http://e2e.ti.com/support/data_converte ... 35685.aspx
Google: avr gcc spi
Re: SPI write/read függvény leprogramozása IC-hez.
Nem tudok nagyon így eligazodni, megpróbáltam.
Na de itt van két példa függvény egy másik IC-hez. Az első hozzászólásban való táblázat alapján áttudnátok írni az SPI vezérlést ehhez az IC-hez?
Segítségeteket eddig is köszönöm!
Na de itt van két példa függvény egy másik IC-hez. Az első hozzászólásban való táblázat alapján áttudnátok írni az SPI vezérlést ehhez az IC-hez?
Segítségeteket eddig is köszönöm!
Kód: Egész kijelölése
void spdif_write(uint8_t reg, uint8_t data) {
PORTB &= ~(1 << SS_RECV);
SPDR = 0b00100000; // weird CS8416 chip address, lsb == 0 is for writing
spi_wait();
// send MAP (register address)
SPDR = reg;
spi_wait();
// send data
SPDR = data;
spi_wait();
// raise SS_RECV
PORTB |= (1 << SS_RECV);
}
uint8_t spdif_read(uint8_t reg) {
PORTB &= ~(1 << SS_RECV);
SPDR = 0b00100000; // write MAP
spi_wait();
SPDR = reg; // MAP = reg
spi_wait();
PORTB |= (1 << SS_RECV); // finish partial cycle
PORTB &= ~(1 << SS_RECV); // open read cycle
SPDR = 0b00100001; // read operation
spi_wait();
SPDR = 0;
spi_wait();
// raise SS_RECV
PORTB |= (1 << SS_RECV);
return SPDR;
}