[an error occurred while processing this directive]
|
SPI работает на 10 MHz. Могу читать / писать Ethernet регистры
без проблем.
static REG ReadETHReg(WORD Address)
{
BYTE dataByte;
Enable_Ethernet();
ByteSPI( RCR | Address);
dataByte = ByteSPI(0);
Disable_Ethernet();
return *((REG*)&dataByte);
}//end ReadETHReg
MAC регистры читаются
static REG ReadMACReg(WORD Address)
{
BYTE dataByte;
Enable_Ethernet();
ByteSPI( RCR | Address);
ByteSPI(0);
dataByte = ByteSPI(0);
Disable_Ethernet();
return *((REG*)&dataByte);
}//end ReadMACReg
Проверял POR значение MAMXFLH. Читается правильно. Равно 06:-)
После попытки записи ( например 5) при помощи все той-же WriteReg
(которая кстати работает в случае E регистров) считываю все те же 6.
void WriteReg(WORD Address, BYTE Data)
{
Enable_Ethernet();
ByteSPI( WCR | Address);
ByteSPI(Data); Disable_Ethernet();
}//end WriteReg
Помнится несколько дней назад один человек из этой конференции имел похожие проблемы с M регистрами.
Пожалуйста откликнитесь.
E-mail: info@telesys.ru