STM32F407ZGT6的IO口输出电压问题

2019-07-21 04:38发布

原子哥,以前买了你一块F103的战舰板子学习,现在自己设计了一个F407的板子,主要功能时采集温度控制继电器开关。现在板子焊接好了,遇到一些问题,希望原子哥帮忙看看。我使用JLink下载的程序,boot0和boot1都接的地。
我的程序可以下载到板子中(程序是原子哥论坛上给的模板),电源模块供电电压是正常的。但是我给PD0-PD3高电平和低电平时,我用万用表测PD0-PD3的管脚电压都是没有变化的,其中如果焊接了光耦,PD0-PD3电压约为1.3V,如果没焊接光耦,电压是0.6V。 PD0-PD3都是设置的推挽输出,上拉,我把原理图和工程都贴出来了,麻烦原子哥帮我看看什么问题。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
善良的二哥
1楼-- · 2019-07-21 05:16
问题解决了,我用的晶振是25MHz的,但是原子哥论坛上的模板用的是8MHz的,后来我把25MHz晶振拿掉了,发现程序可以运行了,但是延时程序不准确。把8M晶振装上以后,使用delay_init(168);延时就基本准确了。
善良的二哥
2楼-- · 2019-07-21 07:39

自己先顶一下,附件里面是我的原理图和keil工程文件。

styleno1
3楼-- · 2019-07-21 11:47
 精彩回答 2  元偷偷看……
styleno1
4楼-- · 2019-07-21 15:47
敢问你时钟打开了吗?
善良的二哥
5楼-- · 2019-07-21 18:29
回复【4楼】styleno1:
---------------------------------
#include"mygpio.h"
void Control_Init()
{
 GPIO_InitTypeDef GPIO_InitStructure;  
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD , ENABLE);
 GPIO_InitStructure.GPIO_Pin= GPIO_Pin_3|GPIO_Pin_2|GPIO_Pin_1|GPIO_Pin_0;   
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
 GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;    
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;  
 GPIO_Init(GPIOD, &GPIO_InitStructure);
}
这个是初始化PD,时钟打开了
styleno1
6楼-- · 2019-07-21 21:23
断电,测一下引脚对地的阻抗。

编辑说明:能想到的就这些了,楼主珍重。

一周热门 更多>