|
|
  |
Просто мнение, АВР -> АРМ |
|
|
|
Jun 18 2009, 05:42
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Цитата(Xenia @ Jun 17 2009, 13:13)  Грустно, что обсуждение перешло обсуждение на размерности булевской переменной. По всей видимости, это произошло из-за того, что участники дискуссии путают "битность" процессора и шириной шины данных. С чего Вы взяли? Просто пример _Bool наглядно показывает несуразности в представлении данных Цитата Не процессор виноват в том, что один бит из памяти он достать не может... В этом виноват компилятор. В том, что процессор один бит из памяти достать-таки может, а компиляторописатели не могут обеспечить автоматическое размещение однобитовых переменных, хотя достаточно всего два усилия воли: 1. Выделение битового пула 2. Оптимизация размещения - исходя из анализа выражений. Цитата Причем это же касается и операций с текстовыми символами От этого ваще никуда не деться  Char не пошлешь. Цитата преимущества длинных регистров поймут все те, кто хотя бы краешком глаза заглядывал на то, как реализуется в библиотеках эмуляция работы с плавающей точкой. Лично мне более нравятся преимущества Barrel Shifter вместо циклов сдвига при нормализации/выравнивании  Цитата(dxp @ Jun 18 2009, 05:57)  Теперь понятно.  Как это компилятор внутри разруливает, его личное дело. Почему же личное? Результат операции сравнения имеет тип int Цитата(Serj78 @ Jun 18 2009, 08:14)  Был сильно удивлен отсутствием eeprom у обоих... куда настройки писать  ? Во флеш, куда ж еще.
|
|
|
|
|
Jun 18 2009, 06:15
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Цитата(dxp @ Jun 18 2009, 09:04)  Какой операции? && - этой? Я о том, что Код if(bool1 && bool2) является сокращенной формой записи Код if((bool1 != 0) && (bool2 != 0)) и в итоге результат && становится int, т.к. операнды int по стандарту Разве не так?
|
|
|
|
|
Jun 18 2009, 06:38
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
Цитата(_Pasha @ Jun 18 2009, 13:15)  Я о том, что Код if(bool1 && bool2) является сокращенной формой записи Код if((bool1 != 0) && (bool2 != 0)) и в итоге результат && становится int, т.к. операнды int по стандарту Разве не так? Думаю, что нет. Оператор if принимает уже логическое выражение, к которому сводится арифметическое, т.е. когда доходит принятия решения, то анализируется уже результат выражения в виде "истина/ложь". Поэтому: bool && bool -> true/false && true/false -> true/false. А арифметические выражения в операторе обрабатываются по схеме <арифметическое выражение> && <арифметическое выражение> -> true/false && true/false -> true/false. Т.е. почти также, но чуть сложнее - надо само арифметическое выражение привести к результату в виде "истина/ложь", тогда как в случае явных bool'ов это есть сразу. Сам анализ результата технически одинаков на большинстве платформ, но это уже детали реализации. Т.е. сам оператор работает по сути как раз с логическими выражениями, к которым пробразовывает арифметические, если они присутствуют в аргументе. Поэтому нет необходимости логические сначала гнать в арифметические, а потом обратно.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Jun 18 2009, 07:19
|
Местный
  
Группа: Свой
Сообщений: 358
Регистрация: 27-06-06
Из: Новосибирск
Пользователь №: 18 410

|
Интересно, каким вообще боком относится тип bool к типу микроконтроллера (AVR/ARM/x86/x64 etc.)? Понятно, что хочется блестнуть знанием С, но тема ведь не про это. Лично для меня AVR были и остаются универсальными очень удобными контроллерами для "домашних" поделок. Не надо тебе ни кварца, ни спец-программаторов, нет каких-либо строгих ограничений по питанию, достаточно мощные ноги, достаточный размер памяти, экстремально низкая цена... Плюсы можно перечислять очень долго. И ARMы эту нишу никогда не займут. Ну не нужно для какого-нибудь терморегулятора 32 битное ядро! Им нужно делать PLL, больше возни с программаторами, большее потребление, больше (а значит страшнее для новичка) даташит... Минусы опять же можно долго перечислять.
|
|
|
|
|
Jun 18 2009, 08:43
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Itch @ Jun 18 2009, 11:38)  Много раз надо было собрать для дома кое-какие вещи. Просто брал простую AVRку и навесным монтажем ее запаивал, даже ПП не делал, из внешних деталей - только один конденсатор по питанию. И все работало, никаких проблем! Зачем мне переходить на ARM? Читаем первый пост: Цитата Видимо, АВРки уверенно смещаются в зону "радиолюбительства" P.S. А "сведения" из мира НЕ AVR у Вас устаревшие все
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jun 18 2009, 09:08
|
Местный
  
Группа: Свой
Сообщений: 358
Регистрация: 27-06-06
Из: Новосибирск
Пользователь №: 18 410

|
Цитата В этом виноват компилятор. В том, что процессор один бит из памяти достать-таки может, а компиляторописатели не могут обеспечить автоматическое размещение однобитовых переменных, хотя достаточно всего два усилия воли: 1. Выделение битового пула Надо запаковать bool - используйте union. Но зачем?! Если идет разговор о гигагерцах и мегапикселях то там уже заниматься подобной чепухой не остается времени, да и смысла тоже. Цитата А "сведения" из мира НЕ AVR у Вас устаревшие все SAM7Sxx - не такой уж и старый. Вообще, мысли об ARM посещают, но сразу с прицелом в линукс. Однако полноценный MMU + контроллер TFT редко где встретишь, даже в контроллерах с ARM9-ядром.
|
|
|
|
|
Jun 18 2009, 09:31
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(Itch @ Jun 18 2009, 13:08)  SAM7Sxx - не такой уж и старый. Проблема не в том, что старый (а он все-таки старый), а в том, что это одна из "первых ласточек". Хуже только 7A. Цитата(Itch @ Jun 18 2009, 13:08)  Вообще, мысли об ARM посещают, но сразу с прицелом в линукс. Однако полноценный MMU + контроллер TFT редко где встретишь, даже в контроллерах с ARM9-ядром. Из одних атмелов: AT91SAM9261(S), AT91SAM9263, SAM9G10 - мало?
|
|
|
|
|
Jun 18 2009, 09:40
|

developer
   
Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032

|
Цитата Видимо, АВРки уверенно смещаются в зону "радиолюбительства" А в чем разница между радиолюбительством и нерадиолюбительством. В наличии или отсутствии печатной платы? Или в том кто ставит задачи: руководство или сам себе ? Или какой-то научный подход к решению задачи ? Большинство того, что мы делаем на работе, можно делать и дома. И наоборот. Очень часто то, что приходиться делать на работе, больше смахивает на радиолюбительство. Так где же грань между радиолюбительством и нерадиолюбительством !?
--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
|
|
|
|
|
Jun 18 2009, 09:55
|

developer
   
Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032

|
Цитата(demiurg_spb @ Jun 18 2009, 13:48)  В серийности и ответственности перед покупателями... Есть предприятия, которые выпускают единичные изделия. А что вы сами к себе относитесь безответственно? Если электронику воспринимать как хобби, то, по определению, она должна приносить удовольствие. А разве будет приносить удовольствие изделие (сделанное для себя), которое постоянно ломается или глючит?
--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|