Witam
Próbuję napisać w c++ program do komunikacji z moim mikroprocesorem sterującym mostek H. Warto dodać, że w programie Bray Terminal wszystko działa. W uC wgrany jest program odpowiedzialny za komunikację uart. Komunikację podzieloną mam na ramki. Poniżej fragment kodu odpowiadający za sterowanie mostkiem:
Wynika z niego, że aby sterować silnikami trzeba wysłać kolejno ramki:
-FF (otwarcie komunikacji)
-0C (zmienna ADDRESS)
-20 (ramka odpowiadająca za sterowanie mostkiem)
- 8 znaków konwertowanych na wartość dla silników
- 0A (ramka kończąca komunikację)
W c++ napisałem program, który powinien wysyłać opisane wcześniej ramki poprzez port usb. Dane są konwertowane przez konwerter USB-Uart i dostarczane do uC. Kod w c++ wygląda następująco:
Chciałbym dodać, że w programie Bray terminal wysłanie ciągu danych $FF$0C$2000000000$0A powoduje założone sterowanie silnikami. Oznacza to, że problem nie tkwi w uC, tylko w programie w c++. Dodatkowo przy wysyłaniu danych w c++, na płytce zapala się dioda informująca o przesyle danych oraz nie ma żadnych błędów, co oznacza że port został dobrze skonfigurowany. Według mnie problemem są wysyłane dane, które mają zły format. Jednak próbowałem już wielu możliwości, wysyłałem ramki "0xFF", wysyłałem w całości, znak po znaku. Byłbym wdzięczny za jakiekolwiek rady.
Próbuję napisać w c++ program do komunikacji z moim mikroprocesorem sterującym mostek H. Warto dodać, że w programie Bray Terminal wszystko działa. W uC wgrany jest program odpowiedzialny za komunikację uart. Komunikację podzieloną mam na ramki. Poniżej fragment kodu odpowiadający za sterowanie mostkiem:
Kod: text
Wynika z niego, że aby sterować silnikami trzeba wysłać kolejno ramki:
-FF (otwarcie komunikacji)
-0C (zmienna ADDRESS)
-20 (ramka odpowiadająca za sterowanie mostkiem)
- 8 znaków konwertowanych na wartość dla silników
- 0A (ramka kończąca komunikację)
W c++ napisałem program, który powinien wysyłać opisane wcześniej ramki poprzez port usb. Dane są konwertowane przez konwerter USB-Uart i dostarczane do uC. Kod w c++ wygląda następująco:
Kod: text
Chciałbym dodać, że w programie Bray terminal wysłanie ciągu danych $FF$0C$2000000000$0A powoduje założone sterowanie silnikami. Oznacza to, że problem nie tkwi w uC, tylko w programie w c++. Dodatkowo przy wysyłaniu danych w c++, na płytce zapala się dioda informująca o przesyle danych oraz nie ma żadnych błędów, co oznacza że port został dobrze skonfigurowany. Według mnie problemem są wysyłane dane, które mają zły format. Jednak próbowałem już wielu możliwości, wysyłałem ramki "0xFF", wysyłałem w całości, znak po znaku. Byłbym wdzięczny za jakiekolwiek rady.