- 
	-  А так?  VAI(145 знак., 26.04.2006 10:20,  ) )- Ответ: А так работает! благодарствую! еще вопрос! как вы считаете, приемлемо ли с помощью такой кнструкции обьявлять переменные, если мне необходимо разместить ряд переменных последовательно?! Или же есть какой то иной способ, более подходящий для этих це  РДимка(5 знак., 26.04.2006 11:30,  ) )- Самый правильный (ИМХО) это упаковать переменные в структуру. - rezident(26.04.2006 13:02,  ) )-  Недопустимо, если необходима строгая последовательность  Ilia_Litvinenko(153 знак., 26.04.2006 16:50,  ) )- Ответ: А афтар так и не прокоментировал свое утверждение. - VAI(28.04.2006 15:16,  ) )- Да в общем-то и наплевать. Проблем со структурами пока не было.  rezident(122 знак., 28.04.2006 17:56,  ) )- Ответ: Да просто категоричность афтара.... :-) - VAI(29.04.2006 09:45,  ) )
 
- Ответ: Да просто категоричность афтара.... :-) - VAI(29.04.2006 09:45, 
 
- Да в общем-то и наплевать. Проблем со структурами пока не было.  rezident(122 знак., 28.04.2006 17:56, 
- Насчет массива  Kurt(333 знак., 27.04.2006 16:30,  ) )- А можно сделать так:
typedef enum{
...
}param_id_t;
int
  igor75(119 знак., 02.05.2006 10:36,  ) )
- Дополнение:  Kurt(374 знак., 27.04.2006 16:48,  ) )
 
- А можно сделать так:
typedef enum{
...
}param_id_t;
int
  igor75(119 знак., 02.05.2006 10:36, 
- В MSP есть один момент - в структурах надо просто проследить вручную за размещением элементов структуры,  Гудвин(525 знак., 27.04.2006 12:37,  ) )- В MSP430 достаточно выравнивать на границу размера слова (2 байта). Причем хоть руками, хоть командами препроцессора. - rezident(27.04.2006 12:48,  ) )
-  для этого есть #pragma pack.  VAI(220 знак., 27.04.2006 12:47,  ) )- А что будет  igor75(309 знак., 02.05.2006 10:48,  ) )- Все будет нормально и ничего не потреяется, если структура будет выровнена на байт и доступ к структуре будет байтовый. - rezident(02.05.2006 12:48,  ) )- Вопрос был про одновременную работу с использованием 1 и 2х байтового выравнивания на разных процах - igor75(02.05.2006 13:20,  ) )-  Чтобы не было ошибок, выравнивание всегда должно быть одинаковым.  VAI(97 знак., 02.05.2006 14:23,  ) )- Ха ха  igor75(259 знак., 02.05.2006 16:56,  ) )- Ничего конструктивного не увидел - igor75(03.05.2006 09:29,  ) )
- Ответ: Вы ПИСАТЕЛЬ, ха ха! - VAI(02.05.2006 18:01,  ) )
- Вообще-то у него написано про связь PICов с PC и MSP c PC, и о разных значениях pack в этих случаях.  she(90 знак., 02.05.2006 17:13,  ) )
- Читайте тщательнЕе "для MSP удобней #pragma pack( 2 )" - rezident(02.05.2006 17:09,  ) )
 
- Ничего конструктивного не увидел - igor75(03.05.2006 09:29, 
 
- Ха ха  igor75(259 знак., 02.05.2006 16:56, 
 
-  Чтобы не было ошибок, выравнивание всегда должно быть одинаковым.  VAI(97 знак., 02.05.2006 14:23, 
 
- Вопрос был про одновременную работу с использованием 1 и 2х байтового выравнивания на разных процах - igor75(02.05.2006 13:20, 
 
- Все будет нормально и ничего не потреяется, если структура будет выровнена на байт и доступ к структуре будет байтовый. - rezident(02.05.2006 12:48, 
- Если структура в MSP430 выровнена на 1 байт, то и обращаться к ней нужно аналогично.  rezident(247 знак., 27.04.2006 12:52,  ) )- Ответ: Мы делаем единый заголовочный файл, в котором описываем передаваемые структуры. Соответственно #pragma pack одинакова для всех компиляторов. - VAI(27.04.2006 14:13,  ) )
- С учетом расположения байтовых элементов от начала структуры конечно же. - rezident(27.04.2006 12:54,  ) )
 
- Ответ: Мы делаем единый заголовочный файл, в котором описываем передаваемые структуры. Соответственно #pragma pack одинакова для всех компиляторов. - VAI(27.04.2006 14:13, 
- Ручками надежней :) чем полагаться на прагмы двух совершенно разных компилеров... Да и вообще я всякие гуи рисую в дельфях... - Гудвин(27.04.2006 12:51,  ) )
 
- А что будет  igor75(309 знак., 02.05.2006 10:48, 
 
- В MSP430 достаточно выравнивать на границу размера слова (2 байта). Причем хоть руками, хоть командами препроцессора. - rezident(27.04.2006 12:48, 
- "поменять местами" - бред. Внутри цитата из драфта на стандарт Си.  Алексей Мусин(218 знак., 27.04.2006 12:02,  ) )
- Может, вот выдержка из документа  AD(537 знак., 27.04.2006 11:26,  ) )- На самом деле не может. В _С_ гарантируется порядок  AD(1055 знак., 27.04.2006 13:30,  ) )- Исходя из 9.2(12) в структуре порядок следования членов структуры в памяти должен совпадать с порядком их объявления.  scum(203 знак., 28.04.2006 10:20,  ) )- Спасибо, перевести я и сам в состоянии  AD(65 знак., 28.04.2006 13:39,  ) )- Ну по всей видимости ответ нет, при условии что компилер соответствует стандарту. - scum(28.04.2006 14:22,  ) )
 
- Ну по всей видимости ответ нет, при условии что компилер соответствует стандарту. - scum(28.04.2006 14:22, 
 
- Спасибо, перевести я и сам в состоянии  AD(65 знак., 28.04.2006 13:39, 
 
- Исходя из 9.2(12) в структуре порядок следования членов структуры в памяти должен совпадать с порядком их объявления.  scum(203 знак., 28.04.2006 10:20, 
- А разве "members occupy increasing storage addresses" не означает, что порядок членов сохраняется? - vmp(27.04.2006 11:30,  ) )- нет  AD(194 знак., 27.04.2006 11:42,  ) )- Дословно: ( members occupy increasing storage addresses ) == ( члены занимают увеличивающиеся адреса памяти ) - VAI(27.04.2006 12:10,  ) )
- Вместо указывает читать располагается - AD(27.04.2006 11:44,  ) )
 
- Дословно: ( members occupy increasing storage addresses ) == ( члены занимают увеличивающиеся адреса памяти ) - VAI(27.04.2006 12:10, 
- Ответ: Именно, порядок членов сохраняется, а то, что для выравнивания вставляются лишние байты - так для совместимости различных реализаций компиляторов существует #pragma pack - VAI(27.04.2006 11:39,  ) )- Неправильно - AD(27.04.2006 11:43,  ) )- Это только выводы или есть практическое подтверждение? Приведите пример структуры, компилятор и тип кристалла. - rezident(27.04.2006 12:34,  ) )- Сам не пользовал  AD(504 знак., 27.04.2006 13:45,  ) )- Угу. Значит все-таки умозаключения, а не практика. Кстати речь пока шла об "однородных" структурах, располагающихся в непрерывном адресном пространстве. - rezident(27.04.2006 14:09,  ) )- Т.е. про Си. Без плюсов. - rezident(27.04.2006 14:10,  ) )
 
- Т.е. про Си. Без плюсов. - rezident(27.04.2006 14:10, 
 
- Угу. Значит все-таки умозаключения, а не практика. Кстати речь пока шла об "однородных" структурах, располагающихся в непрерывном адресном пространстве. - rezident(27.04.2006 14:09, 
 
- Сам не пользовал  AD(504 знак., 27.04.2006 13:45, 
 
- Это только выводы или есть практическое подтверждение? Приведите пример структуры, компилятор и тип кристалла. - rezident(27.04.2006 12:34, 
 
- Неправильно - AD(27.04.2006 11:43, 
 
- нет  AD(194 знак., 27.04.2006 11:42, 
 
- На самом деле не может. В _С_ гарантируется порядок  AD(1055 знак., 27.04.2006 13:30, 
- Помнится мне, что в С (не в С++) - гарантируется соблюдение порядка в структурах. Не гарантируется (отдано на откуп реализации) только порядок заполнения битовыми полями слов памяти. Лень сейчас в стандарт лезть. - ReAl(27.04.2006 11:03,  ) )
- Действительно, на чем основано такое утверждение? - rezident(26.04.2006 22:23,  ) )
- Компилятор может по своему разумению поменять местами переменные при упаковке структуры А можно подробнее со ссылкой на документ? - VAI(26.04.2006 17:39,  ) )
 
- Ответ: А афтар так и не прокоментировал свое утверждение. - VAI(28.04.2006 15:16, 
- Ответ: А я не пойму, зачем переменные распологать по конкретному адресу? - VAI(26.04.2006 13:31,  ) )-  вообще то я думал так сделать для того, чтобы потом можно было считать эти данные как группу регистров!  РДимка(130 знак., 26.04.2006 14:21,  ) )- "Извне" это как??? - rezident(26.04.2006 14:22,  ) )- Ответ: Напоимер по UARTу попросить считать определенное количесво ячеек памяти из RAM, а что бы не выбирать необходимые переменны, хотел расположить их последовательно! - РДимка(26.04.2006 14:28,  ) )- Тьфу, блин, я уж думал что новую шину в MSP430 изобрели :)  rezident(187 знак., 26.04.2006 14:35,  ) )
 
- Тьфу, блин, я уж думал что новую шину в MSP430 изобрели :)  rezident(187 знак., 26.04.2006 14:35, 
 
- Ответ: Напоимер по UARTу попросить считать определенное количесво ячеек памяти из RAM, а что бы не выбирать необходимые переменны, хотел расположить их последовательно! - РДимка(26.04.2006 14:28, 
 
- "Извне" это как??? - rezident(26.04.2006 14:22, 
- Ответ: Могу предположить что он таким образом делает глобальную переменную. Это все равно, что использовать искуственное осеменение для продолжения рода и оставаться девственником, чем использовать прекрассный естественный способ. - VAI(26.04.2006 14:15,  ) )
- Если во Flash, то можно понять. А в RAM ... тоже не знаю :) - rezident(26.04.2006 13:52,  ) )
 
-  вообще то я думал так сделать для того, чтобы потом можно было считать эти данные как группу регистров!  РДимка(130 знак., 26.04.2006 14:21, 
 
-  Недопустимо, если необходима строгая последовательность  Ilia_Litvinenko(153 знак., 26.04.2006 16:50, 
 
- Самый правильный (ИМХО) это упаковать переменные в структуру. - rezident(26.04.2006 13:02, 
 
- Ответ: А так работает! благодарствую! еще вопрос! как вы считаете, приемлемо ли с помощью такой кнструкции обьявлять переменные, если мне необходимо разместить ряд переменных последовательно?! Или же есть какой то иной способ, более подходящий для этих це  РДимка(5 знак., 26.04.2006 11:30, 
- Правильно ругается, инициализация переменных в ОЗУ недопустима - Shura(26.04.2006 10:16,  ) )
 
-  А так?  VAI(145 знак., 26.04.2006 10:20,