10-07-2017, 03:19 PM
@mikikg
Očigledno da je najbolje tako. Koristiti CubeMX da generiše inicijalizaciju i podešavanje pinova i slično, a zatim uraditi sve na već uobičajeni način. Gledati registre i low-level kodiranje.
U uređaju imam tri UART-a, jedan je za GSM modul gde su mi paketi promenljive dužine, tu ne bih radio sa DMA. Drugi komunikacija sa PC bi mogla tako jer imam fiksne dužine paketa 32By, a treći koristim za slave uređaj opet paketi iste dužine 256By. Možda i tu DMA. U svakom slučaju očigledno da je zaključak da HAL framework može da ne radi kako treba.
@gorankg
Nažalost ne. I kada radi primi svega par bajtova, često i svega jedan i onda zaglavi. To sam mislio da ću rešiti ponovnim initom interapta komandom
HAL_UART_Receive_IT(&huart2, (uint8_t *)aRxBufferU2, 1); ali nije se ništa promenilo.
Očigledno da je najbolje tako. Koristiti CubeMX da generiše inicijalizaciju i podešavanje pinova i slično, a zatim uraditi sve na već uobičajeni način. Gledati registre i low-level kodiranje.
U uređaju imam tri UART-a, jedan je za GSM modul gde su mi paketi promenljive dužine, tu ne bih radio sa DMA. Drugi komunikacija sa PC bi mogla tako jer imam fiksne dužine paketa 32By, a treći koristim za slave uređaj opet paketi iste dužine 256By. Možda i tu DMA. U svakom slučaju očigledno da je zaključak da HAL framework može da ne radi kako treba.
@gorankg
Nažalost ne. I kada radi primi svega par bajtova, često i svega jedan i onda zaglavi. To sam mislio da ću rešiti ponovnim initom interapta komandom
HAL_UART_Receive_IT(&huart2, (uint8_t *)aRxBufferU2, 1); ali nije se ništa promenilo.