Czytałem parę podobnych tematów i konfrontowałem to z tym co sam napisałem, ale dalej nie wiem co zrobiłem źle i chyba pozostaje mi poprosić kogoś o wskazówkę.
Używam interfejsu SPI do komunikacji z zewnętrznym przetwornikiem ADC (AD7793).
Generalnie już sobie bibliotekę do jego obsługi napisałem, wszystko gra... no prawie wszystko. Mój procesor nie odbiera danych przychodzących z ADC, lub też są to jakieś śmieci, które się nie zgadzają z tym co faktycznie jest.
Po podpięciu się analizatorem stanów logicznych wszystkojest okej, więc to wina programu, jakżeby inaczej.
Testuję to w tym momencie na najprostszej funkcji jaką mogę wywołać, mianowicie chcę pobrać ID układu:
Gdy odpalam debugger i zrobię breakpointa w 4 linijce kodu funkcji (w momencie wpisywania 0xFF, żeby nadać sygnał zegarowy) to po kroku dalej dane odebrane trafiają odpowiednio do rejestru DR. Natomiast jeśli program leci ciągiem bez przerw to już nie.
Totalnie nie mam już tropu co zrobić. Ktoś coś?[/code]
Używam interfejsu SPI do komunikacji z zewnętrznym przetwornikiem ADC (AD7793).
Generalnie już sobie bibliotekę do jego obsługi napisałem, wszystko gra... no prawie wszystko. Mój procesor nie odbiera danych przychodzących z ADC, lub też są to jakieś śmieci, które się nie zgadzają z tym co faktycznie jest.
Po podpięciu się analizatorem stanów logicznych wszystkojest okej, więc to wina programu, jakżeby inaczej.
Testuję to w tym momencie na najprostszej funkcji jaką mogę wywołać, mianowicie chcę pobrać ID układu:
Kod: C / C++
Gdy odpalam debugger i zrobię breakpointa w 4 linijce kodu funkcji (w momencie wpisywania 0xFF, żeby nadać sygnał zegarowy) to po kroku dalej dane odebrane trafiają odpowiednio do rejestru DR. Natomiast jeśli program leci ciągiem bez przerw to już nie.
Totalnie nie mam już tropu co zrobić. Ktoś coś?[/code]