#include "bsp_rs2251.h"
#include "bsp_adc.h"

void ref_gpio_init(void)
{
    gpio_init_type gpio_init_struct;

		/* enable the led clock */
		crm_periph_clock_enable(CRM_GPIOA_PERIPH_CLOCK, TRUE);

		/* set default parameter */
		gpio_default_para_init(&gpio_init_struct);

		/* configure the led gpio */
		gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;
		gpio_init_struct.gpio_out_type  = GPIO_OUTPUT_PUSH_PULL;
		gpio_init_struct.gpio_mode = GPIO_MODE_OUTPUT;
		gpio_init_struct.gpio_pins = GPIO_PINS_3;
		gpio_init_struct.gpio_pull = GPIO_PULL_NONE;
		gpio_init(GPIOA, &gpio_init_struct);
		gpio_bits_set(GPIOA, GPIO_PINS_3);
}

void RS2251_Init(void)
{
    gpio_init_type gpio_init_struct;

		crm_periph_clock_enable(CRM_GPIOB_PERIPH_CLOCK, TRUE);

		/* set default parameter */
		gpio_default_para_init(&gpio_init_struct);

		/* configure the led gpio */
		gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;
		gpio_init_struct.gpio_out_type  = GPIO_OUTPUT_PUSH_PULL;
		gpio_init_struct.gpio_mode = GPIO_MODE_OUTPUT;
		gpio_init_struct.gpio_pins = GPIO_PINS_3 | GPIO_PINS_4 | GPIO_PINS_5;
		gpio_init_struct.gpio_pull = GPIO_PULL_NONE;
		gpio_init(GPIOB, &gpio_init_struct);
		
		gpio_bits_reset(GPIOB,GPIO_PINS_3);
		gpio_bits_reset(GPIOB,GPIO_PINS_4);
		gpio_bits_reset(GPIOB,GPIO_PINS_5);
}

/*
   功能：AY SCAN
   输入：data 0 -> 7
   */
void Choose_AX_Channel(uint8_t data)
{
    C_A( data & 0x01);
    C_B((data & 0x02) >> 1);
    C_C((data & 0x04) >> 2);
}

