uint32_t dma_storm_uart_stop(void){ uartStopSend(&UARTD6); uartStopReceive(&UARTD6); uartStop(&UARTD6); return its; }
/* * Application entry point. */ int main(void) { /* * System initializations. * - HAL initialization, this also initializes the configured device drivers * and performs the board-specific initializations. * - Kernel initialization, the main() function becomes a thread and the * RTOS is active. */ halInit(); chSysInit(); /* * Activates the UART driver 2, PA2(TX) and PA3(RX) are routed to USART2. */ uartStart(&UARTD2, &uart_cfg_1); palSetPadMode(GPIOA, 2, PAL_MODE_ALTERNATE(7)); palSetPadMode(GPIOA, 3, PAL_MODE_ALTERNATE(7)); /* * Normal main() thread activity, in this demo it does nothing. */ while (true) { if (palReadPad(GPIOA, GPIOA_BUTTON)) { /* * Starts both a transmission and a receive operations, both will be * handled entirely in background. */ uartStopReceive(&UARTD2); uartStopSend(&UARTD2); uartStartReceive(&UARTD2, 16, buffer); uartStartSend(&UARTD2, 16, message); } chThdSleepMilliseconds(500); } }