K1Guitar/Global/bsp.c

69 lines
2.0 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include "includes.h"
void BSP_MainPowerEnable (uint8_t Enable)
{
if (Enable) gpio_bits_set(S_PWR_ON_OFF_GPIO_Port, S_PWR_ON_OFF_Pin);
else gpio_bits_reset(S_PWR_ON_OFF_GPIO_Port, S_PWR_ON_OFF_Pin);
}
void BSP_ChargerEnable (uint8_t Enable)
{
if (Enable) gpio_bits_reset(S_CHARGE_CTRL_GPIO_Port, S_CHARGE_CTRL_Pin); /* 低有效 */
else gpio_bits_set(S_CHARGE_CTRL_GPIO_Port, S_CHARGE_CTRL_Pin);
}
void BSP_DreamCorePowerEnable (uint8_t Enable)
{
if (Enable) gpio_bits_set(P_CORE_PWR_GPIO_Port, P_CORE_PWR_Pin);
else gpio_bits_reset(P_CORE_PWR_GPIO_Port, P_CORE_PWR_Pin);
}
//
// enable 12V
//
void BSP_HT7178PowerEnable (uint8_t Enable)
{
if (Enable) gpio_bits_set(S_HT7178_EN_GPIO_Port, S_HT7178_EN_Pin);
else gpio_bits_reset(S_HT7178_EN_GPIO_Port, S_HT7178_EN_Pin);
}
void BSP_BlueToothPowerEnable (uint8_t Enable)
{
if (Enable) gpio_bits_set(S_BT_PWR_GPIO_Port, S_BT_PWR_Pin);
else gpio_bits_reset(S_BT_PWR_GPIO_Port, S_BT_PWR_Pin);
}
//
// 上电默认通道0
// 74HC4051 通道选择S2 S1 S0 = ChannelId (0~7)
//
void BSP_SelectAdcChannel (uint8_t ChannelId)
{
/* 简化:直接用通道号的二进制位控制 S0/S1/S2 */
if (ChannelId > 7) return;
if (ChannelId & 0x01) gpio_bits_set (S_ADDR_S0_GPIO_Port, S_ADDR_S0_Pin);
else gpio_bits_reset(S_ADDR_S0_GPIO_Port, S_ADDR_S0_Pin);
if (ChannelId & 0x02) gpio_bits_set (S_ADDR_S1_GPIO_Port, S_ADDR_S1_Pin);
else gpio_bits_reset(S_ADDR_S1_GPIO_Port, S_ADDR_S1_Pin);
if (ChannelId & 0x04) gpio_bits_set (S_ADDR_S2_GPIO_Port, S_ADDR_S2_Pin);
else gpio_bits_reset(S_ADDR_S2_GPIO_Port, S_ADDR_S2_Pin);
}
flag_status BSP_GetADCIN1Key (void)
{
return gpio_input_data_bit_read(GPIOA, GPIO_PINS_1);
}
flag_status BSP_GetPowerKey (void)
{
return gpio_input_data_bit_read(POWER_BUTTON_PORT, POWER_BUTTON_PIN);
}
flag_status BSP_GetCHORDState (void)
{
return gpio_input_data_bit_read(S_CHORD_PLUGIN_PORT, S_CHORD_PLUGIN_PIN);
}