Witam.
Mam problem z jednoczesnym używaniem portów.
Do komunikacji z komputerem chce użyć emulacji portu szeregowego, na USB.
Bazując na artykule ze strony http://mikrokontrolery.blogspot.com/
uruchomiłem komunikację z komputerem. Wszystko jest ok. Połączenie stabilne itp.
Na płytce gdzie mam umieszczony mikroprocesor mam też moduł WiFi, z którym chce łączyć się po rs'e. Port USARTD0
Kiedy zainicjuje port USB, przestaje mi działać port szeregowy. Bez zainicjowania komunikacja z modułem jest ok.
Odległości między układami to ok 5 cm. Sprawdzałem, nie ma zakłóceń. Tam nic się nie wysyła.
Po zainicjowaniu USB
Rejestry PRPA, PRPB .. PRPF są równe 0x00. Jedynie PRGEN ma wartość 0x40. Po wyzerowaniu tego rejestru nic się nie zmienia.
Na płytce używam jeszcze połączeń SPIC i SPIE, do komunikacji z karą SD i panelem dotykowym, ale one działają prawidłowo cały czas. Nie ma znaczenia czy port usb jest uruchomiony czy nie.
Procedura inicjalizacji USB
ustawienie portu rs na porcie D0
Gdzie popełniam błąd? Nie potrafię zmusić tego układu do jednoczesnej pracy obu układów.
Mam problem z jednoczesnym używaniem portów.
Do komunikacji z komputerem chce użyć emulacji portu szeregowego, na USB.
Bazując na artykule ze strony http://mikrokontrolery.blogspot.com/
uruchomiłem komunikację z komputerem. Wszystko jest ok. Połączenie stabilne itp.
Na płytce gdzie mam umieszczony mikroprocesor mam też moduł WiFi, z którym chce łączyć się po rs'e. Port USARTD0
Kiedy zainicjuje port USB, przestaje mi działać port szeregowy. Bez zainicjowania komunikacja z modułem jest ok.
Odległości między układami to ok 5 cm. Sprawdzałem, nie ma zakłóceń. Tam nic się nie wysyła.
Po zainicjowaniu USB
Rejestry PRPA, PRPB .. PRPF są równe 0x00. Jedynie PRGEN ma wartość 0x40. Po wyzerowaniu tego rejestru nic się nie zmienia.
Na płytce używam jeszcze połączeń SPIC i SPIE, do komunikacji z karą SD i panelem dotykowym, ale one działają prawidłowo cały czas. Nie ma znaczenia czy port usb jest uruchomiony czy nie.
Procedura inicjalizacji USB
Kod: C / C++
ustawienie portu rs na porcie D0
Kod: C / C++
Gdzie popełniam błąd? Nie potrafię zmusić tego układu do jednoczesnej pracy obu układów.
