Ako ti nesto znaci, evo ti moja verzija bez HAL-a, to je sa DMA za TX, RX i kraj paketa se radi preko IDLE interapta.
U prilogu je fajl sa definicijom pinova i funkcijama za prijem, u main() samo ovo trebas da pratis:
Ta postavka mi radi odlicno, promenljive duzine paketa, ASCII / HEX ne pravi problem ...
U prilogu je fajl sa definicijom pinova i funkcijama za prijem, u main() samo ovo trebas da pratis:
Code:
//kada stigne paket sa KBD
if (UART_KBD_rx_ready == 1) {
UART_KBD_rx_ready = 0;
//radi nesto sa primljenim paketom ...
//duzina paketa u: UART_KBD_RX_packet_len;
//primljeni karakteri u: UART_KBD_RX_buff;
}
//kod slanja, napuniti UART_KBD_TX_buff i pozvati ne-blokirajucu funkciju KBD_dma_transmit_buffer(len);
Ta postavka mi radi odlicno, promenljive duzine paketa, ASCII / HEX ne pravi problem ...