led.c 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  1. #include "led.h"
  2. void LED_GPIOA_Config(void)
  3. {
  4. GPIO_InitTypeDef GPIO_InitStructure;
  5. RCC_AHB1PeriphClockCmd (RCC_AHB1Periph_GPIOA, ENABLE);
  6. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_15;
  7. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  8. GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  9. GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;
  10. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  11. GPIO_Init(GPIOA, &GPIO_InitStructure);
  12. }
  13. void LED_GPIOB_Config(void)
  14. {
  15. GPIO_InitTypeDef GPIO_InitStructure;
  16. RCC_AHB1PeriphClockCmd (RCC_AHB1Periph_GPIOB, ENABLE);
  17. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 |
  18. GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 ;
  19. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  20. GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  21. GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;
  22. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  23. GPIO_Init(GPIOB, &GPIO_InitStructure);
  24. }
  25. void LED_GPIOC_Config(void)
  26. {
  27. GPIO_InitTypeDef GPIO_InitStructure;
  28. RCC_AHB1PeriphClockCmd (RCC_AHB1Periph_GPIOC, ENABLE);
  29. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 |
  30. GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15 ;
  31. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  32. GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  33. GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;
  34. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  35. GPIO_Init(GPIOC, &GPIO_InitStructure);
  36. }
  37. void LED_GPIOD_Config(void)
  38. {
  39. GPIO_InitTypeDef GPIO_InitStructure;
  40. RCC_AHB1PeriphClockCmd (RCC_AHB1Periph_GPIOD, ENABLE);
  41. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 |
  42. GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;
  43. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  44. GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  45. GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;
  46. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  47. GPIO_Init(GPIOD, &GPIO_InitStructure);
  48. }
  49. void LED_GPIOE_Config(void)
  50. {
  51. GPIO_InitTypeDef GPIO_InitStructure;
  52. RCC_AHB1PeriphClockCmd (RCC_AHB1Periph_GPIOE, ENABLE);
  53. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
  54. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  55. GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  56. GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;
  57. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  58. GPIO_Init(GPIOE, &GPIO_InitStructure);
  59. }
  60. void LED_GPIOF_Config(void)
  61. {
  62. GPIO_InitTypeDef GPIO_InitStructure;
  63. RCC_AHB1PeriphClockCmd (RCC_AHB1Periph_GPIOF, ENABLE);
  64. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
  65. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  66. GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  67. GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;
  68. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  69. GPIO_Init(GPIOF, &GPIO_InitStructure);
  70. }
  71. void LED_GPIOG_Config(void)
  72. {
  73. GPIO_InitTypeDef GPIO_InitStructure;
  74. RCC_AHB1PeriphClockCmd (RCC_AHB1Periph_GPIOG, ENABLE);
  75. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 ;
  76. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  77. GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  78. GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;
  79. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  80. GPIO_Init(GPIOG, &GPIO_InitStructure);
  81. }
  82. // LED初始化
  83. void LED_GPIO_Config()
  84. {
  85. LED_GPIOA_Config();
  86. LED_GPIOB_Config();
  87. LED_GPIOC_Config();
  88. LED_GPIOD_Config();
  89. LED_GPIOE_Config();
  90. LED_GPIOF_Config();
  91. LED_GPIOG_Config();
  92. }
  93. /*
  94. *********************************************************************************************************
  95. * 函 数 名: void led(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, uint8_t a)
  96. * 功能说明: 操作LED
  97. * 形 参: GPIOx: x_LEDy_GPIO_PORT(x : A-D,y :1-18).
  98. GPIO_Pin:x_LEDy_PIN(x : A-D,y :1-18).
  99. a: ON 打开 OFF 关闭
  100. * 返 回 值: 无
  101. *********************************************************************************************************
  102. */
  103. void led(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, uint8_t a) {
  104. if(a) GPIO_SetBits(GPIOx,GPIO_Pin);
  105. else GPIO_ResetBits(GPIOx,GPIO_Pin);
  106. }
  107. //uint8_t all_whilte_light(uint8_t cmd)
  108. //{
  109. // // A
  110. // led(A_LED1_GPIO_PORT,A_LED1_PIN,cmd);//red
  111. // led(A_LED3_GPIO_PORT,A_LED3_PIN,cmd);//green
  112. // led(A_LED4_GPIO_PORT,A_LED4_PIN,cmd);//red
  113. // led(A_LED6_GPIO_PORT,A_LED6_PIN,cmd);//green
  114. // led(A_LED7_GPIO_PORT,A_LED7_PIN,cmd);//red
  115. // led(A_LED9_GPIO_PORT,A_LED9_PIN,cmd);//green
  116. // led(A_LED10_GPIO_PORT,A_LED10_PIN,cmd);//red
  117. // led(A_LED12_GPIO_PORT,A_LED12_PIN,cmd);//green
  118. // led(A_LED13_GPIO_PORT,A_LED13_PIN,cmd);//red
  119. // led(A_LED15_GPIO_PORT,A_LED15_PIN,cmd);//green
  120. // led(A_LED16_GPIO_PORT,A_LED16_PIN,cmd);//red
  121. // led(A_LED18_GPIO_PORT,A_LED18_PIN,cmd);//green
  122. //
  123. // // B
  124. // led(B_LED1_GPIO_PORT,B_LED1_PIN,cmd);//red
  125. // led(B_LED3_GPIO_PORT,B_LED3_PIN,cmd);//green
  126. // led(B_LED4_GPIO_PORT,B_LED4_PIN,cmd);//red
  127. // led(B_LED6_GPIO_PORT,B_LED6_PIN,cmd);//green
  128. // led(B_LED7_GPIO_PORT,B_LED7_PIN,cmd);//red
  129. // led(B_LED9_GPIO_PORT,B_LED9_PIN,cmd);//green
  130. // led(B_LED10_GPIO_PORT,B_LED10_PIN,cmd);//red
  131. // led(B_LED12_GPIO_PORT,B_LED12_PIN,cmd);//green
  132. // led(B_LED13_GPIO_PORT,B_LED13_PIN,cmd);//red
  133. // led(B_LED15_GPIO_PORT,B_LED15_PIN,cmd);//green
  134. // led(B_LED16_GPIO_PORT,B_LED16_PIN,cmd);//red
  135. // led(B_LED18_GPIO_PORT,B_LED18_PIN,cmd);//green
  136. //
  137. // // C
  138. // led(C_LED1_GPIO_PORT,C_LED1_PIN,cmd);//red
  139. // led(C_LED3_GPIO_PORT,C_LED3_PIN,cmd);//green
  140. // led(C_LED4_GPIO_PORT,C_LED4_PIN,cmd);//red
  141. // led(C_LED6_GPIO_PORT,C_LED6_PIN,cmd);//green
  142. // led(C_LED7_GPIO_PORT,C_LED7_PIN,cmd);//red
  143. // led(C_LED9_GPIO_PORT,C_LED9_PIN,cmd);//green
  144. // led(C_LED10_GPIO_PORT,C_LED10_PIN,cmd);//red
  145. // led(C_LED12_GPIO_PORT,C_LED12_PIN,cmd);//green
  146. // led(C_LED13_GPIO_PORT,C_LED13_PIN,cmd);//red
  147. // led(C_LED15_GPIO_PORT,C_LED15_PIN,cmd);//green
  148. // led(C_LED16_GPIO_PORT,C_LED16_PIN,cmd);//red
  149. // led(C_LED18_GPIO_PORT,C_LED18_PIN,cmd);//green
  150. //
  151. // // D
  152. // led(D_LED1_GPIO_PORT,D_LED1_PIN,cmd);//red
  153. // led(D_LED3_GPIO_PORT,D_LED3_PIN,cmd);//green
  154. // led(D_LED4_GPIO_PORT,D_LED4_PIN,cmd);//red
  155. // led(D_LED6_GPIO_PORT,D_LED6_PIN,cmd);//green
  156. // led(D_LED7_GPIO_PORT,D_LED7_PIN,cmd);//red
  157. // led(D_LED9_GPIO_PORT,D_LED9_PIN,cmd);//green
  158. // led(D_LED10_GPIO_PORT,D_LED10_PIN,cmd);//red
  159. // led(D_LED12_GPIO_PORT,D_LED12_PIN,cmd);//green
  160. // led(D_LED13_GPIO_PORT,D_LED13_PIN,cmd);//red
  161. // led(D_LED15_GPIO_PORT,D_LED15_PIN,cmd);//green
  162. // led(D_LED16_GPIO_PORT,D_LED16_PIN,cmd);//red
  163. // led(D_LED18_GPIO_PORT,D_LED18_PIN,cmd);//green
  164. // return 1;
  165. //}
  166. uint8_t all_green_light(uint8_t cmd)
  167. {
  168. // A
  169. led(A_LED3_GPIO_PORT,A_LED3_PIN,cmd);
  170. led(A_LED6_GPIO_PORT,A_LED6_PIN,cmd);
  171. led(A_LED9_GPIO_PORT,A_LED9_PIN,cmd);
  172. led(A_LED12_GPIO_PORT,A_LED12_PIN,cmd);
  173. led(A_LED15_GPIO_PORT,A_LED15_PIN,cmd);
  174. led(A_LED18_GPIO_PORT,A_LED18_PIN,cmd);
  175. // B
  176. led(B_LED3_GPIO_PORT,B_LED3_PIN,cmd);
  177. led(B_LED6_GPIO_PORT,B_LED6_PIN,cmd);
  178. led(B_LED9_GPIO_PORT,B_LED9_PIN,cmd);
  179. led(B_LED12_GPIO_PORT,B_LED12_PIN,cmd);
  180. led(B_LED15_GPIO_PORT,B_LED15_PIN,cmd);
  181. led(B_LED18_GPIO_PORT,B_LED18_PIN,cmd);
  182. // C
  183. led(C_LED3_GPIO_PORT,C_LED3_PIN,cmd);
  184. led(C_LED6_GPIO_PORT,C_LED6_PIN,cmd);
  185. led(C_LED9_GPIO_PORT,C_LED9_PIN,cmd);
  186. led(C_LED12_GPIO_PORT,C_LED12_PIN,cmd);
  187. led(C_LED15_GPIO_PORT,C_LED15_PIN,cmd);
  188. led(C_LED18_GPIO_PORT,C_LED18_PIN,cmd);
  189. // D
  190. led(D_LED3_GPIO_PORT,D_LED3_PIN,cmd);
  191. led(D_LED6_GPIO_PORT,D_LED6_PIN,cmd);
  192. led(D_LED9_GPIO_PORT,D_LED9_PIN,cmd);
  193. led(D_LED12_GPIO_PORT,D_LED12_PIN,cmd);
  194. led(D_LED15_GPIO_PORT,D_LED15_PIN,cmd);
  195. led(D_LED18_GPIO_PORT,D_LED18_PIN,cmd);
  196. return 1;
  197. }
  198. uint8_t all_red_light(uint8_t cmd)
  199. {
  200. // A
  201. led(A_LED1_GPIO_PORT,A_LED1_PIN,cmd);
  202. led(A_LED4_GPIO_PORT,A_LED4_PIN,cmd);
  203. led(A_LED7_GPIO_PORT,A_LED7_PIN,cmd);
  204. led(A_LED10_GPIO_PORT,A_LED10_PIN,cmd);
  205. led(A_LED13_GPIO_PORT,A_LED13_PIN,cmd);
  206. led(A_LED16_GPIO_PORT,A_LED16_PIN,cmd);
  207. // B
  208. led(B_LED1_GPIO_PORT,B_LED1_PIN,cmd);
  209. led(B_LED4_GPIO_PORT,B_LED4_PIN,cmd);
  210. led(B_LED7_GPIO_PORT,B_LED7_PIN,cmd);
  211. led(B_LED10_GPIO_PORT,B_LED10_PIN,cmd);
  212. led(B_LED13_GPIO_PORT,B_LED13_PIN,cmd);
  213. led(B_LED16_GPIO_PORT,B_LED16_PIN,cmd);
  214. // C
  215. led(C_LED1_GPIO_PORT,C_LED1_PIN,cmd);
  216. led(C_LED4_GPIO_PORT,C_LED4_PIN,cmd);
  217. led(C_LED7_GPIO_PORT,C_LED7_PIN,cmd);
  218. led(C_LED10_GPIO_PORT,C_LED10_PIN,cmd);
  219. led(C_LED13_GPIO_PORT,C_LED13_PIN,cmd);
  220. led(C_LED16_GPIO_PORT,C_LED16_PIN,cmd);
  221. // D
  222. led(D_LED1_GPIO_PORT,D_LED1_PIN,cmd);
  223. led(D_LED4_GPIO_PORT,D_LED4_PIN,cmd);
  224. led(D_LED7_GPIO_PORT,D_LED7_PIN,cmd);
  225. led(D_LED10_GPIO_PORT,D_LED10_PIN,cmd);
  226. led(D_LED13_GPIO_PORT,D_LED13_PIN,cmd);
  227. led(D_LED16_GPIO_PORT,D_LED16_PIN,cmd);
  228. return 1;
  229. }
  230. uint8_t all_yellow_light(uint8_t cmd)
  231. {
  232. // A
  233. led(A_LED2_GPIO_PORT,A_LED2_PIN,cmd);
  234. led(A_LED5_GPIO_PORT,A_LED5_PIN,cmd);
  235. led(A_LED8_GPIO_PORT,A_LED8_PIN,cmd);
  236. led(A_LED11_GPIO_PORT,A_LED11_PIN,cmd);
  237. led(A_LED14_GPIO_PORT,A_LED14_PIN,cmd);
  238. led(A_LED17_GPIO_PORT,A_LED17_PIN,cmd);
  239. // B
  240. led(B_LED2_GPIO_PORT,B_LED2_PIN,cmd);
  241. led(B_LED5_GPIO_PORT,B_LED5_PIN,cmd);
  242. led(B_LED8_GPIO_PORT,B_LED8_PIN,cmd);
  243. led(B_LED11_GPIO_PORT,B_LED11_PIN,cmd);
  244. led(B_LED14_GPIO_PORT,B_LED14_PIN,cmd);
  245. led(B_LED17_GPIO_PORT,B_LED17_PIN,cmd);
  246. // C
  247. led(C_LED2_GPIO_PORT,C_LED2_PIN,cmd);
  248. led(C_LED5_GPIO_PORT,C_LED5_PIN,cmd);
  249. led(C_LED8_GPIO_PORT,C_LED8_PIN,cmd);
  250. led(C_LED11_GPIO_PORT,C_LED11_PIN,cmd);
  251. led(C_LED14_GPIO_PORT,C_LED14_PIN,cmd);
  252. led(C_LED17_GPIO_PORT,C_LED17_PIN,cmd);
  253. // D
  254. led(D_LED2_GPIO_PORT,D_LED2_PIN,cmd);
  255. led(D_LED5_GPIO_PORT,D_LED5_PIN,cmd);
  256. led(D_LED8_GPIO_PORT,D_LED8_PIN,cmd);
  257. led(D_LED11_GPIO_PORT,D_LED11_PIN,cmd);
  258. led(D_LED14_GPIO_PORT,D_LED14_PIN,cmd);
  259. led(D_LED17_GPIO_PORT,D_LED17_PIN,cmd);
  260. return 1;
  261. }
  262. uint8_t all_light(uint8_t cmd)
  263. {
  264. // all_whilte_light(cmd);
  265. all_green_light(cmd);
  266. all_red_light(cmd);
  267. all_yellow_light(cmd);
  268. return 1;
  269. }