2025-04-18 16:22:24 +08:00

115 lines
2.4 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 "stm32f4xx.h"
#include "tba.h"
/**
函数功能:任务板光敏电阻配置
参 数:无
返 回 值:无
*/
void Tba_Photoresistance_Config(void)
{
GPIO_InitTypeDef GPIO_TypeDefStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOG,ENABLE);//AHB1外设时钟控制激活
GPIO_TypeDefStructure.GPIO_Pin = GPIO_Pin_8;
GPIO_TypeDefStructure.GPIO_Mode = GPIO_Mode_IN; // 输入模式
GPIO_TypeDefStructure.GPIO_PuPd = GPIO_PuPd_UP; // 上拉模式
GPIO_Init(GPIOA,&GPIO_TypeDefStructure);
}
uint8_t Get_tba_phsis_value(void)
{
return GPIO_ReadInputDataBit(GPIOG,GPIO_Pin_8);
}
/**
函数功能:任务板蜂鸣器配置
参 数:无
返 回 值:无
*/
void Tba_Beep_Config(void)
{
GPIO_InitTypeDef GPIO_TypeDefStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC,ENABLE);
GPIO_TypeDefStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_TypeDefStructure.GPIO_Mode = GPIO_Mode_OUT; // 输入
GPIO_TypeDefStructure.GPIO_PuPd = GPIO_PuPd_UP; // 上拉
GPIO_Init(GPIOC,&GPIO_TypeDefStructure);
GPIO_SetBits(GPIOC,GPIO_Pin_13);
}
/**
函数功能:设置任务板蜂鸣器状态
参 数swch SET 开启 RESET 关闭
返 回 值:无
*/
void Set_tba_Beep(uint8_t swch)
{
if(swch == SET)
{
GPIO_ResetBits(GPIOC,GPIO_Pin_13);
}
else if(swch == RESET)
{
GPIO_SetBits(GPIOC,GPIO_Pin_13);
}
}
/**
函数功能:任务板转向灯配置
参 数: 无
返 回 值:无
*/
void Tba_WheelLED_Config(void)
{
GPIO_InitTypeDef GPIO_TypeDefStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOH,ENABLE);
// LED_L -- PH10 LED_R --PH11
GPIO_TypeDefStructure.GPIO_Pin = GPIO_Pin_10|GPIO_Pin_11;
GPIO_TypeDefStructure.GPIO_Mode = GPIO_Mode_OUT; // 输入
GPIO_TypeDefStructure.GPIO_PuPd = GPIO_PuPd_UP; // 上拉
GPIO_Init(GPIOH,&GPIO_TypeDefStructure);
GPIO_SetBits(GPIOH,GPIO_Pin_10|GPIO_Pin_11);
}
/**
函数功能: 任务板转向灯控制
参 数LorR L_LED--左侧 R_LED--右侧
swch SET -- 开 RESET--关
返 回 值: 无
*/
void Set_tba_WheelLED(uint8_t LorR,uint8_t swch)
{
switch(LorR)
{
case L_LED:
if(swch)
GPIO_ResetBits(GPIOH,GPIO_Pin_10);
else
GPIO_SetBits(GPIOH,GPIO_Pin_10);
break;
case R_LED:
if(swch)
GPIO_ResetBits(GPIOH,GPIO_Pin_11);
else
GPIO_SetBits(GPIOH,GPIO_Pin_11);
break;
}
}
/**
函数功能: 任务板初始化
参 数:无
返 回 值: 无
*/
void Tba_Init(void)
{
Tba_Photoresistance_Config(); // 任务板光敏电阻配置
Tba_Beep_Config(); // 任务板蜂鸣器配置
Tba_WheelLED_Config(); // 任务板转向灯配置
}