Здравствуйте.
Вопрос к гражданам из Миландра.
В спецификации на 5600ВГ1У, версия 2.12.1 от 09.11.2018 (последняя версия на сайте Миландр),
в разделе "ПРИЛОЖЕНИЕ 1. Регистры контроллера, Таблица 10 - Регистры контроллера" на стр.40 указано:
Наименование | Доступ | Номер регистра | Значение по умолчанию | Описание
MAC_ADDR_T RW 0x05 0x89AB Регистр МЛАДШЕЙ части МАС-адреса
MAC_ADDR_M RW 0x06 0x4567 Регистр средней части МАС-адреса
MAC_ADDR_H RW 0x07 0x0123 Регистр СТАРШЕЙ части МАС-адреса
В той же спецификации в разделе "ПРИЛОЖЕНИЕ 5. Драйвер (C/C++, TMS320C54x)", на стр.58
(исходный код файла "MAC.h") обявлены макросы для MAC адреса по умолчанию:
#define dflt_MAC_ADDR_H 0x0123 // MAC: 01_23_45_67_89_AB
#define dflt_MAC_ADDR_M 0x4567
#define dflt_MAC_ADDR_T 0x89ab
в том же разделе, на стр. 52 (исходный код файла "MAC.с"):
//...
extern t_MAC MAC_RG;
//...
void MAC_init(void)
{
//...
MAC_RG.MAC_ADDR[0] = dflt_MAC_ADDR_H;
MAC_RG.MAC_ADDR[1] = dflt_MAC_ADDR_M;
MAC_RG.MAC_ADDR[2] = dflt_MAC_ADDR_T;
//...
}
Может быть я чего-то не понимаю, но поясните почему
значение dflt_MAC_ADDR_H записывается в регистр MAC_ADDR_T, а
значение dflt_MAC_ADDR_T записывается в регистр MAC_ADDR_H.
И выясняется, что именно этот вариант правильный.
Если это опечатка в спецификации, почему Вы не удосужились ее исправить за десяток лет?