led_app.c 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741
  1. #include "led_app.h"
  2. #include "tasks.h"
  3. uint8_t walk_press_flag;
  4. uint32_t GetErrorCode(void)
  5. {
  6. uint32_t ErrorCodeTemp=0;
  7. if(MC_ErrorCode.ERROR_Bit.Protect_OverCurrent == 1) {ErrorCodeTemp=10; MC_ErrorCodeBackup.ERROR_Bit.Protect_OverCurrent = 1;}
  8. else if(MC_ErrorCode.ERROR_Bit.Protect_UnderVoltage == 1) {ErrorCodeTemp=11; MC_ErrorCodeBackup.ERROR_Bit.Protect_UnderVoltage = 1;}
  9. else if(MC_ErrorCode.ERROR_Bit.Protect_OverVoltage == 1) {ErrorCodeTemp=12; MC_ErrorCodeBackup.ERROR_Bit.Protect_OverVoltage = 1;}
  10. else if(MC_ErrorCode.ERROR_Bit.Protect_LockRotor == 1) {ErrorCodeTemp=13; MC_ErrorCodeBackup.ERROR_Bit.Protect_LockRotor = 1;}
  11. else if(MC_ErrorCode.ERROR_Bit.Protect_OverTemp == 1) {ErrorCodeTemp=14; MC_ErrorCodeBackup.ERROR_Bit.Protect_OverTemp = 1;}
  12. else if(MC_ErrorCode.ERROR_Bit.Fault_NtcSensor == 1) {ErrorCodeTemp=15; MC_ErrorCodeBackup.ERROR_Bit.Fault_NtcSensor = 1;}
  13. else if(MC_ErrorCode.ERROR_Bit.Fault_SpeedSensor == 1) {ErrorCodeTemp=16; MC_ErrorCodeBackup.ERROR_Bit.Fault_SpeedSensor = 1;}
  14. else if(MC_ErrorCode.ERROR_Bit.Fault_TorqueSensor == 1) {ErrorCodeTemp=17; MC_ErrorCodeBackup.ERROR_Bit.Fault_TorqueSensor = 1;}
  15. else if(MC_ErrorCode.ERROR_Bit.Fault_HallSensor == 1) {ErrorCodeTemp=18; MC_ErrorCodeBackup.ERROR_Bit.Fault_HallSensor = 1;}
  16. else if(MC_ErrorCode.ERROR_Bit.Fault_BMS_Check == 1) {ErrorCodeTemp=19; MC_ErrorCodeBackup.ERROR_Bit.Fault_BMS_Check = 1;}
  17. else if(MC_ErrorCode.ERROR_Bit.Fault_PBU_Check == 1) {ErrorCodeTemp=20; MC_ErrorCodeBackup.ERROR_Bit.Fault_PBU_Check = 1;}
  18. else if(MC_ErrorCode.ERROR_Bit.Fault_HMI_Check == 1) {ErrorCodeTemp=21; MC_ErrorCodeBackup.ERROR_Bit.Fault_HMI_Check = 1;}
  19. else if(MC_ErrorCode.ERROR_Bit.Fault_PhaseLine == 1) {ErrorCodeTemp=22; MC_ErrorCodeBackup.ERROR_Bit.Fault_PhaseLine = 1;}
  20. else if(MC_ErrorCode.ERROR_Bit.Fault_CadenceSensor == 1) {ErrorCodeTemp=23; MC_ErrorCodeBackup.ERROR_Bit.Fault_CadenceSensor = 1;}
  21. else if(MC_ErrorCode.ERROR_Bit.Fault_GasSensor == 1) {ErrorCodeTemp=24; MC_ErrorCodeBackup.ERROR_Bit.Fault_GasSensor = 1;}
  22. else if(MC_ErrorCode.ERROR_Bit.Fault_MOS == 1) {ErrorCodeTemp=25; MC_ErrorCodeBackup.ERROR_Bit.Fault_MOS = 1;}
  23. else if(MC_ErrorCode.ERROR_Bit.Protect_VoltageChange == 1) {ErrorCodeTemp=26; MC_ErrorCodeBackup.ERROR_Bit.Protect_VoltageChange = 1;}
  24. else if(MC_ErrorCode.ERROR_Bit.Fault_MCU == 1) {ErrorCodeTemp=27; MC_ErrorCodeBackup.ERROR_Bit.Fault_MCU = 1;}
  25. else if(MC_ErrorCode.ERROR_Bit.Fault_Circuit == 1) {ErrorCodeTemp=28; MC_ErrorCodeBackup.ERROR_Bit.Fault_Circuit = 1;}
  26. else if(MC_ErrorCode.ERROR_Bit.Fault_TE_MCU == 1) {ErrorCodeTemp=29; MC_ErrorCodeBackup.ERROR_Bit.Fault_TE_MCU = 1;}
  27. else if(MC_ErrorCode.ERROR_Bit.Fault_TE_Circuit == 1) {ErrorCodeTemp=30; MC_ErrorCodeBackup.ERROR_Bit.Fault_TE_Circuit = 1;}
  28. else if(PBU_ErrorCode.ERROR_Bit.Key_Add == 1) {ErrorCodeTemp=60; PBU_ErrorCodeBackup.ERROR_Bit.Key_Add = 1;}
  29. else if(PBU_ErrorCode.ERROR_Bit.Key_Dec == 1) {ErrorCodeTemp=61; PBU_ErrorCodeBackup.ERROR_Bit.Key_Dec = 1;}
  30. else if(PBU_ErrorCode.ERROR_Bit.Key_Set == 1) {ErrorCodeTemp=62; PBU_ErrorCodeBackup.ERROR_Bit.Key_Set = 1;}
  31. else if(PBU_ErrorCode.ERROR_Bit.Key_Light == 1) {ErrorCodeTemp=63; PBU_ErrorCodeBackup.ERROR_Bit.Key_Light = 1;}
  32. else if(PBU_ErrorCode.ERROR_Bit.Key_Walk == 1) {ErrorCodeTemp=64; PBU_ErrorCodeBackup.ERROR_Bit.Key_Walk = 1;}
  33. else if(PBU_ErrorCode.ERROR_Bit.Key_Power == 1) {ErrorCodeTemp=65; PBU_ErrorCodeBackup.ERROR_Bit.Key_Power = 1;}
  34. else if(PBU_ErrorCode.ERROR_Bit.MCU_Fault == 1) {ErrorCodeTemp=66; PBU_ErrorCodeBackup.ERROR_Bit.MCU_Fault = 1;}
  35. else if(PBU_ErrorCode.ERROR_Bit.MOS_Fault == 1) {ErrorCodeTemp=67; PBU_ErrorCodeBackup.ERROR_Bit.MOS_Fault = 1;}
  36. else if(PBU_ErrorCode.ERROR_Bit.Hardware_Fault == 1) {ErrorCodeTemp=68; PBU_ErrorCodeBackup.ERROR_Bit.Hardware_Fault = 1;}
  37. else if(PBU_ErrorCode.ERROR_Bit.Communication_HMI_Fault == 1) {ErrorCodeTemp=69; PBU_ErrorCodeBackup.ERROR_Bit.Communication_HMI_Fault = 1;}
  38. else if(PBU_ErrorCode.ERROR_Bit.Communication_MC_Fault == 1) {ErrorCodeTemp=70; PBU_ErrorCodeBackup.ERROR_Bit.Communication_MC_Fault = 1;}
  39. else ErrorCodeTemp=77;
  40. return ErrorCodeTemp;
  41. }
  42. void ErrorCode_LEDDisplay( uint32_t ErrorCodeTemp ) //500ms
  43. {
  44. static uint16_t Error_PWMCnt = 0;
  45. if(ErrorCodeTemp == 0)
  46. Error_PWMCnt = 0;
  47. Error_PWMCnt++;
  48. if(Error_PWMCnt <= 500)
  49. {
  50. LED_INIT();
  51. }
  52. else if(Error_PWMCnt <= 1000)
  53. {
  54. if(ControlCode.LightSwitch == 0xF0) //关灯全亮
  55. {
  56. switch(ErrorCodeTemp)
  57. {
  58. case 10:
  59. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  60. break;
  61. case 11:
  62. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  63. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  64. break;
  65. case 12:
  66. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  67. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  68. break;
  69. case 13:
  70. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  71. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  72. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  73. break;
  74. case 14:
  75. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  76. HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  77. break;
  78. case 15:
  79. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  80. HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  81. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  82. break;
  83. case 16:
  84. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  85. HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  86. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  87. break;
  88. case 17:
  89. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  90. HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  91. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  92. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  93. break;
  94. case 18:
  95. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  96. HAL_GPIO_WritePin(NORM_GPIO_Port, NORM_Pin, GPIO_PIN_RESET);
  97. break;
  98. case 19:
  99. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  100. HAL_GPIO_WritePin(NORM_GPIO_Port, NORM_Pin, GPIO_PIN_RESET);
  101. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  102. break;
  103. case 20:
  104. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  105. break;
  106. case 21:
  107. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  108. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  109. break;
  110. case 22:
  111. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  112. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  113. break;
  114. case 23:
  115. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  116. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  117. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  118. break;
  119. case 24:
  120. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  121. HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  122. break;
  123. case 25:
  124. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  125. HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  126. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  127. break;
  128. case 26:
  129. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  130. HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  131. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  132. break;
  133. case 27:
  134. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  135. HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  136. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  137. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  138. break;
  139. case 28:
  140. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  141. HAL_GPIO_WritePin(NORM_GPIO_Port, NORM_Pin, GPIO_PIN_RESET);
  142. break;
  143. case 29:
  144. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  145. HAL_GPIO_WritePin(NORM_GPIO_Port, NORM_Pin, GPIO_PIN_RESET);
  146. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  147. break;
  148. case 30:
  149. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  150. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  151. break;
  152. case 33:
  153. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  154. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  155. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  156. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  157. break;
  158. // case 40:
  159. // HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  160. //
  161. // break;
  162. // case 41:
  163. // HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  164. //
  165. // HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  166. // break;
  167. // case 42:
  168. // HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  169. //
  170. // HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  171. // break;
  172. // case 43:
  173. // HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  174. //
  175. // HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  176. // HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  177. // break;
  178. // case 44:
  179. // HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  180. //
  181. // HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  182. // break;
  183. // case 45:
  184. // HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  185. //
  186. // HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  187. // HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  188. // break;
  189. // case 46:
  190. // HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  191. //
  192. // HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  193. // HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  194. // break;
  195. // case 47:
  196. // HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  197. //
  198. // HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  199. // HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  200. // HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  201. // break;
  202. // case 48:
  203. // HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  204. //
  205. // HAL_GPIO_WritePin(NORM_GPIO_Port, NORM_Pin, GPIO_PIN_RESET);
  206. // break;
  207. // case 49:
  208. // HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  209. //
  210. // HAL_GPIO_WritePin(NORM_GPIO_Port, NORM_Pin, GPIO_PIN_RESET);
  211. // HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  212. // break;
  213. case 60:
  214. HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  215. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  216. break;
  217. case 61:
  218. HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  219. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  220. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  221. break;
  222. case 62:
  223. HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  224. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  225. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  226. break;
  227. case 63:
  228. HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  229. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  230. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  231. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  232. break;
  233. case 64:
  234. HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  235. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  236. HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  237. break;
  238. case 65:
  239. HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  240. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  241. HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  242. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  243. break;
  244. case 66:
  245. HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  246. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  247. HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  248. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  249. break;
  250. case 67:
  251. HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  252. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  253. HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  254. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  255. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  256. break;
  257. case 68:
  258. HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  259. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  260. HAL_GPIO_WritePin(NORM_GPIO_Port, NORM_Pin, GPIO_PIN_RESET);
  261. break;
  262. case 69:
  263. HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  264. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  265. HAL_GPIO_WritePin(NORM_GPIO_Port, NORM_Pin, GPIO_PIN_RESET);
  266. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  267. break;
  268. case 70:
  269. HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  270. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  271. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  272. break;
  273. case 72:
  274. HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  275. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  276. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  277. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  278. break;
  279. default:
  280. break;
  281. }
  282. }
  283. else //开灯微亮
  284. {
  285. if(((Error_PWMCnt - 500) % 10) <= 1)
  286. {
  287. switch(ErrorCodeTemp)
  288. {
  289. case 10:
  290. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  291. break;
  292. case 11:
  293. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  294. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  295. break;
  296. case 12:
  297. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  298. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  299. break;
  300. case 13:
  301. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  302. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  303. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  304. break;
  305. case 14:
  306. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  307. HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  308. break;
  309. case 15:
  310. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  311. HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  312. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  313. break;
  314. case 16:
  315. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  316. HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  317. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  318. break;
  319. case 17:
  320. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  321. HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  322. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  323. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  324. break;
  325. case 18:
  326. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  327. HAL_GPIO_WritePin(NORM_GPIO_Port, NORM_Pin, GPIO_PIN_RESET);
  328. break;
  329. case 19:
  330. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  331. HAL_GPIO_WritePin(NORM_GPIO_Port, NORM_Pin, GPIO_PIN_RESET);
  332. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  333. break;
  334. case 20:
  335. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  336. break;
  337. case 21:
  338. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  339. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  340. break;
  341. case 22:
  342. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  343. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  344. break;
  345. case 23:
  346. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  347. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  348. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  349. break;
  350. case 24:
  351. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  352. HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  353. break;
  354. case 25:
  355. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  356. HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  357. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  358. break;
  359. case 26:
  360. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  361. HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  362. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  363. break;
  364. case 27:
  365. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  366. HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  367. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  368. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  369. break;
  370. case 28:
  371. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  372. HAL_GPIO_WritePin(NORM_GPIO_Port, NORM_Pin, GPIO_PIN_RESET);
  373. break;
  374. case 29:
  375. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  376. HAL_GPIO_WritePin(NORM_GPIO_Port, NORM_Pin, GPIO_PIN_RESET);
  377. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  378. break;
  379. case 30:
  380. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  381. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  382. break;
  383. case 33:
  384. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  385. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  386. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  387. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  388. break;
  389. // case 40:
  390. // HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  391. //
  392. // break;
  393. // case 41:
  394. // HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  395. //
  396. // HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  397. // break;
  398. // case 42:
  399. // HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  400. //
  401. // HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  402. // break;
  403. // case 43:
  404. // HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  405. //
  406. // HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  407. // HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  408. // break;
  409. // case 44:
  410. // HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  411. //
  412. // HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  413. // break;
  414. // case 45:
  415. // HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  416. //
  417. // HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  418. // HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  419. // break;
  420. // case 46:
  421. // HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  422. //
  423. // HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  424. // HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  425. // break;
  426. // case 47:
  427. // HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  428. //
  429. // HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  430. // HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  431. // HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  432. // break;
  433. // case 48:
  434. // HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  435. //
  436. // HAL_GPIO_WritePin(NORM_GPIO_Port, NORM_Pin, GPIO_PIN_RESET);
  437. // break;
  438. // case 49:
  439. // HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  440. //
  441. // HAL_GPIO_WritePin(NORM_GPIO_Port, NORM_Pin, GPIO_PIN_RESET);
  442. // HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  443. // break;
  444. case 60:
  445. HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  446. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  447. break;
  448. case 61:
  449. HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  450. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  451. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  452. break;
  453. case 62:
  454. HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  455. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  456. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  457. break;
  458. case 63:
  459. HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  460. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  461. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  462. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  463. break;
  464. case 64:
  465. HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  466. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  467. HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  468. break;
  469. case 65:
  470. HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  471. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  472. HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  473. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  474. break;
  475. case 66:
  476. HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  477. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  478. HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  479. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  480. break;
  481. case 67:
  482. HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  483. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  484. HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  485. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  486. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  487. break;
  488. case 68:
  489. HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  490. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  491. HAL_GPIO_WritePin(NORM_GPIO_Port, NORM_Pin, GPIO_PIN_RESET);
  492. break;
  493. case 69:
  494. HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  495. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  496. HAL_GPIO_WritePin(NORM_GPIO_Port, NORM_Pin, GPIO_PIN_RESET);
  497. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  498. break;
  499. case 70:
  500. HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  501. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  502. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  503. break;
  504. case 72:
  505. HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  506. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  507. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  508. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  509. break;
  510. default:
  511. break;
  512. }
  513. }
  514. else
  515. {
  516. LED_INIT();
  517. }
  518. }
  519. }
  520. else
  521. {
  522. Error_PWMCnt = 0;
  523. }
  524. }
  525. void Led_Process(void)
  526. {
  527. static uint32_t Delay1TimeCnt = 0;
  528. static uint8_t Flag1 = 0, ErrorFirstFlag=0;
  529. static uint16_t PWMCnt = 0;
  530. if((PBU_hardwareErrorCode.Code!=0) || (PBU_commErrorCode.Code!=0) || (MC_ErrorCode.Code!=0))
  531. {
  532. if(ErrorFirstFlag == 0) //获取第一个故障码,故障码指示灯清零
  533. {
  534. ErrorFirstFlag = 1;
  535. ErrorCodeFinal = GetErrorCode();
  536. LED_INIT();
  537. }
  538. if( MC_ErrorCodeBackup.Code != 0) //第一个故障是否恢复
  539. {
  540. if( (MC_ErrorCodeBackup.Code&&MC_ErrorCode.Code) == 0) {ErrorFirstFlag = 0; MC_ErrorCodeBackup.Code = 0;}
  541. }
  542. else
  543. {
  544. if( (PBU_ErrorCodeBackup.Code&&PBU_ErrorCode.Code) == 0) {ErrorFirstFlag = 0; PBU_ErrorCodeBackup.Code = 0;}
  545. }
  546. ErrorCode_LEDDisplay(ErrorCodeFinal);
  547. }
  548. else
  549. {
  550. ErrorFirstFlag=0;
  551. if( BMS_ChargingFlag == TRUE )
  552. {
  553. LED_INIT();
  554. }
  555. else if(PBU_AssitMode_Status.PBU_AssistMode_Flag == PBU_AssistMode_Flag_WalkSby)
  556. {
  557. LED_INIT_GearSt();
  558. if(PBU_RunMode != PBU_RunMode_PowerOff)
  559. {
  560. if(Flag1 == 0)
  561. {
  562. Delay1TimeCnt = SysTime_5ms;
  563. HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_SET);
  564. Flag1 = 1;
  565. }
  566. if(TimeCntDiff_5ms(Delay1TimeCnt) >= 100)
  567. {
  568. HAL_GPIO_TogglePin(WALK_GPIO_Port, WALK_Pin);
  569. Delay1TimeCnt = SysTime_5ms;
  570. }
  571. }
  572. }
  573. else
  574. {
  575. Flag1 = 0;
  576. if(PBU_RunMode != PBU_RunMode_PowerOff)
  577. {
  578. if(ControlCode.LightSwitch == 0xF0) //关灯全亮
  579. {
  580. switch(ControlCode.GearSt)
  581. {
  582. case 0x00:
  583. LED_INIT();
  584. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  585. break;
  586. case 0x01:
  587. LED_INIT();
  588. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  589. break;
  590. case 0x02:
  591. LED_INIT();
  592. HAL_GPIO_WritePin(NORM_GPIO_Port, NORM_Pin, GPIO_PIN_RESET);
  593. break;
  594. case 0x03:
  595. LED_INIT();
  596. HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  597. break;
  598. case 0x04:
  599. LED_INIT();
  600. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  601. break;
  602. case 0x22:
  603. LED_INIT();
  604. HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  605. break;
  606. case 0x33:
  607. LED_INIT();
  608. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  609. break;
  610. default:
  611. break;
  612. }
  613. PWMCnt = 0;
  614. }
  615. else //开灯微亮
  616. {
  617. PWMCnt++;
  618. if(PWMCnt <= 1)
  619. {
  620. switch(ControlCode.GearSt)
  621. {
  622. case 0x00:
  623. LED_INIT();
  624. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  625. break;
  626. case 0x01:
  627. LED_INIT();
  628. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  629. break;
  630. case 0x02:
  631. LED_INIT();
  632. HAL_GPIO_WritePin(NORM_GPIO_Port, NORM_Pin, GPIO_PIN_RESET);
  633. break;
  634. case 0x03:
  635. LED_INIT();
  636. HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  637. break;
  638. case 0x04:
  639. LED_INIT();
  640. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  641. break;
  642. case 0x22:
  643. LED_INIT();
  644. HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  645. break;
  646. case 0x33:
  647. LED_INIT();
  648. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  649. break;
  650. default:
  651. break;
  652. }
  653. }
  654. else if(PWMCnt <= 10)
  655. {
  656. LED_INIT();
  657. }
  658. else
  659. {
  660. PWMCnt = 0;
  661. }
  662. }
  663. }
  664. }
  665. }
  666. }