/* * PE43711.c * * Created on: 2019. 6. 28. * Author: parkyj */ #include "PE43711.h" #if 1 // PYJ.2019.07.26_BEGIN -- #define ATTEN_3_5G_Initial_Val 0 extern void Pol_Delay_us(volatile uint32_t microseconds); void PE43711_ALL_atten_ctrl(ALL_PE43711_st ATT); void PE43711_atten_ctrl(PE43711_st ATT ,uint8_t data); /* ALL_PE43711_st ALL_ATT_3_5G; PE43711_st ATT_3_5G_LOW1 ={ ATT_CLK_3_5G_GPIO_Port, ATT_CLK_3_5G_Pin, ATT_DATA_3_5G_LOW1_GPIO_Port, ATT_DATA_3_5G_LOW1_Pin, ATT_EN_3_5G_GPIO_Port, ATT_EN_3_5G_Pin, }; PE43711_st ATT_3_5G_HIGH1 ={ ATT_CLK_3_5G_GPIO_Port, ATT_CLK_3_5G_Pin, ATT_DATA_3_5G_HIGH1_GPIO_Port, ATT_DATA_3_5G_HIGH1_Pin, ATT_EN_3_5G_GPIO_Port, ATT_EN_3_5G_Pin, }; PE43711_st ATT_3_5G_COM1={ ATT_CLK_3_5G_GPIO_Port, ATT_CLK_3_5G_Pin, ATT_DATA_3_5G_COM1_GPIO_Port, ATT_DATA_3_5G_COM1_Pin, ATT_EN_3_5G_GPIO_Port, ATT_EN_3_5G_Pin, }; PE43711_st ATT_3_5G_LOW2 ={ ATT_CLK_3_5G_GPIO_Port, ATT_CLK_3_5G_Pin, ATT_DATA_3_5G_LOW2_GPIO_Port, ATT_DATA_3_5G_LOW2_Pin, ATT_EN_3_5G_GPIO_Port, ATT_EN_3_5G_Pin, }; PE43711_st ATT_3_5G_HIGH2 ={ ATT_CLK_3_5G_GPIO_Port, ATT_CLK_3_5G_Pin, ATT_DATA_3_5G_HIGH2_GPIO_Port, ATT_DATA_3_5G_HIGH2_Pin, ATT_EN_3_5G_GPIO_Port, ATT_EN_3_5G_Pin, }; PE43711_st ATT_3_5G_COM2={ ATT_CLK_3_5G_GPIO_Port, ATT_CLK_3_5G_Pin, ATT_DATA_3_5G_COM2_GPIO_Port, ATT_DATA_3_5G_COM2_Pin, ATT_EN_3_5G_GPIO_Port, ATT_EN_3_5G_Pin, }; */ void PE43711_PinInit(void){ /* ALL_ATT_3_5G.ATT0 = ATT_3_5G_LOW1; ALL_ATT_3_5G.ATT1 = ATT_3_5G_HIGH1; ALL_ATT_3_5G.ATT2 = ATT_3_5G_COM1; ALL_ATT_3_5G.ATT3 = ATT_3_5G_LOW2; ALL_ATT_3_5G.ATT4 = ATT_3_5G_HIGH2; ALL_ATT_3_5G.ATT5 = ATT_3_5G_COM2; ALL_ATT_3_5G.data0 = ATTEN_3_5G_Initial_Val; ALL_ATT_3_5G.data1 = ATTEN_3_5G_Initial_Val; ALL_ATT_3_5G.data2 = ATTEN_3_5G_Initial_Val; ALL_ATT_3_5G.data3 = ATTEN_3_5G_Initial_Val; ALL_ATT_3_5G.data4 = ATTEN_3_5G_Initial_Val; ALL_ATT_3_5G.data5 = ATTEN_3_5G_Initial_Val; PE43711_ALL_atten_ctrl(ALL_ATT_3_5G);*/ } #endif // PYJ.2019.07.26_END -- void Bit_Compare(PE43711_st ATT,uint8_t data,uint8_t Shift_Index){ if(data & (0x01 << Shift_Index)){ HAL_GPIO_WritePin(ATT.DATA_PORT,ATT.DATA_PIN,GPIO_PIN_SET);//DATA } else{ HAL_GPIO_WritePin(ATT.DATA_PORT,ATT.DATA_PIN,GPIO_PIN_RESET);//DATA } } void PE43711_ALL_atten_ctrl(ALL_PE43711_st ATT){ HAL_GPIO_WritePin(ATT.ATT0.LE_PORT,ATT.ATT0.LE_PIN,GPIO_PIN_RESET); Pol_Delay_us(10); // printf("why not? \r\n"); for(uint8_t i = 0; i < 8; i++){ Bit_Compare(ATT.ATT0,ATT.data0,i); Bit_Compare(ATT.ATT1,ATT.data1,i); Bit_Compare(ATT.ATT2,ATT.data2,i); Bit_Compare(ATT.ATT3,ATT.data3,i); Bit_Compare(ATT.ATT4,ATT.data4,i); Bit_Compare(ATT.ATT5,ATT.data5,i); HAL_GPIO_WritePin(ATT.ATT0.CLK_PORT,ATT.ATT0.CLK_PIN,GPIO_PIN_SET);//CLOCK Pol_Delay_us(10); HAL_GPIO_WritePin(ATT.ATT0.CLK_PORT,ATT.ATT0.CLK_PIN,GPIO_PIN_RESET);//CLOCK } HAL_GPIO_WritePin(GPIOB,GPIO_PIN_15,GPIO_PIN_RESET);//DATA HAL_GPIO_WritePin(ATT.ATT0.LE_PORT,ATT.ATT0.LE_PIN,GPIO_PIN_SET);//LE Pol_Delay_us(10); HAL_GPIO_WritePin(ATT.ATT0.LE_PORT,ATT.ATT0.LE_PIN,GPIO_PIN_RESET); } void PE43711_atten_ctrl(PE43711_st ATT ,uint8_t data){ uint8_t i = 0; uint8_t temp = 0; data = 4 * data; temp = (uint8_t)data; HAL_GPIO_WritePin(ATT.LE_PORT,ATT.LE_PIN,GPIO_PIN_RESET); Pol_Delay_us(10); for(i = 0; i < 8; i++){ if((uint8_t)temp & 0x01){ HAL_GPIO_WritePin(ATT.DATA_PORT,ATT.DATA_PIN,GPIO_PIN_SET);//DATA } else{ HAL_GPIO_WritePin(ATT.DATA_PORT,ATT.DATA_PIN,GPIO_PIN_RESET);//DATA } HAL_GPIO_WritePin(ATT.CLK_PORT,ATT.CLK_PIN,GPIO_PIN_SET);//CLOCK Pol_Delay_us(10); HAL_GPIO_WritePin(ATT.CLK_PORT,ATT.CLK_PIN,GPIO_PIN_RESET);//CLOCK Pol_Delay_us(10); temp >>= 1; } HAL_GPIO_WritePin(ATT.CLK_PORT,ATT.CLK_PIN,GPIO_PIN_RESET);//CLOCK HAL_GPIO_WritePin(ATT.DATA_PORT,ATT.DATA_PIN,GPIO_PIN_RESET);//DATA HAL_Delay(5); HAL_GPIO_WritePin(ATT.LE_PORT,ATT.LE_PIN,GPIO_PIN_SET);//LE Pol_Delay_us(10); HAL_GPIO_WritePin(ATT.LE_PORT,ATT.LE_PIN,GPIO_PIN_RESET); }