Petka 0 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба Хочется, чтобы и быстро, и качественно. А это значит, что пока операнд в регистрах - должен иметь тип uint_fast8_t, а когда попадает в ОЗУ - просто uint8_t. Без нативной поддержки компилятором это сделать автоматически невозможно, а значит bool идет лесом :) Простите, а как хранится uint8_t в регистрах 32битного процессора? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FCK 0 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба Помоему WORD или DWORD, если не ошибаюсь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба А никак. Она в озу должна быть uint8_t, а в регистрах - uint_fast8_t, что на автоматизме компилятором не поддерживается. Даже это не факт - и в RAM, может потребоваться uint_fast8_t, короче, bool несколько скользкий уровень абстракции. Хотя ввиде enum, для повышения степени контролируемости его использование не исключено. Простите, а как хранится uint8_t в регистрах 32битного процессора? В регистах предлагалось uint_fast8_t - а это не 8 bit :) :), на ARM платформе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Petka 0 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба В регистах предлагалось uint_fast8_t - а это не 8 bit :) :), на ARM платформе. Я про то, что если для булевых выражений использовать uint8_t, то в памяти это будет компактно, и при булевых операциях это будет быстро на 32битной архитектуре. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба это будет быстро на 32битной архитектуре. Возможны варианты :( компилятор будет масочку накладывать на регистр, для обеспечения эмуляции байтовости. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Petka 0 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба Возможны варианты :( компилятор будет масочку накладывать на регистр, для обеспечения эмуляции байтовости. не думаю что "!(uint8_t)" будет медленее "!(uint_fast8_t)" (при логических операциях маску не надо накладывать) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба Хороший пример. Хотя эти заразы (Luminarymicro) для получения даташита требуют регистрации,Не требуют, а предлагают зарегистрироваться. ;) Можете отказаться от регистрации (выберите кнопку OPTIONS) и ссылку на даташит вам-таки дадут, но в следующий раз опять предложат зарегистрироваться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба (при логических операциях маску не надо накладывать) Да? а ~boolvalue кто будет запрещать делать :) с Вашим 'bool' :( Ну и нафиг такой bool ...... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Petka 0 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба Да? а ~boolvalue кто будет запрещать делать :) Так в трезвом уме делать низззя =) потому-что (0x02) это истина для компилятора, а ~(0x02) получится тоже истина, вопреки ожиданиям. А тех кто путает битовые операции с логическими воспитывать надо =). Сейчас речь шла о логических операциях. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба Так в трезвом уме делать низззя =) потому-что (0x02) это истина для компилятора, а ~(0x02) получится тоже истина, вопреки ожиданиям. А тех кто путает битовые операции с логическими воспитывать надо =). Повторяю вопрос - лично Вы будете воспитывать, следить и так далее, дабы с этим "чудесным" bool работали только &&, ||, =0, =1? Не компилятор? Ну и зачем этот 'bool', который и не bool? Для удобного наступания на грабли? Сейчас речь шла о логических операциях. ~ это есть тоже вполне себе логическая :) операция. Поразрядное логическое НЕ. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 89 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба Можете отказаться от регистрации (выберите кнопку OPTIONS) и ссылку на даташит вам-таки дадут, но в следующий раз опять предложат зарегистрироваться. Спасибо, помогло. Правда от полноты информации не стало выглядеть лучше. Итого - ток рабочего режима вырос до 45-50ма, ток Sleep в режиме "все остановлено" - 17-20ма, ток Sleep в режиме "все выключено" и тактовая разделена на 16 - 0,8-1ма. И на кой при батарейном питании такое потребление?! ЗЫ. Кстати, бегло просмотрел доку и не совсем понял. На кой там 200 МГц PLL если System Clock не более 20 МГц? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба И на кой при батарейном питании такое потребление?! ЗЫ. Кстати, бегло просмотрел доку и не совсем понял. На кой там 200 МГц PLL если System Clock не более 20 МГц? Это риторика? :cranky: В противном случае вопросы не по адресу. Причем тут частоты и батарейное питание? Упоминание этих МК было в ответ на реплику Я сомневаюсь, что кто-то станет делать АРМы в 8-ми или хотя бы в 20-выводном корпусе... как пример ARM в корпусе SOIC-28. И не более того. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба ЗЫ. Кстати, бегло просмотрел доку и не совсем понял. На кой там 200 МГц PLL если System Clock не более 20 МГц? Понятно :( с контроллерами, которые работают не на частоте кварца, али умноженной на целое число, вообще дел не имели. Чем на большее число сможете умножить и получить более высокую частоту, тем будет больший диапазон чисел для последущего деления и соответственно возможность получения из произвольной входной частоты наиболее близкой к желаемой тактовой. Признаком хорошего тона нынче является наличие нескольких PLL, дабы обеспечить нужыми клоками и все периферийные интерфейсы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 1 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба И на кой при батарейном питании такое потребление?! ЗЫ. Кстати, бегло просмотрел доку и не совсем понял. На кой там 200 МГц PLL если System Clock не более 20 МГц? Вообще, серия Luminary (по крайней мере их младшая линейка) никоим образом не конкурент по потреблению тока. Чипы здорово греются и жрут немеряно. Их привели только в качестве малоногих армов. Может быть отладят техпроцесс или доработают камень когда нибудь... А вообще, такое ощущение, что их разрабатывали впопыхах, лишь бы успеть побыстрее выкинуть на рынок... :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
defunct 0 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба Их привели только в качестве малоногих армов. Может быть отладят техпроцесс или доработают камень когда нибудь... Чипы попали в лапы TI - теперь им ппц. Максимум останутся такими же как были. (imho) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться