|
安富莱开发板配套的bsp驱动包,有几个特殊的GPIO配置函数。我们暂时称之为超级函数,这些函数的特点:
1. 形参比较多,功能强大。
2. 涵盖STM32F407所有的可以使用的PIN。
3. 使用ST的标准固件库,重新进行封装组合,方便APP调用。
设计这些函数的目的只有1个:当硬件不同时,方便修改。
/*
*********************************************************************************************************
* 函 数 名: bsp_SetTIMOutPWM
* 功能说明: 设置引脚输出的PWM信号的频率和占空比. 当频率为0,并且占空为0时,关闭定时器,GPIO输出0;
* 当频率为0,占空比为100%时,GPIO输出1.
* 形 参: _ulFreq : PWM信号频率,单位Hz (实际测试,最大输出频率为 168M / 4 = 42M). 0 表示禁止输出
* _ulDutyCycle : PWM信号占空比,单位:万分之一。如5000,表示50.00%的占空比
* 返 回 值: 无
*********************************************************************************************************
*/
void bsp_SetTIMOutPWM(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, TIM_TypeDef* TIMx, uint8_t _ucChannel,
uint32_t _ulFreq, uint32_t _ulDutyCycle)
/*
*********************************************************************************************************
* 函 数 名: bsp_SetTIMforInt
* 功能说明: 配置TIM和NVIC,用于简单的定时中断. 开启定时中断。 中断服务程序由应用程序实现。
* 形 参: TIMx : 定时器
* _ulFreq : 定时频率 (Hz)。 0 表示关闭。
* _PreemptionPriority : 中断优先级分组
* _SubPriority : 子优先级
* 返 回 值: 无
*********************************************************************************************************
*/
void bsp_SetTIMforInt(TIM_TypeDef* TIMx, uint32_t _ulFreq, uint8_t _PreemptionPriority, uint8_t _SubPriority)
/*
*********************************************************************************************************
* 函 数 名: bsp_CfgGpioUSART
* 功能说明: 配置USART的GPIO和串口参数
* 形 参: _USARTx : USART1, USART2, USART3, UART4, UART5, USART6
* _GPIO_Tx : 发送引脚的GPIO, 取值 GPIOA - GPIOI, 0表示没有发送功能
* _Pin_Tx : 发送引脚的GPIO, 取值 GPIO_Pin_0 - GPIO_Pin_15
* _GPIO_Rx : 接收引脚的GPIO, 取值 GPIOA - GPIOI, 0表示没有接收功能
* _Pin_Rx : 接收引脚的GPIO, 取值 GPIO_Pin_0 - GPIO_Pin_15
* _BaudRate : 波特率,取值 0 - 4500000
* 返 回 值: 无
*********************************************************************************************************
*/
void bsp_CfgGpioUSART(USART_TypeDef* _USARTx, GPIO_TypeDef* _GPIO_Tx, uint16_t _Pin_Tx,
GPIO_TypeDef* _GPIO_Rx, uint16_t _Pin_Rx, uint32_t _BaudRate)
/*
*********************************************************************************************************
* 函 数 名: bsp_CfgAdcScan
* 功能说明: 配置ADC+DMA扫描多通道。 函数内部会自动配置GPIO端口。
* 形 参: _ADCx : ADC1, ADC2, ADC3
* _Chan : 存放一组通道号. ASCII字符串格式, "1,12,3" 表示1,12,3 共3个通道依次扫描。1-16可选。
* _SampleTime : 采样时间,取值如下:
* ADC_SampleTime_3Cycles
* ADC_SampleTime_15Cycles
* ADC_SampleTime_28Cycles
* ADC_SampleTime_56Cycles
* ADC_SampleTime_84Cycles
* ADC_SampleTime_112Cycles
* ADC_SampleTime_144Cycles
* ADC_SampleTime_480Cycles
* _DataBuf : ADC采集结果存放的缓冲区地址, DMA自动传输
* _BufSize : 缓冲区的大小,所有通道加起来的总样本数,请按通道个数的整数倍进行配置.
* 返 回 值: 无
*********************************************************************************************************
*/
void bsp_CfgAdcScan(ADC_TypeDef* _ADCx, uint8_t *_Channel, uint8_t _SampleTime, uint16_t *_DataBuf, uint32_t _BufSize) |
|