Od godziny próbuję rozkminić, jak przez UART'a przesłać bajty synchronicznie z zewnętrznym zegarem. Dokładnie dane mają być wysyłane/odbierane tak(przykłądowe 3 bajty:
Teraz opis:
ATT(wejście) - jeśli stan niski - to mam odebrać dane.
CLOCK - wiadomo
DATA(wyjście) - Dane, które mam wysłać szeregowo
CMND(wejście) - Dane, które mam odebrać szeregowo
ACK(wyjście) - Ustawiam stan niski na chwile, jak skończę odbierać lub wysyłać
Nie wiem jak ustwić rejestr kontrolny, żeby był 8 bitowy, nie miał bitów startu i końca i najważniejsze jaki baudrate ustawić, żeby wysyłało/odbierało zgodnie z tym schematem na górze, taktowania zegara nie znam, bo to w PSX jest.
Myślałem też, żeby zrobić bez UART'u, tylko żeby na normalnym porcie bity ustawiać, wtedy bym nie miał żadnych problemów, tylko, jak mam bajt, to jak będę ustawiał jego bity, muszę robić operacje na bitach, a to zajmie parę taktów i się nie wyrobi.
PS.
Chodzi mi o pad do PSXa tutaj jest link do opisu: http://www.gamesx.com/controldata/psxcont/psxcont.htm
Ten schemat jak ma wyglądać komunikacja wziąłem z tej strony.
Będę bardzo wdzięczny za pomoc, dzisiaj jeszcze chcę sobie pograć na PSX
.
ATT -______________________________________________________________
| Byte 1 | | Byte 2 | | Byte 3 |
CLOCK ---_-_-_-_-_-_-_-_-----_-_-_-_-_-_-_-_-----_-_-_-_-_-_-_-_-----
0xFF 0x41 0x5A
DATA -------------------------__________--__----__--__----__--__----
0x01 0x42
CMND -----_____________-----__--________--__------------------------
ACK --------------------__-------------------__-----------------__-
Teraz opis:
ATT(wejście) - jeśli stan niski - to mam odebrać dane.
CLOCK - wiadomo
DATA(wyjście) - Dane, które mam wysłać szeregowo
CMND(wejście) - Dane, które mam odebrać szeregowo
ACK(wyjście) - Ustawiam stan niski na chwile, jak skończę odbierać lub wysyłać
Nie wiem jak ustwić rejestr kontrolny, żeby był 8 bitowy, nie miał bitów startu i końca i najważniejsze jaki baudrate ustawić, żeby wysyłało/odbierało zgodnie z tym schematem na górze, taktowania zegara nie znam, bo to w PSX jest.
Myślałem też, żeby zrobić bez UART'u, tylko żeby na normalnym porcie bity ustawiać, wtedy bym nie miał żadnych problemów, tylko, jak mam bajt, to jak będę ustawiał jego bity, muszę robić operacje na bitach, a to zajmie parę taktów i się nie wyrobi.
PS.
Chodzi mi o pad do PSXa tutaj jest link do opisu: http://www.gamesx.com/controldata/psxcont/psxcont.htm
Ten schemat jak ma wyglądać komunikacja wziąłem z tej strony.
Będę bardzo wdzięczny za pomoc, dzisiaj jeszcze chcę sobie pograć na PSX