Здравствуйте. Включаю АРМ с сетевым контроллером Am79c874. Пытаюсь записать с АРМа данные в контроллер по выводам MDC, MDIO. После настройки ножек на периферию на MDC = 0, MDIO = 1. В чем может быть дело? Привожу текст подпрограммы, настраивающей ножки:
#include "AT91SAM9260.h"
#include "lan_init.h"
int LanInit(void)
{
AT91_REG RegValue = 0x0;
/* read initial output enable */
/* 0 - input only mode */
/* 1 - I/O mode */
RegValue = *AT91C_PIOA_OSR;
/* enable outputs */
*AT91C_PIOA_OER = 0xFFFFFFFF;
RegValue = *AT91C_PIOA_OSR;
*AT91C_PIOA_ODR = 0x0;
RegValue = *AT91C_PIOA_OSR;
/* read initial value */
/* 0 - peripherial mode */
/* 1 - I/O mode */
RegValue = *AT91C_PIOA_PSR;
/* set PA lines to peripherial functions */
*AT91C_PIOA_PER = 0x0;
RegValue = *AT91C_PIOA_PSR;
*AT91C_PIOA_PDR = 0xFFFFFFFF;
RegValue = *AT91C_PIOA_PSR;
/* 0 - A-mode of peripherial */
/* 1 - B-mode of peripherial */
RegValue = *AT91C_PIOA_ABSR;
/* enable managment interface */
*(AT91_REG*)(AT91C_BASE_EMACB) |= AT91C_EMAC_MPE;
/* configure network: MDC = CLK/32 */
*(AT91C_EMACB_NCFGR) = 0x81F;
/* operations with PHY interface register */
*(AT91C_EMACB_MAN) = 0x50022100;
return 0;
}