-
- Самый правильный (ИМХО) это упаковать переменные в структуру. - 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, )
- Да в общем-то и наплевать. Проблем со структурами пока не было. 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, )
- В 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(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, )
- Ручками надежней :) чем полагаться на прагмы двух совершенно разных компилеров... Да и вообще я всякие гуи рисую в дельфях... - Гудвин(27.04.2006 12:51, )
- А что будет igor75(309 знак., 02.05.2006 10: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, )
- Спасибо, перевести я и сам в состоянии 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, )
- Ответ: Именно, порядок членов сохраняется, а то, что для выравнивания вставляются лишние байты - так для совместимости различных реализаций компиляторов существует #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: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, )
- Ответ: Напоимер по 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, )