深圳营销型网站推广,社团网站建设的功能定位,知名品牌营销策略,开源建站软件STM32的PB3, PB4引脚作为GPIO引脚需要注意#xff0c;因为他们默认分别是JTDO和NJTRST引脚。 笔者在设计可调增益增益放大器#xff08;VGA#xff09;的时候#xff0c;使用4个GPIO读取外部控制电压#xff0c;根据约定的编码格式设定DAC的输出电压#xff0c;从而设置V… STM32的PB3, PB4引脚作为GPIO引脚需要注意因为他们默认分别是JTDO和NJTRST引脚。 笔者在设计可调增益增益放大器VGA的时候使用4个GPIO读取外部控制电压根据约定的编码格式设定DAC的输出电压从而设置VGA的增益然而在测试发现DAC的输出电压不稳定并不是设想的数值。经过多次实验、代码分析发现并不是DAC的问题而是GPIO的问题4个GPIO中使用了PB3而PB3默认不是GPIO而是JTDO引脚因此需要特殊的声明代码如下
void OUTSIDE_VGACTRL_GPIO_Config(void)
{//满洲里国峰电子科技//www.guofengdianzi.com//微信guofengdianziGPIO_InitTypeDef GPIO_InitStructure;/*开启端口的时钟*/RCC_APB2PeriphClockCmd(OUTSIDE_VGACTRL1_GPIO_CLK | OUTSIDE_VGACTRL2_GPIO_CLK | OUTSIDE_VGACTRL3_GPIO_CLK | OUTSIDE_VGACTRL4_GPIO_CLK, ENABLE);//将RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);//选择引脚GPIO_InitStructure.GPIO_Pin OUTSIDE_VGACTRL1_GPIO_PIN; // 设置引脚为下拉GPIO_InitStructure.GPIO_Mode GPIO_Mode_IPD; //使用结构体初始化GPIO_Init(OUTSIDE_VGACTRL1_GPIO_PORT, GPIO_InitStructure);//选择引脚GPIO_InitStructure.GPIO_Pin OUTSIDE_VGACTRL2_GPIO_PIN; // 设置引脚为下拉GPIO_InitStructure.GPIO_Mode GPIO_Mode_IPD; //使用结构体初始化GPIO_Init(OUTSIDE_VGACTRL2_GPIO_PORT, GPIO_InitStructure);//选择引脚GPIO_InitStructure.GPIO_Pin OUTSIDE_VGACTRL3_GPIO_PIN; // 设置引脚为下拉GPIO_InitStructure.GPIO_Mode GPIO_Mode_IPD; //使用结构体初始化按键GPIO_Init(OUTSIDE_VGACTRL3_GPIO_PORT, GPIO_InitStructure);//选择引脚GPIO_InitStructure.GPIO_Pin OUTSIDE_VGACTRL4_GPIO_PIN; // 设置引脚为下拉GPIO_InitStructure.GPIO_Mode GPIO_Mode_IPD; //使用结构体初始化GPIO_Init(OUTSIDE_VGACTRL4_GPIO_PORT, GPIO_InitStructure);
}作者潇洒的电磁波专业射频芯片设计、雷达系统、嵌入式。欢迎大家项目合作交流。