- Скажите мне, камрады. Возможна ли некорректная работа встроенного АЦП в тинке85, если оный камень в печке перегреть? Печка китаяйская у меня глюканула и конкретно чип поджарила, аж текстолит потемнел. Ну думаю, кранты букашке. Программатор Звероящер(496 знак., 14.12.2015 11:46, AVR, полностью)
- Как можно посчитать быстро a = (b*c)/(2^64) где unsigned int a; unsigned long int b; const unsigned long int c; Если короче а 32 бита, и b и с 64 бита. - PeterD(09.12.2015 17:10, AVR, полностью)
- результат вычисления unsigned int a имеет четыре значения : 0, 1, 2, 3. зачем "а" 32-х разрядная? и зачем такие разрядности ? либо ашипка в формуле либо разрядность урезать. я неправ? - m16_home(09.12.2015 22:08)
- результат умножения b*c - 128 bit Zikon(587 знак., 09.12.2015 20:31 - 20:36)
- Быстро - это быстрее чем кто? Мне кажется, сэкономить можно только не вычисляя все или часть из 8 байтов, которые отбрасываются. При этом не будут учитываться возможные переносы из них, не знаю, насколько это для вас критично. - йцукен(09.12.2015 18:23,
)
- Надо как-то определиться с возможными диапазонами значений аргументов. А то ведь переполнение легко получается. А при некоторых ограничениях диапазонов можно нормироваться сдвигами и не выходить за 64 бита, а это уже умеет любой приличный SciFi(49 знак., 09.12.2015 17:28)
- unsigned long имеет длину 32 бита, а не 64. Особенно для AVR. - Ксения(09.12.2015 17:15 - 17:24)
- С должен быть long long (types.h). А часто считать нннадо? Например при управлении DDS предпочтительно изначально загрузить в него профили и менять их на лету, при этом ничего не считая. - KLIM83(09.12.2015 17:17)
- Так вроде в винде калькулятор хороший! - Shatun_(09.12.2015 17:15)
- XMEGA E5 - нет флага TTC4_CCA Balda(325 знак., 03.12.2015 16:46, AVR, полностью)
- Существует еще examples для таймера XMEGA E5 (ссылка). Только я макросы Atmel Studio расшифровывать не умею, т.к. работаю всегда с IAR, но у вас Студия, поэтому расшифровать сможете: Ксения(1477 знак., 04.12.2015 22:55 - 22:58, ссылка)
- У обычных Х-Мег флаги прерываний для CCA (в том числе и CCAIF) не работают, пока не выставишь бит разрешения TCx_CCAEN в одном из контрольных регистров. Ксения(209 знак., 03.12.2015 18:00)
- да намудрили они чето капитально. Balda(306 знак., 03.12.2015 18:25)
- Кажись, это: TC45_CCAMODE_COMP_gc = (0x01<<0), /* Ouput Compare enabled */ - Ксения(03.12.2015 18:43)
- Попробовал - не помогает. Balda(723 знак., 04.12.2015 11:31)
- А разве это не активация пина? - Balda(03.12.2015 18:45)
- Я глубоко с этим не разбиралась. Там и другие TC45_CCAMODE есть. У вас сейчас там что? - Ксения(03.12.2015 18:49)
- если брать хмега-а Balda(284 знак., 03.12.2015 19:26)
- Нельзя его брать! Посмотрите как узок круг пользователей, все равно что AVR32. Хотите иметь работу берите ARM, все равно изучение XMEG требует сил. Так потратьте эти силы разумно, с перспективой. - Олдфаг(05.12.2015 12:47,
)
- а самое мерзопакостное Balda(84 знак., 06.12.2015 18:31)
- "Узок круг этих революционеров. Страшно далеки они от народа" (C) Ленин :). Но в отличие от декабристов, AVR к народу всегда были предельно близки. Ксения(315 знак., 05.12.2015 16:08)
- Ксения, поймите, это не AVR. Смотрели фильмы про зомби? Это был твой друг, это был твой папА, но его укусили и это уже не он! Периферия близко не стояла с АVR - считай, что учить ее заново... С нуля,Ксния дорогая! А зачем? Переходите ка кортекс Олдфаг(75 знак., 06.12.2015 21:58,
)
- Хмеги хороши, но через какое-то время хочется большего. Ethernet'a, большего быстродействия. Не вижу пока такого МК, на который можно было бы перейти и ничего не потерять. Все-таки у Хмег мощная периферия, система событий, EEPROM на борту. AlexG(43 знак., 06.12.2015 18:52)
- абослютно согласен Balda(502 знак., 06.12.2015 18:35 - 18:44)
- У XMEGA была возможность стать попу лярной. Они не сделали один-два маленьких шажка: отделив регистровый файл r0...31 от жестких адресов, им надо было сделать его отображаемым на разные места RAM как окно, и добавить защищенный регистр базового Олдфаг(323 знак., 07.12.2015 10:18,
)
- С вашими приоритетами надо работать на SPARC-архитектуре :). "Отображение" банка регистров в память означала бы вообще отсутствие регистров и работу только с памятью, а это тормоз для регистровых операций (лишний такт). Даже в SPARC не пошли на Ксения(43 знак., 07.12.2015 14:55)
- Вариантов много, например, могли бы вспомнить что AVR в самом начале набирался из микропроцессорных секций и изобразить AVR16. Что сделали, то сделали, для определенных задач это подходит хорошо, для остальных стоит взять что-то другое. Эстеты AlexG(42 знак., 07.12.2015 11:02)
- Фу гасный? Педивикия говорит, что регистровый файл - это непростой зверь. Не факт, что его можно раздуть до 16К байт. - SciFi(07.12.2015 10:27, ссылка)
- дефолтные значения Balda(6 знак., 03.12.2015 18:53)
- А нету оброботчика прерывания случайно, который скидывает флаг? - Shatun_(03.12.2015 17:33)
- AVR ISP mkII больше не производится. Что Atmel делает ему на смену? Надо ATXmega128A1, ATXmega32A4 прошивать. - Ale3000(01.12.2015 09:10, AVR, полностью)MBedder
- Что-то не пойму я в умножении 32 битных чисел под WinAVR symbions(487 знак., 02.12.2015 21:35, AVR, полностью)
- AVR Studio 7 Balda(141 знак., 27.11.2015 15:13, AVR, полностью)
- Простой вопрос по CAN в AT90CAN128 Ljutik1(197 знак., 26.11.2015 17:10, AVR, полностью)
- Что за девайс at90vc8544? - Alex68_не_из_дома(17.11.2015 02:35,
, AVR, полностью)
- Кто использует AVR JTAGICE mkII, напомните, что он НЕ поддерживает? - alex68(11.11.2015 23:14, AVR, полностью)
- Реализация эмулятора чипа FT232RL на AVR XMEGA Balda(209 знак., 01.11.2015 11:51, AVR, полностью)
- Если нужен только vcp, зачем что-то эмулировать и использовать чужие дрова? В winxp usbser.sys был больной, но начиная с win7 он вполне рабочий. - йцукен(01.11.2015 17:19,
)
- Делал все популярные vcp на микрике. Самый правильный, прямой и безглючный это силабс. Пролифик и фтди усердно борются с контрафактом, но фтди делает это спустя рукава и подделывается почти без бубна. Пролифик жестче, я утомился следить за его ASDFS(118 знак., 01.11.2015 14:58)
- Помнится, была история про поддельные FT232 от кетайсев. Эмуляция, ага. Дескать, FTDI обновили дрова, и все эти эмуляторы протухли. - SciFi(01.11.2015 12:06)
- ЧЯДНТ с Си? Точка опоры(1071 знак., 17.10.2015 23:45 - 18.10.2015 12:40, AVR, полностью)
- Почитав обсуждение про волотайл решил проверить одну вещь... abivan(428 знак., 20.10.2015 11:33)
- Я не знаю, как конкретно работает GCC, но если IAR увидит, что если в переменную что-то пишется, но в данном месте потом не используется (при уровне оптимизации, отличном от нуля), то он её выкидывает не задумываясь. Какой смысл _вот здесь_ её vpv.vpv(838 знак., 19.10.2015 20:57)
- Добавь volatile в объявлении переменных. Откуда компилятору знать что TIMER1_OVF_vect где-то вызывается и переменная start_freq там использована? - Скрипач(18.10.2015 17:01)
- Судя по описанию, компилятор не прав. Наверное, что-то недоговариваете. Код привели урезанный или важные обстоятельства опустили. - SciFi(18.10.2015 11:32)
- Ответы всем: Точка опоры(14586 знак., 18.10.2015 12:48)
- смотрите внимательнее, в первом случае код Mahagam(531 знак., 18.10.2015 14:55)
- Допустим. Но почему явное занесение константы в ОЗУ зависит от расположения этого фрагмента внутри main'а? - Точка опоры(18.10.2015 15:33)
- Вопрос, конечно, интересный: SciFi(523 знак., 18.10.2015 16:58)
- Volatile указывает на наличие побочных эффектов. Любых. *исправил Скрипач(108 знак., 18.10.2015 17:04 - 19.10.2015 18:12)
- "Побочных эффектов. Любых." Это вы додумали, уважаемый. Стандарт говорит "побочные эффекты - это изменения в среде исполнения". ИМХО, они специально дыму напустили, потому что внятно эту концепцию не сформулируешь. SciFi(224 знак., 19.10.2015 18:22)
- Под побочными эффектами имеются ввиду ошибки компиляции? ;) Их 5! VL(613 знак., 19.10.2015 08:23,
)
- Отличная фраза, только хз что означает. "side effects, which are changes in the state of the execution environment" - поди разберись. Короче, это всё 3,14здёж и провокация, но volatile здесь должен решить проблему. - SciFi(18.10.2015 17:40)
- это уже от умений и знаний компилятора зависит. циклы подвергаются отдельной оптимизации. - Mahagam(18.10.2015 16:52)
- Вопрос другой: зачем, с какой целью нужно дразнить режим оптимизации единственным использованием переменной, спрашивается? - De_User(18.10.2015 16:02 - 16:28)
- start_freq, судя по представленному коду, не используется вообще. так? ну так что поменяется если её выбросить? - Mahagam(18.10.2015 10:21)
- Классический случай иррациональное веры, что volatile делает многобайтные операции атомарными. - Олдфаг(18.10.2015 00:51,
)
- А что не так? Оптимизатор мог бы в обоих случаях напрямую константы юзать, но видать несовершенен. Если хочешь чтобы значения в озу все же появились - грохни оптимизацию, пиши volatile или врисуй где нить фейковую операцию типа x++; x--; - ASDFS(18.10.2015 00:39)
- Можно включить генерацию asm-файла и просмотреть результат. + объявить start_freq и sweep_freq как Volatile - AU08(18.10.2015 00:25 - 00:31)
- взрослый дядька вроде, а все в аврки играется... - danuna(18.10.2015 00:18)
- 250B524 - 28 бит, однако. - Evgeny_CD(17.10.2015 23:55)
- Вопрос по С для АВРок (и прочих малых МК) symbions(1868 знак., 02.10.2015 00:32 - 13:03, AVR, полностью)
- А про union вы слышали? МиКрик(371 знак., 02.10.2015 12:28,
)
- i=TimeOrAlarm.sec && 0x0f; Это круто :) И еще вдобавок int16 = ....*600*60*10; Просто класс. - Petrovich(02.10.2015 12:06,
)
- а зачем вообще Вам это время конвертировать целиком в длинное целое? В этом случае компилятор просто обязан нагенерировать кучку длинного и печального кода. Может оптимальней хранить как есть, в BCD, а все вычисления производить побайтно? сделать Nikolay801_(82 знак., 02.10.2015 11:01)
- По указателю структуру передавать не годится? Vit(1094 знак., 02.10.2015 09:24 - 09:30)
- по второму, можно не возвращать, а передавать еще одним параметром в какую структуру записывать. Nikolay801_(801 знак., 02.10.2015 09:01 - 09:30)
- Второй вариант переписала б как-то так krsvvik(368 знак., 02.10.2015 09:27)
- Что-то сомневаюсь, что что-то из этого будет работать. int в AVR обычно 2x-байтовый. У вас будет переполнение. - Ale3000(02.10.2015 09:26)
- вообще я бы сделал иначе. Я бы добавил в структуру функции конвертации, вот так Nikolay801_(1274 знак., 02.10.2015 09:21)
- по первому вопросу скорее всего работать будет, у аврок проблем с выравниванием не должно быть, но я бы написал __packed, хотя это из разряда подуть на холодную воду. Nikolay801_(65 знак., 02.10.2015 08:45)
- чего-то заплутал в трёх соснах. Не могу понять в чём дело :( Adept(6542 знак., 10.09.2015 06:24 - 03.10.2015 01:04, AVR, полностью)
- Переписать это исключительно наглядное решение на Си. - _KLIM83(10.09.2015 09:46,
)
- всем спасибо, извините за беспокойство. Разобрался :) "воду мутил" конвертер в сегментный код, в котором незнакомый (например непечатаемый) символ заменялся всяким мусором. Добавил туда, чтобы в этих случаях подставлялся "пробел" и всё зафурычило Adept(4 знак., 10.09.2015 10:36)
- нахера мне ваш си. Ни к чему, совершенно. Я делаю простые вещи, элементарным способом. ассемблер тут самое то. просто, прозрачно, доступно и понятно. Ну примерно как топорик для плотника. Можно сделать всё, умеючи :)) И не надо извращаться и Adept(100 знак., 10.09.2015 10:16)
- Ну и ЗРЯ! ))) C vs ASM Типа: Serhio(85 знак., 14.09.2015 00:48)
- Есть люди которые пишут на асме, т.к. задачи позволяют. Когда задача усложняется, переходят на Си. Или не переходят. Но людей, которые освоили Си (нормально освоили) а потом вернулись на асм не существует. Если ты утверждаешь что ты именно такой, il-2(43 знак., 10.09.2015 11:22)
- "ты просто не освоил Си должным образом." - именно так! vpv.vpv(890 знак., 21.09.2015 16:50)
- да, серьёзно системно на Си не программировал, так были кое-какие прикладные задачи. Вообще много через что прошёл (бейсики/фортраны/паскали/языки баз данных, си, в конце-концов. всё это было на разных компьютерах. Когда добрался до МК Adept(2142 знак., 10.09.2015 11:50)
- Много ты накатал. А вот я "за достаточно приличный срок своей деятельности крайне редко встречал необходимость в применении" асма. _basile(408 знак., 10.09.2015 12:10,
)
- программы пишутся не на языках, а в алгоритмах. хорошая программа - правильной структуры, в первую очередь. потому, говнокод обычно присущ как раз высокоуровневым программерам (не путать с высококлассными), ибо ленятся сделать красиво и правильно. Adept(2517 знак., 10.09.2015 12:57)
- Это не философия, это - религия. У меня на прежней работе шеф был, все говорил: "Да я это на асме могу написать". А когда до реального дела дошло, он до 12-ти ночи на колупался со своим асмом. А был случай, когда поц, окончивший Бауманку, наваял _basile(222 знак., 10.09.2015 13:20,
)
- глупо писать благоглупости про обработчики прерываний без сохранения контента, и представлять таких горе - программистов, как якобы жертв программирования на асме. А по поводу железа - проповедую принцип необходимости и достаточности. Если можно Adept(874 знак., 10.09.2015 13:37)
- Ты малость не понял. Поц был не программер, а начальник сектора разработки... _basile(583 знак., 25.09.2015 19:53,
)
- Полностью согласен!! Если есть наработки и нравится, то ASM чем плох? Вот мне очень понравился STM8 и почему-то очень и очень мало кто пишет программы для него на асме, а ведь многие команды в сях переводятся всего в одну команду в асме Zikon(385 знак., 11.09.2015 11:37)
- Ну что же... Мне нравится AT89C**, но работаю с АРМ, ибо нет смысла отрицать очевидные плюсы новых архитектур и написания ПО на Си. А что касается лени- это двигатель прогресса, если в прогресс, конечно, можно верить. И прелесть Си вовсе не в _KLIM83(313 знак., 10.09.2015 14:00,
)
- Ну да, Адепт еще и TCP IP стек будет сам на асме ваять,хрен ли чужие либы изучать. - _basile(10.09.2015 21:06,
)
- спорить не буду, ибо глупо. Для Вас, очевидно так и есть, для меня - некоторым образом наоборот. И потом, если заметите, я не против Си. Пусть программисты ваяют на чём угодно, хоть на брейнфаке, гланое - умение, компетентность и мастерство, а Adept(1144 знак., 10.09.2015 14:27)
- Не, крутая математика это асм, коллеги приводили пример, там даже количество регистров бывает критично. Графика тоже, даже хороший компилятор не может использовать все возможности железа. А вот выписывать обычную логику на асме скучно. Попробуйте понравится(27 знак., 10.09.2015 12:02,
)
- Кто-нибудь пробовал в Xmega передавать байты в I2C(TWI) через DMA? Проблема в том что штатный запуск DMA от TWI не предусмотрен. AlexG(211 знак., 29.09.2015 22:47, AVR, полностью)
- куку! дайте линк на сводную табличку 8bit AVRок? - micha(09.09.2015 21:46,
, AVR, полностью)