📄 bsp.c
字号:
break;
case 2:
GPIO_ResetBits(GPIOA, GPIOA_LED2);
break;
case 3:
GPIO_ResetBits(GPIOA, GPIOA_LED3);
break;
case 4:
GPIO_ResetBits(GPIOA, GPIOA_LED4);
break;
case 5:
GPIO_ResetBits(GPIOA, GPIOA_LED5);
break;
case 6:
GPIO_ResetBits(GPIOA, GPIOA_LED6);
break;
case 7:
GPIO_ResetBits(GPIOB, GPIOB_LED7);
break;
case 8:
GPIO_ResetBits(GPIOB, GPIOB_LED8);
break;
case 9:
GPIO_ResetBits(GPIOB, GPIOB_LED9);
break;
case 10:
GPIO_ResetBits(GPIOB, GPIOB_LED10);
break;
case 11:
GPIO_ResetBits(GPIOB, GPIOB_LED11);
break;
case 12:
GPIO_ResetBits(GPIOB, GPIOB_LED12);
break;
case 13:
GPIO_ResetBits(GPIOB, GPIOB_LED13);
break;
case 14:
GPIO_ResetBits(GPIOB, GPIOB_LED14);
break;
case 15:
GPIO_ResetBits(GPIOC, GPIOC_LED15);
break;
case 16:
GPIO_ResetBits(GPIOC, GPIOC_LED16);
break;
default:
break;
}
}
/*
*********************************************************************************************************
* LED OFF
*
* Description : This function is used to control any or all the LEDs on the board.
*
* Arguments : led is the number of the LED to turn OFF
* 0 indicates that you want ALL the LEDs to be OFF
* 1 turns OFF user LED1 on the board
* 2 turns OFF user LED2 on the board
* .
* .
* .
* 16 turns OFF user LED16 on the board
*
* Returns ; none
*********************************************************************************************************
*/
void LED_Off (CPU_INT08U led)
{
switch (led) {
case 0:
GPIO_SetBits(GPIOA, GPIOA_LEDS);
GPIO_SetBits(GPIOB, GPIOB_LEDS);
GPIO_SetBits(GPIOC, GPIOC_LEDS);
break;
case 1:
GPIO_SetBits(GPIOA, GPIOA_LED1);
break;
case 2:
GPIO_SetBits(GPIOA, GPIOA_LED2);
break;
case 3:
GPIO_SetBits(GPIOA, GPIOA_LED3);
break;
case 4:
GPIO_SetBits(GPIOA, GPIOA_LED4);
break;
case 5:
GPIO_SetBits(GPIOA, GPIOA_LED5);
break;
case 6:
GPIO_SetBits(GPIOA, GPIOA_LED6);
break;
case 7:
GPIO_SetBits(GPIOB, GPIOB_LED7);
break;
case 8:
GPIO_SetBits(GPIOB, GPIOB_LED8);
break;
case 9:
GPIO_SetBits(GPIOB, GPIOB_LED9);
break;
case 10:
GPIO_SetBits(GPIOB, GPIOB_LED10);
break;
case 11:
GPIO_SetBits(GPIOB, GPIOB_LED11);
break;
case 12:
GPIO_SetBits(GPIOB, GPIOB_LED12);
break;
case 13:
GPIO_SetBits(GPIOB, GPIOB_LED13);
break;
case 14:
GPIO_SetBits(GPIOB, GPIOB_LED14);
break;
case 15:
GPIO_SetBits(GPIOC, GPIOC_LED15);
break;
case 16:
GPIO_SetBits(GPIOC, GPIOC_LED16);
break;
default:
break;
}}
/*
*********************************************************************************************************
* LED TOGGLE
*
* Description : This function is used to toggle any or all the LEDs on the board.
*
* Arguments : led is the number of the LED to control
* 0 indicates that you want to toggle ALL the LEDs
* 1 toggles user LED on the board
*
* Returns ; none
*********************************************************************************************************
*/
void LED_Toggle (CPU_INT08U led)
{
CPU_INT32U pins;
switch (led) {
case 0:
pins = GPIO_ReadOutputData(GPIOA);
pins ^= GPIOA_LEDS;
GPIO_SetBits( GPIOA, pins & GPIOA_LEDS);
GPIO_ResetBits(GPIOA, (~pins) & GPIOA_LEDS);
pins = GPIO_ReadOutputData(GPIOB);
pins ^= GPIOB_LEDS;
GPIO_SetBits( GPIOB, pins & GPIOB_LEDS);
GPIO_ResetBits(GPIOB, (~pins) & GPIOB_LEDS);
pins = GPIO_ReadOutputData(GPIOA);
pins ^= GPIOC_LEDS;
GPIO_SetBits( GPIOC, pins & GPIOC_LEDS);
GPIO_ResetBits(GPIOC, (~pins) & GPIOC_LEDS);
break;
case 1:
case 2:
case 3:
case 4:
pins = GPIO_ReadOutputData(GPIOA);
if ((pins & (1 << (led + 3))) == 0) {
GPIO_SetBits( GPIOA, (1 << (led + 3)));
} else {
GPIO_ResetBits(GPIOA, (1 << (led + 3)));
}
break;
case 5:
case 6:
pins = GPIO_ReadOutputData(GPIOA);
if ((pins & (1 << (led + 4))) == 0) {
GPIO_SetBits( GPIOA, (1 << (led + 4)));
} else {
GPIO_ResetBits(GPIOA, (1 << (led + 4)));
}
break;
case 7:
case 8:
pins = GPIO_ReadOutputData(GPIOB);
if ((pins & (1 << (led - 1))) == 0) {
GPIO_SetBits( GPIOB, (1 << (led - 1)));
} else {
GPIO_ResetBits(GPIOB, (1 << (led - 1)));
}
case 9:
case 10:
case 11:
case 12:
case 13:
case 14:
pins = GPIO_ReadOutputData(GPIOB);
if ((pins & (1 << (led + 1))) == 0) {
GPIO_SetBits( GPIOB, (1 << (led + 1)));
} else {
GPIO_ResetBits(GPIOB, (1 << (led + 1)));
}
break;
case 15:
case 16:
pins = GPIO_ReadOutputData(GPIOC);
if ((pins & (1 << (led - 9))) == 0) {
GPIO_SetBits( GPIOC, (1 << (led - 9)));
} else {
GPIO_ResetBits(GPIOC, (1 << (led - 9)));
}
break;
default:
break;
}
}
/*
*********************************************************************************************************
* LCD LIGHT INITIALIZATION
*
* Description : This function initializes the LCD backlight.
*
* Arguments : None.
*
* Returns : None.
*********************************************************************************************************
*/
static void LCD_LightInit (void)
{
GPIO_InitTypeDef gpio_init;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
gpio_init.GPIO_Pin = GPIOB_LCD_LIGHT;
gpio_init.GPIO_Speed = GPIO_Speed_50MHz;
gpio_init.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &gpio_init);
}
/*
*********************************************************************************************************
* LCD LIGHT ON
*
* Description : This function is used to turn on the LCD backlight.
*
* Arguments : None.
*
* Returns : None.
*********************************************************************************************************
*/
void LCD_LightOn (void)
{
GPIO_ResetBits(GPIOB, GPIOB_LCD_LIGHT);
}
/*
*********************************************************************************************************
* LCD LIGHT OFF
*
* Description : This function is used to turn off the LCD backlight.
*
* Arguments : None.
*
* Returns : None.
*********************************************************************************************************
*/
void LCD_LightOff (void)
{
GPIO_SetBits(GPIOB, GPIOB_LCD_LIGHT);
}
/*
*********************************************************************************************************
* LCD LIGHT TOGGLE
*
* Description : This function is used to toggle the LCD backlight
*
* Arguments : led is the number of the LED to control
* 0 indicates that you want to toggle ALL the LEDs
* 1 toggles user LED on the board
*
* Returns ; none
*********************************************************************************************************
*/
void LCD_LightToggle (void)
{
CPU_INT32U pins;
pins = GPIO_ReadOutputData(GPIOB);
if ((pins & GPIOB_LCD_LIGHT) == 0) {
GPIO_SetBits( GPIOB, GPIOB_LCD_LIGHT);
} else {
GPIO_ResetBits(GPIOB, GPIOB_LCD_LIGHT);
}
}
/*
*********************************************************************************************************
* ADC INITIALIZATION
*
* Description : This function initializes the board's ADC
*
* Arguments : none
*
* Returns : none
*********************************************************************************************************
*/
static void ADCS_Init (void)
{
ADC_InitTypeDef adc_init;
GPIO_InitTypeDef gpio_init;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
gpio_init.GPIO_Pin = GPIO_Pin_5;
gpio_init.GPIO_Mode = GPIO_Mode_AIN;
GPIO_Init(GPIOC, &gpio_init);
adc_init.ADC_Mode = ADC_Mode_Independent;
adc_init.ADC_ScanConvMode = DISABLE;
adc_init.ADC_ContinuousConvMode = ENABLE;
adc_init.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;
adc_init.ADC_DataAlign = ADC_DataAlign_Right;
adc_init.ADC_NbrOfChannel = 1;
ADC_Init(ADC1, &adc_init);
ADC_RegularChannelConfig(ADC1, ADC_Channel_15, 1, ADC_SampleTime_13Cycles5);
ADC_Cmd(ADC1, ENABLE);
ADC_SoftwareStartConvCmd(ADC1, ENABLE);
}
/*
*********************************************************************************************************
* ADC STATUS
*
* Description : This function initializes the board's ADC
*
* Arguments : adc is the number of the ADC to probe. For this board, the only legitimate value is 1.
*
* Returns : The numerator of the binary fraction representing the result of the latest ADC conversion.
* This value will be a 12-bit value between 0x0000 and 0x0FFF, inclusive.
*********************************************************************************************************
*/
CPU_INT16U ADC_GetStatus (CPU_INT08U adc)
{
CPU_INT16U result;
result = 0;
if (adc == 1) {
result = ADC_GetConversionValue(ADC1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -