/*
 * BDA4601.c
 *
 *  Created on: 2019. 6. 28.
 *      Author: parkyj
 */
#include "BDA4601.h"
void BDA4601_atten_ctrl(PE43711_st* type ,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);
}


