Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Интерпретация прочитанных данных

2.6K
04 августа 2005 года
NinthBit
43 / / 31.01.2005
В документации на армовский процессор KS8695P пишут:
 
Код:
The KS8695P System Configuration Registers are 32 bits wide.
They are 32-bit word aligned and must be accessed using word instructions.

В реализации ioctl, где эти регистры читаются:
 
Код:
UINT32  *pReg; // unsigned int *
// ...
pReg = pIoCtrl->u.uData;
for (i = 0; i <= REG_SNMP_MAX ; i++, pReg++) {
    *pReg = swReadSNMPReg(Adapter, i);
    DelayInMicroseconds(10);    }

Но когда я в своей программе вывожу это на печать:
 
Код:
UINT32  *pReg;
// ...
pReg = pIoCtrl->u.uData;
for (j = 0; j <= REG_SNMP_MAX ; j++, pReg++) {
    printf("0x%02X:%u\t",j,*pReg);
    if( !((j+1)%4))printf("\n");
}


есть подозрения, основанные на работе другой программы, что цифры выводятся не те (сравнить выводы двух программ напрямую нельзя, т.к. значения меняются).

Я что-то делаю неправильно?

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог