[an error occurred while processing this directive]
Хорошую религию придумали индусы (c) В. Высоцкий (+)
(«Телесистемы»: Конференция 'Цифровые сигнальные процессоры (DSP) и их применение')

миниатюрный аудио-видеорекордер mAVR

Отправлено misyachniy 22 марта 2006 г. 16:16
В ответ на: По крайней мере для TMS320C6x: Компилятор С от TI соответствует стандарту С89 за исключением отдельных моментов (о чем в доке написано) А что, назвать файл cpp и пользоваться полюбившейся удобной фишкой религия не позволяет? отправлено andy_P 22 марта 2006 г. 15:06

Постое переименование проекта ведет к появлению Error и Warning.

В TMS320C55x Optimizing C/C++ Compiler User's Guide spru281f.pdf
поиск по словам "С89" и "C99" ничего не даетю
Поиск во встроенной системе среды ССS то же самое.
Лучше я буду объявлять по старому. ;-)

Есть более принципиальный вопрос.
Объявил масив байт:


Uint8 StrDescriptorDevice[18]=
{
0x12,
1,
0,
1,
0xDC,
0xA0,
0xB0,
0x40,
0x92,
0x19,
0x95,
0x19,
0x03,
0x04,
0,
0,
0,
1
};

Посмотрел на листинг:


49 000001 0000- .field _StrDescriptorDevice+0,24
000002 0000
50 000002 0000 .field 0,8
51 000003 0012 .field 18,16 ; _StrDescriptorDevice[0] @ 0
52 000004 0001 .field 1,16 ; _StrDescriptorDevice[1] @ 16
53 000005 0000 .field 0,16 ; _StrDescriptorDevice[2] @ 32
54 000006 0001 .field 1,16 ; _StrDescriptorDevice[3] @ 48
55 000007 00DC .field 220,16 ; _StrDescriptorDevice[4] @ 64
56 000008 00A0 .field 160,16 ; _StrDescriptorDevice[5] @ 80
57 000009 00B0 .field 176,16 ; _StrDescriptorDevice[6] @ 96
58 00000a 0040 .field 64,16 ; _StrDescriptorDevice[7] @ 112
59 00000b 0092 .field 146,16 ; _StrDescriptorDevice[8] @ 128
60 00000c 0019 .field 25,16 ; _StrDescriptorDevice[9] @ 144
61 00000d 0095 .field 149,16 ; _StrDescriptorDevice[10] @ 160
62 00000e 0019 .field 25,16 ; _StrDescriptorDevice[11] @ 176
63 00000f 0003 .field 3,16 ; _StrDescriptorDevice[12] @ 192
64 000010 0004 .field 4,16 ; _StrDescriptorDevice[13] @ 208
65 000011 0000 .field 0,16 ; _StrDescriptorDevice[14] @ 224
66 000012 0000 .field 0,16 ; _StrDescriptorDevice[15] @ 240
67 000013 0000 .field 0,16 ; _StrDescriptorDevice[16] @ 256
68 000014 0001 .field 1,16 ; _StrDescriptorDevice[17] @ 272

Явно отводит по 2 байта на одно значение.
"Растянул" 0x12 до 0x1112 компилируется без вопросов.
Добавил еще разряд до 0x11112 сразу заругался
""USBdescriptors.h", line 50: warning: integer conversion resulted in truncation"

Сделал вывод, что действительно отводит два байта.
пробовал объявить как char и unsigned short.
Не хочет ни в какую - также отводит по два байта.

Нашел пример в котором массив объявлен как "BYTE"
Но компилятор не берет.
Есть ли возможность объявить массив из байт?
Спасибо.


Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru