Написал я несколько драйверов для STM32, буду тут их выкладывать, может, пригодятся. Разработка ведется в IAR.
1) UART. Работает в фоновом режиме, не использует процессорные ресурсы. Опробован на STM32F100
конфигурация:
Код: Выделить всё
//UART1
#define UART1_USE 1
#define UART1_Tx_HOOK 0
#define UART1_Rx_HOOK 0
#define UART1_TxBffSz 32
#define UART1_RxBffSz 32
#define UART1_TxDmaInterruptPrior 15
#define UART1_RxDmaInterruptPrior 15
Код: Выделить всё
uart_init(USART1, BR38400);
uart_init(USART2, BR38400);
Код: Выделить всё
uart_read(uart1, uart1->pRxBff, 10);
uart_write(uart1, uart1->pTxBff, 15);
uart_read(uart2, uart1->pRxBff, 15);
uart_write(uart2, uart1->pTxBff, 10);
Код: Выделить всё
if(uart1->rxState == uartRxSuccess){
//Приняли
}
if(uart1->txState == uartTxSuccess){
//Передали
}
