dma_uart.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #ifndef DMA_UART_H
  2. #define DMA_UART_H
  3. #include <stdint.h>
  4. #include "FreeRTOS.h"
  5. #include "task.h"
  6. #define ARRAYNUM(arr_nanme) (uint32_t)(sizeof(arr_nanme) / sizeof(*(arr_nanme)))
  7. #define USART0_TDATA_ADDRESS ((uint32_t)0x40013828)
  8. #define USART0_RDATA_ADDRESS ((uint32_t)0x40013824)
  9. #define USART1_TDATA_ADDRESS (uint32_t)(&USART_TDATA(USART1))
  10. #define USART1_RDATA_ADDRESS (uint32_t)(&USART_RDATA(USART1))
  11. typedef void (*COM_DATA_CB)(uint8_t*, uint32_t);
  12. #define UART_RECV_SUB_DELAY (5)
  13. #define COM0_TX_PIN GPIO_PIN_9
  14. #define COM0_RX_PIN GPIO_PIN_10
  15. #define COM0_GPIO_PORT GPIOA
  16. #define COM0_GPIO_CLK RCU_GPIOA
  17. #define COM0_AF GPIO_AF_1
  18. //#define COM0_BAUDRATE 9600U
  19. #define COM0_BAUDRATE 115200U
  20. #define COM0_WORD_LEN USART_WL_8BIT
  21. #define COM0_STOP_BIT USART_STB_1BIT
  22. #define COM0_PM USART_PM_NONE
  23. #define COM0_CTRL USART_HCM_NONE
  24. #define COM0_DMA_SEND_LEN (64)
  25. #define COM0_DMA_REC_LEN (64)
  26. #define COM0_USE_RTS (1)
  27. #define COM0_RTS_SEND_HIGH (1)
  28. #define COM0_RTS_DELAY (2)
  29. #define COM1_TX_PIN GPIO_PIN_2
  30. #define COM1_RX_PIN GPIO_PIN_3
  31. #define COM1_GPIO_PORT GPIOA
  32. #define COM1_GPIO_CLK RCU_GPIOA
  33. #define COM1_AF GPIO_AF_1
  34. #define COM1_BAUDRATE 9600U
  35. #define COM1_WORD_LEN USART_WL_9BIT //如果pm 不是none 这里要设置成9
  36. #define COM1_STOP_BIT USART_STB_1BIT
  37. #define COM1_PM USART_PM_EVEN
  38. #define COM1_CTRL USART_HCM_NONE
  39. #define COM1_DMA_SEND_LEN (32)
  40. #define COM1_DMA_REC_LEN (32)
  41. #define COM1_USE_RTS (0)
  42. #define COM1_RTS_SEND_HIGH (1)
  43. #define COM1_RTS_DELAY (2)
  44. uint8_t* com0_receive(uint32_t t,uint16_t* len);
  45. uint8_t* com1_receive(uint32_t t,uint16_t* len);
  46. void com0_gpio_init(void);
  47. void com0_usart_init(void);
  48. void com0_dma_init(void);
  49. void com0_dma_send_data(uint8_t *buffter, uint8_t length);
  50. void com0_dma_printf(const char *format,...);
  51. void com0_data_transmit(uint8_t arr[], uint32_t length);
  52. void com0_set_cb(COM_DATA_CB cb);
  53. void com0_rts_init();
  54. void com0_rts_set();
  55. void com0_rts_reset();
  56. void com1_gpio_init(void);
  57. void com1_usart_init(void);
  58. void com1_dma_init(void);
  59. void com1_dma_send_data(uint8_t *buffter, uint8_t length);
  60. void com1_dma_printf(const char *format,...);
  61. void com1_data_transmit(uint8_t arr[], uint32_t length);
  62. void com1_set_cb(COM_DATA_CB cb);
  63. #endif