本帖最后由 jinglixixi 于 2025-1-19 11:26 编辑
作为专用的开发板,向外提供的引脚资源是十分有限的。那么为充分发挥这款开发板的用途,可以从中挤出哪些可用引脚资源呢? 1.霍尔检测电路 霍尔检测电路是用于采集外部状态信息的,其电路如图1所示。 图1 霍尔检测电路
由图1可知,它占用的引脚是PA0、PA1及PA3,其中1K电阻可起到限流保护的作用,2.2K的电阻可起到抑制外部电压过高的情况。 经分析,将这3个引脚用于输出应该问题不大。 将该引脚配置为输出功能的函数为: Void HAD_Init(void)
{
GPIO_Config_T gpioConfig;
RCM_EnableAHBPeriphClock(RCM_AHB_PERIPH_GPIOA);
gpioConfig.mode = GPIO_MODE_OUT;
gpioConfig.outtype = GPIO_OUT_TYPE_PP;
gpioConfig.speed = GPIO_SPEED_50MHz;
gpioConfig.pupd = GPIO_PUPD_NO;
gpioConfig.pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_3;
GPIO_Config(GPIOA, &gpioConfig);
}
测试其输出的主程序为: int main(void)
{
HAD_Init();
while (1)
{
GPIO_ClearBit(GPIOA, GPIO_PIN_1);
GPIO_ClearBit(GPIOA, GPIO_PIN_0);
GPIO_ClearBit(GPIOA, GPIO_PIN_3);
APM_DelayMs(200);
GPIO_SetBit(GPIOA, GPIO_PIN_1);
GPIO_SetBit(GPIOA, GPIO_PIN_0);
GPIO_SetBit(GPIOA, GPIO_PIN_3);
APM_DelayMs(200);
}
}
经程序的编译与下载,其测试效果如图1和图2所示,说明完全没有问题。 图1 熄灭状态
图2 点亮状态
此外,电压采集部分也有引脚占用,所用引脚PC3、PC4及PC5,可惜的是没有提供相应的接口。比较好,它在板上留有相应的焊盘,利用这些焊盘可发挥它们的作用。 图3 电压采集引脚
将该引脚配置为输出功能的函数为: Void HAD_Init(void)
{
GPIO_Config_T gpioConfig;
gpioConfig.mode = GPIO_MODE_OUT;
gpioConfig.outtype = GPIO_OUT_TYPE_PP;
gpioConfig.speed = GPIO_SPEED_50MHz;
gpioConfig.pupd = GPIO_PUPD_NO;
RCM_EnableAHBPeriphClock(RCM_AHB_PERIPH_GPIOC);
gpioConfig.pin = GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5;
GPIO_Config(GPIOC, &gpioConfig);
}
测试其输出的主程序为: int main(void)
{
HAD_Init();
while (1)
{
GPIO_ClearBit(GPIOC, GPIO_PIN_5);
GPIO_ClearBit(GPIOC, GPIO_PIN_4);
GPIO_ClearBit(GPIOC, GPIO_PIN_3);
APM_DelayMs(200);
GPIO_SetBit(GPIOC, GPIO_PIN_5);
GPIO_SetBit(GPIOC, GPIO_PIN_4);
GPIO_SetBit(GPIOC, GPIO_PIN_3);
APM_DelayMs(200);
}
}
经程序的编译与下载,其测试效果如图1和图2所示,说明也完全好用。 这样我们就得到了6个可以进行其它测试的宝贵个引脚资源。此外,PC4和PC5还可复用为串口1来用。
|