LED.c 999 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #include "stm32f10x.h" // Device header
  2. void LED_Init(void)
  3. {
  4. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
  5. GPIO_InitTypeDef GPIO_InitStructure;
  6. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  7. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_2;
  8. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  9. GPIO_Init(GPIOA, &GPIO_InitStructure);
  10. GPIO_SetBits(GPIOA, GPIO_Pin_1 | GPIO_Pin_2);
  11. }
  12. void LED1_ON(void)
  13. {
  14. GPIO_ResetBits(GPIOA, GPIO_Pin_1);
  15. }
  16. void LED1_OFF(void)
  17. {
  18. GPIO_SetBits(GPIOA, GPIO_Pin_1);
  19. }
  20. void LED1_Turn(void)
  21. {
  22. if (GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_1) == 0)
  23. {
  24. GPIO_SetBits(GPIOA, GPIO_Pin_1);
  25. }
  26. else
  27. {
  28. GPIO_ResetBits(GPIOA, GPIO_Pin_1);
  29. }
  30. }
  31. void LED2_ON(void)
  32. {
  33. GPIO_ResetBits(GPIOA, GPIO_Pin_2);
  34. }
  35. void LED2_OFF(void)
  36. {
  37. GPIO_SetBits(GPIOA, GPIO_Pin_2);
  38. }
  39. void LED2_Turn(void)
  40. {
  41. if (GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_2) == 0)
  42. {
  43. GPIO_SetBits(GPIOA, GPIO_Pin_2);
  44. }
  45. else
  46. {
  47. GPIO_ResetBits(GPIOA, GPIO_Pin_2);
  48. }
  49. }