师兄们您们好, 最近在调一个板子 用到了f407+dp83848 MII 模式 调了一周了 还是没有进展 这是我的配置程序 看对吗
u8 DP83848_Init()
{
u8 rval = 0;
GPIO_InitTypeDef GPIO_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB,ENABLE);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC,ENABLE);//ê1ÄüGPIOê±Öó
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG,ENABLE);//ê1ÄüSYSCLKê±Öó
SYSCFG_ETH_MediaInterfaceConfig(SYSCFG_ETH_MediaInterface_MII);//MACoíPHYÖ®¼äê1óÃMII½ó¿ú
//PA0 PA8
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8|GPIO_Pin_0;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;
GPIO_Init(GPIOA, &GPIO_InitStructure);
// RCC_MCO1Config(RCC_MCO1Source_HSE, RCC_MCO1Div_1);
//ÅäÖÃ
A1 PA2 PA7
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_7;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOA,&GPIO_InitStructure);
GPIO_PinAFConfig(GPIOA,GPIO_PinSource1,GPIO_AF_ETH);
GPIO_PinAFConfig(GPIOA,GPIO_PinSource2,GPIO_AF_ETH);
GPIO_PinAFConfig(GPIOA,GPIO_PinSource7,GPIO_AF_ETH);
GPIO_ResetBits(GPIOA,GPIO_PinSource7);
//Åä
B8 PB11 PB12 PB13
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_8|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOB,&GPIO_InitStructure);
GPIO_PinAFConfig(GPIOB,GPIO_PinSource8,GPIO_AF_ETH);
GPIO_PinAFConfig(GPIOB,GPIO_PinSource11,GPIO_AF_ETH);
GPIO_PinAFConfig(GPIOB,GPIO_PinSource12,GPIO_AF_ETH);
GPIO_PinAFConfig(GPIOB,GPIO_PinSource13,GPIO_AF_ETH);
//PC2 PC3
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_2|GPIO_Pin_3;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOC,&GPIO_InitStructure);
GPIO_PinAFConfig(GPIOC,GPIO_PinSource2,GPIO_AF_ETH);
GPIO_PinAFConfig(GPIOC,GPIO_PinSource3,GPIO_AF_ETH);
//ÅäÖÃ
C1 PC4 PC5 PB0 PB1 PB10
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_10;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOB,&GPIO_InitStructure);
GPIO_PinAFConfig(GPIOB,GPIO_PinSource0,GPIO_AF_ETH);
GPIO_PinAFConfig(GPIOB,GPIO_PinSource1,GPIO_AF_ETH);
GPIO_PinAFConfig(GPIOB,GPIO_PinSource10,GPIO_AF_ETH);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1|GPIO_Pin_4|GPIO_Pin_5;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOC,&GPIO_InitStructure);
GPIO_PinAFConfig(GPIOC,GPIO_PinSource1,GPIO_AF_ETH);
GPIO_PinAFConfig(GPIOC,GPIO_PinSource4,GPIO_AF_ETH);
GPIO_PinAFConfig(GPIOC,GPIO_PinSource5,GPIO_AF_ETH);
ETHERNET_NVICCongfiguration();
rval = ETH_MACDMA_Config();
return !rval;//ETHμÄ1æÔòÎa£o0£¬ê§°ü£»1£¬3é1|£»ËùòÔÕaàïòaè¡·′ò»ÏÂ
}
一周热门 更多>