device.h 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. /**
  2. ******************************** STM32F10x *********************************
  3. * @文件名 : usart.h
  4. * @作者 : sun
  5. * @库版本 : V3.5.0
  6. * @文件版本 : V1.0.0
  7. * @日期 : 2016年05月09日
  8. * @摘要 : USART头文件
  9. ******************************************************************************/
  10. /* 定义防止递归包含 ----------------------------------------------------------*/
  11. #ifndef _USART_H
  12. #define _USART_H
  13. /* 包含的头文件 --------------------------------------------------------------*/
  14. #include "stm32f10x.h"
  15. #include "stdio.h"
  16. #include "queue.h"
  17. //#define DEBUG_EN 1
  18. #ifdef DEBUG_EN
  19. #include <stdio.h>
  20. #define DEBUG(fmt, x...) \
  21. do \
  22. { \
  23. printf(fmt,##x); \
  24. }while(0)
  25. #define DEBUG1(fmt, x...) \
  26. do \
  27. { \
  28. printf("%s(Line %d): "fmt,__FUNCTION__,__LINE__, ##x); \
  29. }while(0)
  30. #define DEBUG2(fmt, x...) \
  31. do \
  32. { \
  33. USART_printfHex(fmt,##x); \
  34. }while(0)
  35. #define DEBUG_F(fmt, x...) \
  36. do \
  37. { \
  38. printf("%s %s(Line %d): "fmt,__FILE__,__FUNCTION__,__LINE__, ##x); \
  39. }while(0)
  40. #else
  41. #define DEBUG(fmt, x...)
  42. #define DEBUG1(fmt, x...)
  43. #define DEBUG2(fmt, x...)
  44. #define DEBUG_F(fmt, x...)
  45. #endif
  46. #define MAXLOADLEN 128
  47. #define SYSTEMTICK_PERIOD_MS 1 //滴答时基,单位ms,缺省值10ms
  48. /********************uart1****************************/
  49. #define USART1_BAUDRATE 9600 //波特率,缺省值115200
  50. #define USART1_BUF_SIZE 128 //接收一、二级缓冲区大小,缺省值2000
  51. #define USART1_RECEIVE_OVERTIME 100 //字节超时时间, 单位为ms,缺省值100ms
  52. extern uint8_t USART1_ready_buf[];
  53. extern volatile uint8_t USART1_ready_buf_ok;
  54. extern volatile uint16_t USART1_ready_buf_len;
  55. #define USART2_BAUDRATE 115200 //波特率,缺省值115200
  56. #define USART2_BUF_SIZE 128 //接收一、二级缓冲区大小,缺省值2000
  57. #define USART2_RECEIVE_OVERTIME 100 //字节超时时间, 单位为ms,缺省值100ms
  58. extern uint8_t USART2_ready_buf[];
  59. extern volatile uint8_t USART2_ready_buf_ok;
  60. extern volatile uint16_t USART2_ready_buf_len;
  61. #define UART4_BAUDRATE 115200 //波特率,缺省值115200
  62. #define UART4_BUF_SIZE 128 //接收一、二级缓冲区大小,缺省值2000
  63. #define UART4_RECEIVE_OVERTIME 100 //字节超时时间, 单位为ms,缺省值100ms
  64. extern uint8_t UART4_ready_buf[];
  65. extern volatile uint8_t UART4_ready_buf_ok;
  66. extern volatile uint8_t UART4_ready_buf_len;
  67. extern sequeue_t *usart2_rx_sq;
  68. extern sequeue_t *uart4_rx_sq;
  69. extern sequeue_t *uart4_tx_sq;
  70. extern sequeue_t *usart1_rx_sq;
  71. extern sequeue_t *usart1_tx_sq;
  72. extern sequeue_t *uart5_rx_sq;
  73. extern sequeue_t *uart5_tx_sq;
  74. #define UART5_BAUDRATE 9600 //波特率,缺省值115200
  75. #define UART5_BUF_SIZE 128 //接收一、二级缓冲区大小,缺省值2000
  76. #define UART5_RECEIVE_OVERTIME 100 //字节超时时间, 单位为ms,缺省值100ms
  77. extern uint8_t UART5_ready_buf[];
  78. extern volatile uint8_t UART5_ready_buf_ok;
  79. extern volatile uint16_t UART5_ready_buf_len;
  80. /* 函数申明 ------------------------------------------------------------------*/
  81. void USART_Initializes(void);
  82. void USART1_SendByte(uint8_t Data);
  83. void USART1_SendNByte(uint8_t *pData, uint16_t Length);
  84. void USART1_Printf(uint8_t *String);
  85. void USART2_SendByte(uint8_t Data);
  86. void USART2_SendNByte(uint8_t *pData, uint16_t Length);
  87. void USART2_Printf(uint8_t *String);
  88. void UART4_SendByte(uint8_t Data);
  89. void UART4_SendNByte(uint8_t *pData, uint16_t Length);
  90. void UART4_Printf(uint8_t *String);
  91. void UART5_SendByte(uint8_t Data);
  92. void UART5_SendNByte(uint8_t *pData, uint16_t Length);
  93. void UART5_Printf(uint8_t *String);
  94. void USART_ReceiveOvertimeProcess(void);
  95. void USART_printfHex(const uint8_t* SendChars,uint16_t len);
  96. uint8_t Ascii2Hex(uint8_t *hex, uint8_t *ascii, uint8_t asciiLen);
  97. uint8_t Hex2Ascii(uint8_t *ascii, uint8_t *hex, uint8_t hexLen);
  98. sequeue_t *usart2_Rcv_sq_init(void);
  99. sequeue_t *uart4_Rcv_sq_init(void);
  100. sequeue_t *uart4_Send_sq_init(void);
  101. sequeue_t *usart1_Rcv_sq_init(void);
  102. sequeue_t *usart1_Send_sq_init(void);
  103. sequeue_t *uart5_Rcv_sq_init(void);
  104. sequeue_t *uart5_Send_sq_init(void);
  105. void UsartToLora(void );
  106. extern volatile uint8_t m_state_code;
  107. typedef enum
  108. {
  109. M_STATE_IDLE=0,
  110. M_STATE_ERASE_APP1,
  111. M_STATE_ERASE_APP2,
  112. M_STATE_ERASE_APP3,
  113. M_STATE_CP_APP1_APP2,
  114. M_STATE_CP_APP3_APP1,
  115. M_STATE_CP_APP2_APP1,
  116. M_STATE_RUN_APP1,
  117. M_STATE_GET_INFO,
  118. M_STATE_RST
  119. } t_mStateCodes;
  120. #endif /* _USART_H */
  121. /**** Copyright (C)2016 sun. All Rights Reserved **** END OF FILE ****/