BDA4601(5295).c 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. /*
  2. * BDA4601.c
  3. *
  4. * Created on: 2019. 6. 28.
  5. * Author: parkyj
  6. */
  7. #include "BDA4601.h"
  8. BDA4601_st BDA4601_1_8G_DL1 = {
  9. ATT_CLK_GPIO_Port,
  10. ATT_CLK_Pin,
  11. ATT_DATA_GPIO_Port,
  12. ATT_DATA_Pin,
  13. ATT_EN_1_8G_DL1_GPIO_Port,
  14. ATT_EN_1_8G_DL1_Pin,
  15. };
  16. BDA4601_st BDA4601_1_8G_DL2 = {
  17. ATT_CLK_GPIO_Port,
  18. ATT_CLK_Pin,
  19. ATT_DATA_GPIO_Port,
  20. ATT_DATA_Pin,
  21. ATT_EN_1_8G_DL2_GPIO_Port,
  22. ATT_EN_1_8G_DL2_Pin,
  23. };
  24. BDA4601_st BDA4601_1_8G_UL1 = {
  25. ATT_CLK_GPIO_Port,
  26. ATT_CLK_Pin,
  27. ATT_DATA_GPIO_Port,
  28. ATT_DATA_Pin,
  29. ATT_EN_1_8G_UL1_GPIO_Port,
  30. ATT_EN_1_8G_UL1_Pin,
  31. };
  32. BDA4601_st BDA4601_1_8G_UL2 = {
  33. ATT_CLK_GPIO_Port,
  34. ATT_CLK_Pin,
  35. ATT_DATA_GPIO_Port,
  36. ATT_DATA_Pin,
  37. ATT_EN_1_8G_UL2_GPIO_Port,
  38. ATT_EN_1_8G_UL2_Pin,
  39. };
  40. BDA4601_st BDA4601_1_8G_UL3 = {
  41. ATT_CLK_GPIO_Port,
  42. ATT_CLK_Pin,
  43. ATT_DATA_GPIO_Port,
  44. ATT_DATA_Pin,
  45. ATT_EN_1_8G_UL1_GPIO_Port,
  46. ATT_EN_1_8G_UL1_Pin,
  47. };
  48. BDA4601_st BDA4601_1_8G_UL4 = {
  49. ATT_CLK_GPIO_Port,
  50. ATT_CLK_Pin,
  51. ATT_DATA_GPIO_Port,
  52. ATT_DATA_Pin,
  53. ATT_EN_1_8G_UL4_GPIO_Port,
  54. ATT_EN_1_8G_UL4_Pin,
  55. };
  56. BDA4601_st BDA4601_2_1G_DL1= {
  57. ATT_CLK_GPIO_Port,
  58. ATT_CLK_Pin,
  59. ATT_DATA_GPIO_Port,
  60. ATT_DATA_Pin,
  61. ATT_EN_2_1G_DL1_GPIO_Port,
  62. ATT_EN_2_1G_DL1_Pin,
  63. }; ;
  64. BDA4601_st BDA4601_2_1G_DL2= {
  65. ATT_CLK_GPIO_Port,
  66. ATT_CLK_Pin,
  67. ATT_DATA_GPIO_Port,
  68. ATT_DATA_Pin,
  69. ATT_EN_2_1G_DL2_GPIO_Port,
  70. ATT_EN_2_1G_DL2_Pin,
  71. };
  72. BDA4601_st BDA4601_2_1G_UL1= {
  73. ATT_CLK_GPIO_Port,
  74. ATT_CLK_Pin,
  75. ATT_DATA_GPIO_Port,
  76. ATT_DATA_Pin,
  77. ATT_EN_2_1G_UL1_GPIO_Port,
  78. ATT_EN_2_1G_UL1_Pin,
  79. };
  80. BDA4601_st BDA4601_2_1G_UL2= {
  81. ATT_CLK_GPIO_Port,
  82. ATT_CLK_Pin,
  83. ATT_DATA_GPIO_Port,
  84. ATT_DATA_Pin,
  85. ATT_EN_2_1G_UL2_GPIO_Port,
  86. ATT_EN_2_1G_UL2_Pin,
  87. };
  88. BDA4601_st BDA4601_2_1G_UL3= {
  89. ATT_CLK_GPIO_Port,
  90. ATT_CLK_Pin,
  91. ATT_DATA_GPIO_Port,
  92. ATT_DATA_Pin,
  93. ATT_EN_2_1G_UL3_GPIO_Port,
  94. ATT_EN_2_1G_UL3_Pin,
  95. };
  96. BDA4601_st BDA4601_2_1G_UL4= {
  97. ATT_CLK_GPIO_Port,
  98. ATT_CLK_Pin,
  99. ATT_DATA_GPIO_Port,
  100. ATT_DATA_Pin,
  101. ATT_EN_2_1G_UL4_GPIO_Port,
  102. ATT_EN_2_1G_UL4_Pin,
  103. };
  104. void BDA4601_Test(void){
  105. BDA4601_atten_ctrl(BDA4601_1_8G_DL1,0);
  106. BDA4601_atten_ctrl(BDA4601_1_8G_DL2,0);
  107. BDA4601_atten_ctrl(BDA4601_1_8G_UL1,0);
  108. BDA4601_atten_ctrl(BDA4601_1_8G_UL2,0);
  109. BDA4601_atten_ctrl(BDA4601_1_8G_UL3,0);
  110. BDA4601_atten_ctrl(BDA4601_1_8G_UL4,0);
  111. BDA4601_atten_ctrl(BDA4601_2_1G_DL1,0);
  112. BDA4601_atten_ctrl(BDA4601_2_1G_DL2,0);
  113. BDA4601_atten_ctrl(BDA4601_2_1G_UL1,0);
  114. BDA4601_atten_ctrl(BDA4601_2_1G_UL2,0);
  115. BDA4601_atten_ctrl(BDA4601_2_1G_UL3,0);
  116. BDA4601_atten_ctrl(BDA4601_2_1G_UL4,0);
  117. }
  118. void BDA4601_atten_ctrl(BDA4601_st BDA ,uint8_t data){
  119. uint8_t i = 0;
  120. uint8_t temp = 0;
  121. #ifdef DEBUG_PRINT
  122. #ifdef DEBUG_PRINT
  123. printf("BDA4601_atten_ctrl : %x \r\n",data);
  124. #endif /* DEBUG_PRINT */
  125. #endif /* DEBUG_PRINT */
  126. data = 4 * data;
  127. temp = (uint8_t)data;
  128. HAL_GPIO_WritePin(BDA.LE_PORT,BDA.LE_PIN,GPIO_PIN_RESET);
  129. HAL_Delay(1);
  130. for(i = 0; i < 8; i++){
  131. if((uint8_t)temp & 0x01){
  132. HAL_GPIO_WritePin(BDA.SERIAL_IN_PORT,BDA.SERIAL_IN_PIN,GPIO_PIN_SET);//DATA
  133. }
  134. else{
  135. HAL_GPIO_WritePin(BDA.SERIAL_IN_PORT,BDA.SERIAL_IN_PIN,GPIO_PIN_RESET);//DATA
  136. }
  137. HAL_GPIO_WritePin(BDA.CLK_PORT,BDA.CLK_PIN,GPIO_PIN_SET);//CLOCK
  138. HAL_Delay(1);
  139. HAL_GPIO_WritePin(BDA.CLK_PORT,BDA.CLK_PIN,GPIO_PIN_RESET);//CLOCK
  140. HAL_Delay(1);
  141. temp >>= 1;
  142. }
  143. HAL_GPIO_WritePin(BDA.CLK_PORT,BDA.CLK_PIN,GPIO_PIN_RESET);//CLOCK
  144. HAL_GPIO_WritePin(BDA.SERIAL_IN_PORT,GPIO_PIN_15,GPIO_PIN_RESET);//DATA
  145. HAL_Delay(5);
  146. HAL_GPIO_WritePin(BDA.LE_PORT,BDA.LE_PIN,GPIO_PIN_SET);//LE
  147. HAL_Delay(1);
  148. HAL_GPIO_WritePin(BDA.LE_PORT,BDA.LE_PIN,GPIO_PIN_RESET);
  149. }