Dzień dobry,
Mam problem z dogadaniem się z ADIS16201. https://www.analog.com/media/en/technical-documentation/data-sheets/ADIS16201.pdf
Zacznę od tego, że korzystam z płytki : https://www.analog.com/en/design-center/evalu...n-boards-kits/eval-adis16201.html#eb-overview
Wyjścia podłączyłem w sposób następujący:
ADIS1620 -- STM
RESET-> 3,3V ( nie jestem pewien czy nie powinno być tutaj rezystora, ale w takiej konfiguracji działa)
SCLK -> SPI2_SCK
CS -> GND (z zamysłem, żeby komunikacja była ciągle tylko z nim)
DOUT-> SPI2_MISO
DIN->SPI2_MOSI
VDD-> 3,3V
COM-> GND
Wybrałem parametry:
Data Size: 16Bits
MSB First
Baud Rate: 1MBits/s
CPOL: High
CPHA: 2 Edge
no i oczywiście softwarowy NSS
Oczywiście także kod:
Problem polega na tym, że inklinometr odpowiada, ale nie jestem pewien co. Przejdzmy do while. To załączanie i wyłączanie pinu CS jest do późniejszej części projektu (na razie stoję). Funkcja TransmitReceive jest użyta dwa razy ze względu, na obrazek nr.31 z DS (czyli dopiero jak odczytuję drugi raz to dostaję moje dane). Przy odczycie SUPPLY_OUT (wpisując do adr[0]=0x02) dostaję zwrócone: dane[0]=12, dane[1]=0 na binarne to jest : 1100 0000 0000 BIN czyli 3072 DEC. Z tabeli nr.7 z DS można wywnioskować, że to jest 3748mV a ja używam 3,3V. Dodam także, że to nie jest liczba którą dostaję od razu (wcześniej wychodzi coś około 246mV a często też jest zero).
Jeżeli czegoś nie załączyłem, albo czegoś nie powiedziałem proszę o upomnienie
Mam problem z dogadaniem się z ADIS16201. https://www.analog.com/media/en/technical-documentation/data-sheets/ADIS16201.pdf
Zacznę od tego, że korzystam z płytki : https://www.analog.com/en/design-center/evalu...n-boards-kits/eval-adis16201.html#eb-overview
Wyjścia podłączyłem w sposób następujący:
ADIS1620 -- STM
RESET-> 3,3V ( nie jestem pewien czy nie powinno być tutaj rezystora, ale w takiej konfiguracji działa)
SCLK -> SPI2_SCK
CS -> GND (z zamysłem, żeby komunikacja była ciągle tylko z nim)
DOUT-> SPI2_MISO
DIN->SPI2_MOSI
VDD-> 3,3V
COM-> GND
Wybrałem parametry:
Data Size: 16Bits
MSB First
Baud Rate: 1MBits/s
CPOL: High
CPHA: 2 Edge
no i oczywiście softwarowy NSS
Oczywiście także kod:
Kod: C / C++
Problem polega na tym, że inklinometr odpowiada, ale nie jestem pewien co. Przejdzmy do while. To załączanie i wyłączanie pinu CS jest do późniejszej części projektu (na razie stoję). Funkcja TransmitReceive jest użyta dwa razy ze względu, na obrazek nr.31 z DS (czyli dopiero jak odczytuję drugi raz to dostaję moje dane). Przy odczycie SUPPLY_OUT (wpisując do adr[0]=0x02) dostaję zwrócone: dane[0]=12, dane[1]=0 na binarne to jest : 1100 0000 0000 BIN czyli 3072 DEC. Z tabeli nr.7 z DS można wywnioskować, że to jest 3748mV a ja używam 3,3V. Dodam także, że to nie jest liczba którą dostaję od razu (wcześniej wychodzi coś około 246mV a często też jest zero).
Jeżeli czegoś nie załączyłem, albo czegoś nie powiedziałem proszę o upomnienie