led.c 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. #include "led.h"
  2. void LED_GPIO_Config(void)
  3. {
  4. /*定义一个GPIO_InitTypeDef类型的结构体*/
  5. GPIO_InitTypeDef GPIO_InitStructure;
  6. /*开启LED相关的GPIO外设时钟*/
  7. RCC_AHB1PeriphClockCmd ( LED_GPIO_CLK, ENABLE);
  8. /*选择要控制的GPIO引脚*/
  9. GPIO_InitStructure.GPIO_Pin = LED_PIN;
  10. /*设置引脚模式为输出模式*/
  11. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  12. /*设置引脚的输出类型为推挽输出*/
  13. GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  14. /*设置引脚为上拉模式*/
  15. GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
  16. /*设置引脚速率为2MHz */
  17. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  18. /*调用库函数,使用上面配置的GPIO_InitStructure初始化GPIO*/
  19. GPIO_Init(LED_GPIO_PORT, &GPIO_InitStructure);
  20. }
  21. void NET_STATUS_LED_Config(void)
  22. {
  23. /*定义一个GPIO_InitTypeDef类型的结构体*/
  24. GPIO_InitTypeDef GPIO_InitStructure;
  25. /*开启NET_STATUS_LED相关的GPIO外设时钟*/
  26. RCC_AHB1PeriphClockCmd ( NET_STATUS_LED_GPIO_CLK, ENABLE);
  27. /*选择要控制的GPIO引脚*/
  28. GPIO_InitStructure.GPIO_Pin = NET_STATUS_LED_PIN;
  29. /*设置引脚模式为输出模式*/
  30. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  31. /*设置引脚的输出类型为推挽输出*/
  32. GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  33. /*设置引脚为上拉模式*/
  34. GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
  35. /*设置引脚速率为2MHz */
  36. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  37. /*调用库函数,使用上面配置的GPIO_InitStructure初始化GPIO*/
  38. GPIO_Init(NET_STATUS_LED_GPIO_PORT, &GPIO_InitStructure);
  39. }
  40. void STATUS_LED_Config(void)
  41. {
  42. /*定义一个GPIO_InitTypeDef类型的结构体*/
  43. GPIO_InitTypeDef GPIO_InitStructure;
  44. /*开启STATUS_LED相关的GPIO外设时钟*/
  45. RCC_AHB1PeriphClockCmd ( STATUS_LED_GPIO_CLK, ENABLE);
  46. /*选择要控制的GPIO引脚*/
  47. GPIO_InitStructure.GPIO_Pin = STATUS_LED_PIN;
  48. /*设置引脚模式为输出模式*/
  49. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  50. /*设置引脚的输出类型为推挽输出*/
  51. GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  52. /*设置引脚为上拉模式*/
  53. GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
  54. /*设置引脚速率为2MHz */
  55. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  56. /*调用库函数,使用上面配置的GPIO_InitStructure初始化GPIO*/
  57. GPIO_Init(STATUS_LED_GPIO_PORT, &GPIO_InitStructure);
  58. }
  59. int led_openTime = 500;
  60. int led_closeTime = 500;
  61. int hd_netledOpen(void)
  62. {
  63. NET_STATUS_LED(1);
  64. return led_openTime;
  65. }
  66. int hd_netledClose(void)
  67. {
  68. NET_STATUS_LED(0);
  69. return led_closeTime;
  70. }
  71. void hd_netledSetOpenTime(int tms)
  72. {
  73. if(tms > 1000) tms = 1000;
  74. led_openTime = tms;
  75. led_closeTime = (1000 - led_openTime);
  76. }
  77. int hd_netledGetOpenTime(void)
  78. {
  79. return led_openTime;
  80. }