PE43711(2912).c 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. /*
  2. * PE43711.c
  3. *
  4. * Created on: 2019. 6. 28.
  5. * Author: parkyj
  6. */
  7. #include "PE43711.h"
  8. #if 0 // PYJ.2019.07.26_BEGIN --
  9. PE43711_st *Atten_1_8Ghz;
  10. PE43711_st *Atten_2_1Ghz;
  11. void PE43711_PinInit(void){
  12. Atten_1_8Ghz->ATT_EN_1_8G_DL1_PIN = GPIO_PIN_1;
  13. Atten_1_8Ghz->ATT_EN_1_8G_DL1_PORT = GPIOB;
  14. Atten_1_8Ghz->ATT_EN_1_8G_DL2_PIN = GPIO_PIN_1;
  15. Atten_1_8Ghz->ATT_EN_1_8G_DL2_PORT = GPIOB;
  16. Atten_1_8Ghz->ATT_EN_1_8G_UL1_PIN = GPIO_PIN_1;
  17. Atten_1_8Ghz->ATT_EN_1_8G_UL1_PORT = GPIOB;
  18. Atten_1_8Ghz->ATT_EN_1_8G_DL1_PIN = GPIO_PIN_1;
  19. Atten_1_8Ghz->ATT_EN_1_8G_DL1_PORT = GPIOB;
  20. Atten_1_8Ghz->ATT_EN_1_8G_UL2_PIN = GPIO_PIN_1;
  21. Atten_1_8Ghz->ATT_EN_1_8G_UL2_PORT = GPIOB;
  22. Atten_1_8Ghz->ATT_EN_1_8G_UL3_PIN = GPIO_PIN_1;
  23. Atten_1_8Ghz->ATT_EN_1_8G_UL3_PORT = GPIOB;
  24. Atten_1_8Ghz->ATT_EN_1_8G_UL4_PIN = GPIO_PIN_1;
  25. Atten_1_8Ghz->ATT_EN_1_8G_UL4_PORT = GPIOB;
  26. Atten_2_1Ghz->ATT_EN_1_8G_DL1_PIN = GPIO_PIN_1;
  27. Atten_2_1Ghz->ATT_EN_1_8G_DL1_PORT = GPIOB;
  28. Atten_2_1Ghz->ATT_EN_1_8G_DL2_PIN = GPIO_PIN_1;
  29. Atten_2_1Ghz->ATT_EN_1_8G_DL2_PORT = GPIOB;
  30. Atten_2_1Ghz->ATT_EN_1_8G_UL1_PIN = GPIO_PIN_1;
  31. Atten_2_1Ghz->ATT_EN_1_8G_UL1_PORT = GPIOB;
  32. Atten_2_1Ghz->ATT_EN_1_8G_DL1_PIN = GPIO_PIN_1;
  33. Atten_2_1Ghz->ATT_EN_1_8G_DL1_PORT = GPIOB;
  34. Atten_2_1Ghz->ATT_EN_1_8G_UL2_PIN = GPIO_PIN_1;
  35. Atten_2_1Ghz->ATT_EN_1_8G_UL2_PORT = GPIOB;
  36. Atten_2_1Ghz->ATT_EN_1_8G_UL3_PIN = GPIO_PIN_1;
  37. Atten_2_1Ghz->ATT_EN_1_8G_UL3_PORT = GPIOB;
  38. Atten_2_1Ghz->ATT_EN_1_8G_UL4_PIN = GPIO_PIN_1;
  39. Atten_2_1Ghz->ATT_EN_1_8G_UL4_PORT = GPIOB;
  40. }
  41. #endif // PYJ.2019.07.26_END --
  42. void PE43711_atten_ctrl(PE43711_st* Atten_xGhz ,double data){
  43. uint8_t i = 0;
  44. uint8_t temp = 0;
  45. data = 4 * data;
  46. temp = (uint8_t)data;
  47. HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_RESET);
  48. HAL_Delay(1);
  49. for(i = 0; i < 8; i++){
  50. if((uint8_t)temp & 0x01){
  51. HAL_GPIO_WritePin(GPIOB,GPIO_PIN_15,GPIO_PIN_SET);//DATA
  52. }
  53. else{
  54. HAL_GPIO_WritePin(GPIOB,GPIO_PIN_15,GPIO_PIN_RESET);//DATA
  55. }
  56. HAL_GPIO_WritePin(GPIOB,GPIO_PIN_2,GPIO_PIN_SET);//CLOCK
  57. HAL_Delay(1);
  58. HAL_GPIO_WritePin(GPIOB,GPIO_PIN_2,GPIO_PIN_RESET);//CLOCK
  59. HAL_Delay(1);
  60. temp >>= 1;
  61. }
  62. HAL_GPIO_WritePin(GPIOB,GPIO_PIN_2,GPIO_PIN_RESET);//CLOCK
  63. HAL_GPIO_WritePin(GPIOB,GPIO_PIN_15,GPIO_PIN_RESET);//DATA
  64. HAL_Delay(5);
  65. HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_SET);//LE
  66. HAL_Delay(1);
  67. HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_RESET);
  68. }