Witam,
Napisałem program który wysyła kolejno bajty przez USART do drugiego urządzenia i jednocześnie odbiera bajty (taki powiedzmy full-duplex
) . W zasadzie nic specjalnego program wygląda następująco:
Układ mam połączony na płytce stykowej, ale zauważyłem, że jak wypinam przewód RX to procesor się zawiesza - sprawdziłem debugerem:
. Czy przyczyną są drgania styków?
Wcześniej tą komunikacje realizowałem za pomocą DMA i przesyłałem hurtem 8 bajtów podczas jednego cyklu i ten efekt nie występował, mogłem dowolnie wypinać przewód RX-owy. Czy można wyeliminować problem zawieszania się procesora? Transmisja hurtem przez DMA odpad, bo zależy mi na przerwie pomiędzy przesyłanymi bajtami:
Czy mierzył się ktoś z podobnym problemem? Dodam, że przesyłając pojedyncze bajty przez DMA z pożądaną zwłoką pomiędzy bajtami efekt zawieszania dalej występuje.
Napisałem program który wysyła kolejno bajty przez USART do drugiego urządzenia i jednocześnie odbiera bajty (taki powiedzmy full-duplex
Kod: C / C++
Układ mam połączony na płytce stykowej, ale zauważyłem, że jak wypinam przewód RX to procesor się zawiesza - sprawdziłem debugerem:
Wcześniej tą komunikacje realizowałem za pomocą DMA i przesyłałem hurtem 8 bajtów podczas jednego cyklu i ten efekt nie występował, mogłem dowolnie wypinać przewód RX-owy. Czy można wyeliminować problem zawieszania się procesora? Transmisja hurtem przez DMA odpad, bo zależy mi na przerwie pomiędzy przesyłanymi bajtami:
Kod: C / C++
Czy mierzył się ktoś z podobnym problemem? Dodam, że przesyłając pojedyncze bajty przez DMA z pożądaną zwłoką pomiędzy bajtami efekt zawieszania dalej występuje.