реклама на сайте
подробности

 
 
> Keil uVision3 (3.31), RealView compiler
Glucik
сообщение Sep 5 2008, 00:45
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 22-04-08
Пользователь №: 36 986



Столкнулся с такой вещью:

В примере неверно вычисляестя значение переменной Size:

Код
Size=(*(u16*)((u32)SB_Data+0x28))+0x2C;


А если сделать так, то всё корректно:

Код
Size=(SB_Data[0x28]|(SB_Data[0x29]<<8))+0x2C;


Вот вся функция:

Код
void LoadData(const u8* Data)
{
u16 Size;
SB_Data=Data;
Size=(SB_Data[0x28]|(SB_Data[0x29]<<8))+0x2C;
//...
}


Вот описание масива данных и вызов вышеобъявленной функции:

Код
const u8 SoundData[1000]=
{
0x01,0x02,......
}

//....

int main(void)
{
//...
LoadData(SoundData);
//...
}


Данных в программе очень много (указателей). В чём может быть дело? Неужели RealView загибается?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 22:25
Рейтинг@Mail.ru


Страница сгенерированна за 0.01351 секунд с 7
ELECTRONIX ©2004-2016