YX5200_main.h 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274
  1. #ifndef __YX5200_UAET2_H
  2. #define __YX5200_UAET2_H
  3. #include "main.h"
  4. #include "YX5200_MSG.h"
  5. #define YX5200_MSGLEN (10)
  6. #define MAX_MAIN_VOL 30 //最大音量
  7. #define QUERYACKTIME 20
  8. #define SYSRETURNTIME 20
  9. /************************************************************************
  10. LED灯 --- 播放指示灯
  11. *************************************************************************/
  12. #define PLAYLEDCNT 6 //按键有效灯的闪烁时间
  13. #define PLAYLED_ON //led = 0
  14. #define PLAYLED_OFF //led = 1
  15. #define PLAYLED_FLASH //led ^= 1
  16. extern uint8_t TxBufferUart2[];
  17. extern uint8_t RxBufferUart2[];
  18. extern __IO uint8_t TxCounterUart2;
  19. extern __IO uint8_t RxCounterUart2;
  20. extern uint8_t Uart2SendCount;
  21. extern uint8_t YX5200HaveRecFlag;
  22. extern void Configuration_YX5200_Usart2 ( void );
  23. extern void NVIC_Configuration_YX5200_USART2 ( void );
  24. extern void Uart2Send ( char *buffe2r, int nBytes );
  25. extern void Let_One_Music_play ( u8 fold, u16 file );
  26. extern void Random_play_music ( u8 num );
  27. /********************************************************************/
  28. #define bit u8
  29. #define INT8U u8
  30. #define INT16U u16
  31. /************************常用函数的声明*************************/
  32. #define BIT(n) (1L << (n))
  33. #define DIR_IN 0xff
  34. #define DIR_OUT 0x00
  35. #define HIGH2LOW(Uc_Data) (((Uc_Data&BIT(7))>>7)|((Uc_Data&BIT(6))>>5)|((Uc_Data&BIT(5))>>3)|((Uc_Data&BIT(4))>>1)|((Uc_Data&BIT(3))<<1)|((Uc_Data&BIT(2))<<3)|((Uc_Data&BIT(1))<<5)|((Uc_Data&BIT(0))<<7))
  36. #define DATA_X_MIRROR(Uc_Data)(((Uc_Data&BIT(0))>>0)|((Uc_Data&BIT(1))<<4)|((Uc_Data&BIT(2))<<2)|((Uc_Data&BIT(3))>>0)|((Uc_Data&BIT(4))>>2)|((Uc_Data&BIT(5))>>4)|((Uc_Data&BIT(6))<<0))
  37. typedef struct aa
  38. {
  39. INT8U a: 1 ;
  40. INT8U b: 1 ;
  41. INT8U c: 1 ;
  42. INT8U d: 1 ;
  43. INT8U e: 1 ;
  44. INT8U f: 1 ;
  45. INT8U g: 1 ;
  46. INT8U h: 1 ;
  47. } cc ;
  48. extern cc Status0 , Status1 , Status2, Status3;
  49. extern INT8U bcd_number[5];
  50. #define System_Flag_Prin_Time_Temp Status3.a
  51. #define System_Flag_Prin_Music Status3.b
  52. #define System_Flag_Music_NormKey Status3.c
  53. #define System_Flag_Music_ShortKey Status3.d
  54. #define System_Flag_2Ms Status2.a
  55. #define System_Flag_10Ms Status2.b
  56. #define System_Flag_100Ms Status2.c
  57. #define System_Flag_200Ms Status2.d
  58. #define System_Flag_500Ms Status2.e
  59. #define System_Flag_1s Status2.f
  60. #define System_Flag_8s Status2.g
  61. #define System_Flag_20s Status2.h
  62. //#define System_Flag_2Ms Status0.a
  63. //#define System_Flag_10Ms Status0.b
  64. //#define System_Flag_100Ms Status0.c
  65. //#define System_Flag_500Ms Status0.d
  66. #define RecvOver_Flag Status0.e
  67. #define Resend_Flag Status0.f //重发标志位
  68. #define Resend_Flag_Enable Status0.g //重发功能标志位
  69. #define RecvError_Flag Status0.h
  70. #define Busy_Flag Status1.a
  71. #define RecvBusy_Flag Status1.b
  72. #define Resend_Enable_Flag Status1.c
  73. #define TrigEnable Status1.d
  74. #define MainEnable Status1.e
  75. #define PointFolNum_Flag Status1.f
  76. #define PlayAllFlag Status1.g
  77. enum
  78. {
  79. SYS_STATUS_IDLE = 0,
  80. SYS_STATUS_INIT ,
  81. SYS_STATUS_WORK ,
  82. SYS_STATUS_SLEEP ,
  83. } ;
  84. enum//
  85. {
  86. EQ_NORMAL = 0,
  87. EQ_POP,
  88. EQ_ROCK,
  89. EQ_JAZZ,
  90. EQ_CLASSIC,
  91. EQ_BASS,
  92. };
  93. enum
  94. {
  95. REPEAT_ALL = 0,
  96. REPEAT_FOLDER,
  97. REPEAT_ONE,
  98. REPEAT_RANDOM,
  99. MAX_PLAY_MODE,
  100. } ;
  101. enum
  102. {
  103. PLAYDEVICE_NULL = 0 ,
  104. PLAYDEVICE_UDISK = 1,
  105. PLAYDEVICE_TFCARD ,
  106. PLAYDEVICE_PC ,
  107. PLAYDEVICE_FLASH ,
  108. PLAYDEVICE_SLEEP,
  109. PLAYDEVICE_MAX ,
  110. } ;
  111. enum
  112. {
  113. ONLINE_NULL = 0 ,
  114. ONLINE_UDIDK = 0x01 ,
  115. ONLINE_TFCARD = 0x02 ,
  116. ONLINE_PC = 0x04 ,
  117. ONLINE_FLASH = 0x08 ,
  118. } ;
  119. enum
  120. {
  121. POINTNUM_NULL = 0 ,
  122. POINTNUM_ONE ,//指定单曲播放
  123. POINTNUM_LOOP ,//指定单曲循环播放
  124. POINTNUM_FOLDER ,//指定文件播放
  125. POINTNUM_MAX ,
  126. } ;
  127. enum
  128. {
  129. _UDISK = 0 ,
  130. _TFCARD ,
  131. _PC ,
  132. _FLASH ,
  133. } ;
  134. //按键门槛值
  135. #define KEY_BASE_CNT 4
  136. #define KEY_LONG_CNT 75
  137. #define KEY_HOLD_CNT 15
  138. enum
  139. {
  140. KEY_SHORT_UP ,
  141. KEY_LONG ,
  142. KEY_HOLD ,
  143. KEY_LONG_UP ,
  144. } ;
  145. #define NO_KEY 0xff
  146. enum
  147. {
  148. KEY_NULL = 0 ,
  149. KEY_VALUE1 = 1 ,
  150. KEY_VALUE2 = 2 ,
  151. KEY_VALUE3 = 3 ,
  152. KEY_VALUE4 = 4 ,
  153. KEY_VALUE5 = 5 ,
  154. KEY_VALUE6 = 6
  155. } ;
  156. enum
  157. {
  158. SET_PLAYLED_NONE,
  159. SET_PLAYLED_ON,
  160. SET_PLAYLED_OFF,
  161. SET_PLAYLED_100MS_FLASH,
  162. SET_PLAYLED_500MS_FLASH,
  163. SET_PLAYLED_900MS_ON_100MS_OFF,
  164. SET_PLAYLED_100MS_ON_900MS_OFF,
  165. };
  166. enum
  167. {
  168. ERROR_IDLE = 0 ,
  169. ERROR_Busy ,//返回忙
  170. ERROR_SLEEP ,
  171. ERROR_RecvError ,//返回串口接收错误
  172. ERROR_CheckSError ,//返回校验出错
  173. ERROR_FolPointOver ,//返回指定文件输入错误[数据超范围]
  174. ERROR_FolPointNo ,//未找到指定的文件
  175. };
  176. /************************* 对 外 的 变 量 **************************/
  177. extern INT8U UartRecvStatus ;
  178. extern INT8U PlayledStatus;
  179. extern INT8U UartRecv_100Ms ;
  180. extern INT16U UartRecvACK ;
  181. extern bool UartRecvACKFlag;
  182. extern INT8U System_Status ;
  183. extern INT8U FEEDBACK ;//是否需要反馈[=1:要应答][=0:不要应答]
  184. extern INT8U OutTimeCnt ;
  185. extern INT8U ResendCount ;//重发次数
  186. extern INT8U PlayledCnt ;//测试led点亮的时间
  187. extern INT8U CurrentEQ ;//当前的EQ
  188. extern INT8U PlayMode ;//当前的播放模式
  189. extern INT8U input_vol ;//当前的音量
  190. extern INT8U PlayDevice ;//当前播放的设备
  191. extern INT8U OnlineDevice ;//检测到模块在线的设备
  192. extern INT8U CurrentModule ;//当前的模块型号
  193. extern INT8U SysReturnTime ;
  194. extern INT8U QueryACKTime ;//等待应答计时
  195. extern INT8U DelayTime ;
  196. extern INT8U _ErrorStatus ;
  197. extern INT8U PointFunc ;
  198. extern INT16U input_number ;
  199. extern INT16U CurDevTotal ;
  200. extern INT16U TFTotal ;
  201. extern INT16U UDiskTotal ;
  202. extern INT16U FlashTotal ;
  203. extern INT16U CurDevNUM ;
  204. extern INT16U UDiskCurFile ;
  205. extern INT16U TFCurFile ;
  206. extern INT16U FlashCurFile ;
  207. extern INT16U input_cur_fold;
  208. extern INT16U CurFileNum;//当前文件数目
  209. extern INT16U CurFoldNum;//当前文件夹数目
  210. extern void put_msg_lifo ( INT8U msg );
  211. extern INT8U app_get_msg ( void );
  212. /************************* 对 外 的 接 口 **************************/
  213. void Time_Task ( void ) ;
  214. void key_scan ( void );
  215. void Key_Task ( void ) ;
  216. void Indicator_Scan ( void );
  217. void MSG_Task ( void );
  218. //void put_msg_lifo(INT8U msg);
  219. //INT8U app_get_msg(void);
  220. #endif