SN_UART.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #ifndef SN_UART_H
  2. #define SN_UART_H
  3. #include "ciu32f003_std.h"
  4. //UART1_IO参数 编码表
  5. //TX引脚
  6. #define UART1_TX_PA3 0U
  7. #define UART1_TX_PA6 1U
  8. #define UART1_TX_PA7 2U
  9. #define UART1_TX_PB0 3U
  10. #define UART1_TX_PB4 4U
  11. #define UART1_TX_PB6 5U
  12. #define UART1_TX_PC0 6U
  13. //RX引脚
  14. #define UART1_RX_PA2 7U
  15. #define UART1_RX_PA4 8U
  16. #define UART1_RX_PA7 9U
  17. #define UART1_RX_PB5 10U
  18. #define UART1_RX_PB7 11U
  19. //UART2_IO参数 编码表
  20. //TX引脚
  21. #define UART2_TX_PA4 12U
  22. #define UART2_TX_PA5 13U
  23. #define UART2_TX_PB6 14U
  24. //RX引脚
  25. #define UART2_RX_PA3 15U
  26. #define UART2_RX_PA6 16U
  27. #define UART2_RX_PB2 17U
  28. #define SN_PRINTF_DEFAULT //默认使用UART1作为printf() 注释掉这行宏定义就使用UART2作为printf()
  29. //已经实现printf()
  30. void SN_UART_init(UART_t *uartx,uint32_t baudrate,uint8_t RX_IO,uint8_t TX_IO); //UARTx初始化
  31. void SN_UART_TX_BULL( UART_t *uartx,uint8_t * BULL , uint16_t BULL_LEN); //发送数组数据
  32. void SN_UART_RX_BULL_set( UART_t *uartx, uint8_t * BULL ,uint16_t BULL_LEN, uint16_t NVIC_PRIO_x); //启动中断接收(后台接收),并设置接收的数组,和大小
  33. void SN_UART_RX_CALL( UART_t *uartx,void (*UART1_CALL_FUN)(void),uint16_t NVIC_PRIO_x ); //使用自定义接收函数
  34. void SN_UART_Deinit(UART_t *uartx); //串口去初始
  35. void SN_UART_ORE_CALL(UART_t *uartx , void (*UART_CALL_FUN)(void)); //设置ORE处理函数
  36. #endif