| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- #if 0
- #include "bsp_V8M_GPIO_photo.h"
- #include "soft_motor_output.h"
- #include "stm32f4xx.h"
- #define V8M_PHOTO_LOW_LEVEL 0
- #define V8M_PHOTO_HIGH_LEVEL 1
- #define V8M_PHOTO_PWM 2
- /**
- * @brief 拍照信号 GPIO 接口初始化
- *
- * @param signalType 信号类型 高低电平还是 PWM
- * @param pwmOffValue 低电平拍照不拍的 pwm 值
- */
- void V8M_Photo_GpioInit(uint8_t signalType, uint32_t pwmOffValue)
- {
- GPIO_InitTypeDef GPIO_InitStructure;
- //使能GPIOB 的时钟
- RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE);
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_25MHz;
- GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
- GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
- switch (signalType)
- {
- // 如果是低电平拍照
- case V8M_PHOTO_LOW_LEVEL:
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
- GPIO_Init(GPIOC, &GPIO_InitStructure);
- GPIO_SetBits(GPIOC, GPIO_Pin_4);
- break;
- // 如果是高电平拍照
- case V8M_PHOTO_HIGH_LEVEL:
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
- GPIO_Init(GPIOC, &GPIO_InitStructure);
- GPIO_ResetBits(GPIOC, GPIO_Pin_4);
- break;
- // 如果是 PWM 信号拍照
- case V8M_PHOTO_PWM:
- set_motor_pwm(MOTOR10, pwmOffValue);
- break;
- }
- }
- /**
- * @brief 使能拍照
- *
- */
- void V8M_Photo_Gpio_Set(uint8_t signalType, uint32_t pwmOnValue)
- {
- switch (signalType)
- {
- case V8M_PHOTO_LOW_LEVEL:
- GPIO_ResetBits(GPIOC, GPIO_Pin_4);
- break;
- case V8M_PHOTO_HIGH_LEVEL:
- GPIO_SetBits(GPIOC, GPIO_Pin_4);
- break;
- case V8M_PHOTO_PWM:
- set_motor_pwm(MOTOR10, pwmOnValue);
- break;
- default:
- break;
- }
- }
- /**
- * @brief 失能拍照
- *
- */
- void V8M_Photo_Gpio_Reset(uint8_t signalType, uint32_t pwmOffValue)
- {
- switch (signalType)
- {
- case V8M_PHOTO_LOW_LEVEL:
- GPIO_SetBits(GPIOC, GPIO_Pin_4);
- break;
- case V8M_PHOTO_HIGH_LEVEL:
- GPIO_ResetBits(GPIOC, GPIO_Pin_4);
- break;
- case V8M_PHOTO_PWM:
- set_motor_pwm(MOTOR10, pwmOffValue);
- break;
- default:
- break;
- }
- }
- #endif
|