123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- /*
- * 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);
- }
|