/* * PE43711.c * * Created on: 2019. 6. 28. * Author: parkyj */ #include "PE43711.h" typedef struct{ uint16_t ATT_EN_1_8G_DL1_PIN; GPIO_TypeDef *ATT_EN_1_8G_DL1_PORT; uint16_t ATT_EN_1_8G_DL2_PIN; GPIO_TypeDef *ATT_EN_1_8G_DL2_PORT; uint16_t ATT_EN_1_8G_UL1_PIN; GPIO_TypeDef *ATT_EN_1_8G_UL1_PORT; uint16_t ATT_EN_1_8G_UL2_PIN; GPIO_TypeDef *ATT_EN_1_8G_UL2_PORT; uint16_t ATT_EN_1_8G_UL3_PIN; GPIO_TypeDef *ATT_EN_1_8G_UL3_PORT; uint16_t ATT_EN_1_8G_UL4_PIN; GPIO_TypeDef *ATT_EN_1_8G_UL4_PORT; }PE43711_st; PE43711_st *Atten_1_8Ghz; PE43711_st *Atten_2_1Ghz; void PE43711_PinInit(void){ Atten_1_8Ghz->ATT_EN_1_8G_DL1_PIN = GPIO_PIN_1; Atten_1_8Ghz->ATT_EN_1_8G_DL1_PORT = GPIOB; Atten_1_8Ghz->ATT_EN_1_8G_DL2_PIN = GPIO_PIN_1; Atten_1_8Ghz->ATT_EN_1_8G_DL2_PORT = GPIOB; Atten_1_8Ghz->ATT_EN_1_8G_UL1_PIN = GPIO_PIN_1; Atten_1_8Ghz->ATT_EN_1_8G_UL1_PORT = GPIOB; Atten_1_8Ghz->ATT_EN_1_8G_DL1_PIN = GPIO_PIN_1; Atten_1_8Ghz->ATT_EN_1_8G_DL1_PORT = GPIOB; Atten_1_8Ghz->ATT_EN_1_8G_UL2_PIN = GPIO_PIN_1; Atten_1_8Ghz->ATT_EN_1_8G_UL2_PORT = GPIOB; Atten_1_8Ghz->ATT_EN_1_8G_UL3_PIN = GPIO_PIN_1; Atten_1_8Ghz->ATT_EN_1_8G_UL3_PORT = GPIOB; Atten_1_8Ghz->ATT_EN_1_8G_UL4_PIN = GPIO_PIN_1; Atten_1_8Ghz->ATT_EN_1_8G_UL4_PORT = GPIOB; Atten_2_1Ghz->ATT_EN_1_8G_DL1_PIN = GPIO_PIN_1; Atten_2_1Ghz->ATT_EN_1_8G_DL1_PORT = GPIOB; Atten_2_1Ghz->ATT_EN_1_8G_DL2_PIN = GPIO_PIN_1; Atten_2_1Ghz->ATT_EN_1_8G_DL2_PORT = GPIOB; Atten_2_1Ghz->ATT_EN_1_8G_UL1_PIN = GPIO_PIN_1; Atten_2_1Ghz->ATT_EN_1_8G_UL1_PORT = GPIOB; Atten_2_1Ghz->ATT_EN_1_8G_DL1_PIN = GPIO_PIN_1; Atten_2_1Ghz->ATT_EN_1_8G_DL1_PORT = GPIOB; Atten_2_1Ghz->ATT_EN_1_8G_UL2_PIN = GPIO_PIN_1; Atten_2_1Ghz->ATT_EN_1_8G_UL2_PORT = GPIOB; Atten_2_1Ghz->ATT_EN_1_8G_UL3_PIN = GPIO_PIN_1; Atten_2_1Ghz->ATT_EN_1_8G_UL3_PORT = GPIOB; Atten_2_1Ghz->ATT_EN_1_8G_UL4_PIN = GPIO_PIN_1; Atten_2_1Ghz->ATT_EN_1_8G_UL4_PORT = GPIOB; } void PE43711_atten_ctrl(PE43711_st* Atten_xGhz ,double data){ uint8_t i = 0; uint8_t temp = 0; data = 4 * data; temp = (uint8_t)data; HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_RESET); HAL_Delay(1); for(i = 0; i < 8; i++){ if((uint8_t)temp & 0x01){ HAL_GPIO_WritePin(GPIOB,GPIO_PIN_15,GPIO_PIN_SET);//DATA } else{ HAL_GPIO_WritePin(GPIOB,GPIO_PIN_15,GPIO_PIN_RESET);//DATA } HAL_GPIO_WritePin(GPIOB,GPIO_PIN_2,GPIO_PIN_SET);//CLOCK HAL_Delay(1); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_2,GPIO_PIN_RESET);//CLOCK HAL_Delay(1); temp >>= 1; } HAL_GPIO_WritePin(GPIOB,GPIO_PIN_2,GPIO_PIN_RESET);//CLOCK HAL_GPIO_WritePin(GPIOB,GPIO_PIN_15,GPIO_PIN_RESET);//DATA HAL_Delay(5); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_SET);//LE HAL_Delay(1); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_RESET); }