-
- А как вы в программе размер массива зададите, если заранее неизвестно количество используемых датчиков? Размер сразу на все возможное количество, насколько ОЗУ хватит? - rezident(18.07.2012 23:42)
- В реальных устройствах такого не бывает, что неизвестно количество датчиков. Тот, кто рисовал схему и плату, количество знает точно. Если какие-то датчики могут быть не подключены - ничего, массив выделяем всегда для всех. Устройство ведь должно Лeoнид Ивaнoвич(42 знак., 18.07.2012 23:52)
- Бывает. Бывает, что несколько разных типов датчиков со своим типом опроса (аналоговые, различные цифровые, задаваемые с "верхнего уровня"), приложению назначается откуда брать значения (например клавиатурным вводом назначается), а к тому же с Vit(103 знак., 18.07.2012 23:59)
- А если количество датчиков потребует памяти больше, чем физически есть в контроллере??? Всё это бред собачий! Под такие вещи надо выделять массив структур и заполнять его при работе программы. Размер массива - максимальное количество FDA(236 знак., 19.07.2012 08:34)
- Например, 2 канала связи. Одних датчиков (на одном канале связи) может быть больше, других (на другом канале связи) меньше в зависимости от оперативно вводимой конфигурации. На каждый канал своя опрашивалка - ей не нужно сообщать свойствами из Vit(634 знак., 19.07.2012 08:55)
- А не проще в одном H-файле задать ВСЕ необходимые для программы константы? И в зависимости от них уже выделять память под массивы. В любом случае программа должно знать сколько она может поддерживать датчиков и адекватно реагировать если их FDA(42 знак., 19.07.2012 09:58)
- Если конфигурировать на ходу, то не проще. А планировать надо не в сферовакуумных константах, а в пределах реально доступных ресурсов. Особенно если пишет не один человек. Vit(409 знак., 19.07.2012 10:08)
- Использование динамических структур чаще оправдано в других случаях, например, при реализации сложного меню в интерфейсе. Здесь они реально обеспечивают удобство при описании дерева, хотя опять же Вы должны знать максимальное кол-во таких FDA(406 знак., 19.07.2012 10:02)
- Повторяю - НЕ НУЖНО знать максимальное кол-во таких элементов - в этом существенная разница, а стОит обслуживание списков очень недорого, да и компиляторы хорошо оптимизируют соответствующие конструкции. Вы не стесняйтесь - попробуйте:) И Vit(104 знак., 19.07.2012 10:13)
- Ладно, это тупой спор. Вы уходите о того, с чего начали. - FDA(19.07.2012 10:19)
- это Вы сказали, что использовать списки - бред собачий. при этом оказалось, что аргументация Ваша НИКАКАЯ и о списках Вы только слышали. - Vit(19.07.2012 10:23)
- Я нормально изложил свою позицию, советую перечитать вышесказанное ещё раз. - FDA(19.07.2012 10:28)
- Ответьте, пожалуйста, на один вопрос: как задать размер списка? - Vit(19.07.2012 10:53)
- Я нормально изложил свою позицию, советую перечитать вышесказанное ещё раз. - FDA(19.07.2012 10:28)
- это Вы сказали, что использовать списки - бред собачий. при этом оказалось, что аргументация Ваша НИКАКАЯ и о списках Вы только слышали. - Vit(19.07.2012 10:23)
- Ладно, это тупой спор. Вы уходите о того, с чего начали. - FDA(19.07.2012 10:19)
- Повторяю - НЕ НУЖНО знать максимальное кол-во таких элементов - в этом существенная разница, а стОит обслуживание списков очень недорого, да и компиляторы хорошо оптимизируют соответствующие конструкции. Вы не стесняйтесь - попробуйте:) И Vit(104 знак., 19.07.2012 10:13)
- А не проще в одном H-файле задать ВСЕ необходимые для программы константы? И в зависимости от них уже выделять память под массивы. В любом случае программа должно знать сколько она может поддерживать датчиков и адекватно реагировать если их FDA(42 знак., 19.07.2012 09:58)
- Например, 2 канала связи. Одних датчиков (на одном канале связи) может быть больше, других (на другом канале связи) меньше в зависимости от оперативно вводимой конфигурации. На каждый канал своя опрашивалка - ей не нужно сообщать свойствами из Vit(634 знак., 19.07.2012 08:55)
- Не сталкивался с таким никогда, поэтому мне трудно говорить на эту тему. И не верю в реальность такого. Я бы написал отдельную прошивку. - Лeoнид Ивaнoвич(19.07.2012 00:01)
- У меня такие девайсы сплошь и рядом - Vit(19.07.2012 00:07)
- Трудно найти общий язык тому, кто делает курятники, с тем, кто делает космические корабли. - Лeoнид Ивaнoвич(19.07.2012 00:10)
- При чём тут корабли? Я в своё время чуток коровники автоматизировал - ну и что тут такого? - Vit(19.07.2012 00:19)
- Вот и я автоматизировал. И коровники, и элеваторы. И всё без указателей. - Лeoнид Ивaнoвич(19.07.2012 00:28)
- Что тут сказать - герой - Vit(19.07.2012 00:31)
- надо говорить "Да гений, гений." ;> - Snaky(19.07.2012 02:25)
- Что тут сказать - герой - Vit(19.07.2012 00:31)
- Вот и я автоматизировал. И коровники, и элеваторы. И всё без указателей. - Лeoнид Ивaнoвич(19.07.2012 00:28)
- Вывод: надо делать космические курятники :)) - MBedder(19.07.2012 00:13)
- При чём тут корабли? Я в своё время чуток коровники автоматизировал - ну и что тут такого? - Vit(19.07.2012 00:19)
- Трудно найти общий язык тому, кто делает курятники, с тем, кто делает космические корабли. - Лeoнид Ивaнoвич(19.07.2012 00:10)
- У меня такие девайсы сплошь и рядом - Vit(19.07.2012 00:07)
- А если количество датчиков потребует памяти больше, чем физически есть в контроллере??? Всё это бред собачий! Под такие вещи надо выделять массив структур и заполнять его при работе программы. Размер массива - максимальное количество FDA(236 знак., 19.07.2012 08:34)
- Бывает. Бывает, что несколько разных типов датчиков со своим типом опроса (аналоговые, различные цифровые, задаваемые с "верхнего уровня"), приложению назначается откуда брать значения (например клавиатурным вводом назначается), а к тому же с Vit(103 знак., 18.07.2012 23:59)
- В реальных устройствах такого не бывает, что неизвестно количество датчиков. Тот, кто рисовал схему и плату, количество знает точно. Если какие-то датчики могут быть не подключены - ничего, массив выделяем всегда для всех. Устройство ведь должно Лeoнид Ивaнoвич(42 знак., 18.07.2012 23:52)
- Это использование глобальных переменных, ну и, опять же, явное задание количества датчиков. Никто не запрещает, но модульный подход против:) - Vit(18.07.2012 23:42)
- Глобальные они только внутри небольшого модуля. А что такое "неизвестное количество датчиков", я так и не понял. У нас же конкретная печатная плата. - Лeoнид Ивaнoвич(18.07.2012 23:54)
- У Вас для каждой платы своя программа? У меня нет. Я ленивый пишу одну прогу для всех плат. Поэтому и кол-во датчиков не ограничиваю. Alloc рулит и уже давно(на пиках с 2005г). - abivan(19.07.2012 11:21 - 11:26)
- У Вас, насколько помнится, используется MicroLAN - датчики вне платы - Vit(19.07.2012 00:01)
- Да, но никогда не используется их адресация. Каждый датчик тянется отдельным проводом. - Лeoнид Ивaнoвич(19.07.2012 00:02)
- И это правильно, ибо так надежнее всего - от вылета одного датчика обмен с соседями не пострадает - MBedder(19.07.2012 00:05)
- Да, но никогда не используется их адресация. Каждый датчик тянется отдельным проводом. - Лeoнид Ивaнoвич(19.07.2012 00:02)
- Глобальные они только внутри небольшого модуля. А что такое "неизвестное количество датчиков", я так и не понял. У нас же конкретная печатная плата. - Лeoнид Ивaнoвич(18.07.2012 23:54)
- А как вы в программе размер массива зададите, если заранее неизвестно количество используемых датчиков? Размер сразу на все возможное количество, насколько ОЗУ хватит? - rezident(18.07.2012 23:42)