- Что-то не пойму я в умножении 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, полностью)
- сталкивался кто с чудесами в иксмеге?? Сам сделал уже не один проект на ней, но такое вижу впервые. Adept(1700 знак., 02.09.2015 04:02 - 04:06, AVR, полностью)
- Кварц может быть "плохой". Кстати, он у вас какой? Если 8 МГц, то, скорее всего, кварц не виноват, но если 16 Мгц, то лучше заменить. - Ксения(02.09.2015 17:15)
- Действительно похоже кварц дурит. Поставил 4 (3,68 не нашлось) нормально, как не стучи по нему, поставил опять старый - то заводится, то нет. поставил 4 , - опять всё норм :( Ну хотя бы какая-то определённость появилась (не люблю чудеса :)) - Adept(12.09.2015 05:04)
- опять, сцуко :( При постукивании по кварцу, иногда заводится. От внутреннего RC - проблем никаких. Сейчас поищу кварец на замену :( - Adept(11.09.2015 23:06)
- 3,6864 (при умножении на 8 даёт 29 с полтиной). Спасибо, про кварц уже напоминали, если глюки повторятся, то попробую вообще поработать от внутреннего 32МГц РЦ - Adept(02.09.2015 17:18)
- В первую очередь питание МК должно быть в порядке, без иголок. - De_User(02.09.2015 04:25)
- питание относительно земли без иголок, всё чисто, но по самой земле проскакивают импульсные наносекундные помехи, бороться с ними крайне трудно. По хорошему так нужно изолировать управление от "силы", (например по опторазвязке, радио или ещё как. Adept(932 знак., 02.09.2015 06:46)
- Злостное шунтирование конденсаторами и правильная разводка земли в районе проца должны помочь от глюков. - Codavr(02.09.2015 08:03)
- да вроде всё есть, единственный крупный косяк - нужно было влепить ограничительные резисторы на все IO линии у самого проца :( не сделал, ну да ладно в следующей ревизии добавлю. - Adept(02.09.2015 16:05)
- А они на самом деле шунтируют или просто есть? К тому же если у тебя наносекундные импульсы лезут, то их надо ставить целыми гирляндами с разной емкостью. - Codavr(02.09.2015 16:10)
- Стоят парами 0.1+0.01мкФ на всех транзисторных ключах, управляемых мелкоконтроллером, на всех диодных вилках, на всех дискретных "логиках", с линии питания (1-2мм, 5 в двух-трёх некритичных местах) широкой трассой 0,5, сразу на земляной полигон Adept(187 знак., 02.09.2015 16:19 - 16:34)
- Ты бы лучше кусок платы с процем показал. Может в десяток глаз чего интересного приметим. - Codavr(02.09.2015 16:41)
- там без стакана тяжко разобраться. Ну вот 4 слоя (проц на боттоме - квадратный) Adept(02.09.2015 16:56)
- Как кварц разведен не нравится категорически. Да и шунтирование питания совсем не лучшим образом. - Codavr(02.09.2015 17:18)
- да по питанию, согласен, далеко не хайфай, но критических мест вроде нет, просто можно было сделать и лучше, но времени на то, чтобы сделать работу как надо, как всегда не хватило. На то, чтобы переделать, - видимо придётся искать :)) Кварц можно Adept(1058 знак., 02.09.2015 17:24 - 17:32)
- Таки нечистое значит.Чудес не бывает , бывают паразитные емкостные связи.Реже (зато неприятнее) индуктивные.Кроме питания влиянию помех сильно подвержены цепи сброса и кварца. PlainUser(67 знак., 02.09.2015 07:50 - 07:54)
- ёлки! был же где то аппликуха software-UART с использованием внешнего прерывания на asm... где оно? - nestandart(10.09.2015 21:33, AVR, полностью)
- CodeVisionAVR, как увеличить окошко кода? leon_(04.08.2015 17:38, AVR, полностью)
- Хм.. Вот такой ответ , навскидку т.с. отгуглился. Не оно?? ))) SERHIO(303 знак., 08.08.2015 03:17)
- Так же, как и любого другого окна Windows - потянуть левой мышекнопкой за левый нижний угол рамки этого окна - MBedder(04.08.2015 18:05)
- Да не тянется никак, что только не делал. Это как рассматривание кода в замочную скважину (сдвинув ползунками можно увидеть любое место кода). Предел извращения - редактирую в Нотепаде++ и компилю в КодеВижине. - leon_(04.08.2015 19:47)
- Тогда ищи косяки в настройках своей винды - чудес не бывает - MBedder(04.08.2015 20:48)
- Скорей всего CV недолеченый, такая изощрённая агитация за использование легального ПО. - leon_(04.08.2015 22:34)
- Ну за 150Е не продукт надо лечить, а лекаря. Совсем нищий, что ли? Ложки в столовке тоже воруешь? - MBedder(05.08.2015 00:36)
- Надобность редко эпизодическая. Обычно что-то проверить достаточно демки, а тут чуть-чуть не влезло в демку. - leon_(05.08.2015 09:09 - 09:11)
- Чем GCC не подходит? Всё гораздо лучше сделано и ограничений нет. И воровать не надо. - Apтём(05.08.2015 11:22)
- 1. Привычка, AVR ассемблер для вставок и контоля. 2. GCC супер, но ассемблер "взрывает мозг". - leon_(05.08.2015 11:38)
- Ну дык забудьте этот ассемблер, не давайте ему мозг взрывать. - Apтём(05.08.2015 11:50)
- Хотелось бы, что бы этот случай послужил поводом для смены инструмента. Я предприму ещё одну попытку. - leon_(05.08.2015 12:46)
- Что такого вообще есть в CodeVision чтобы им пользоваться? IAR или GCC на мой взгляд более разумные варианты. - AlexG(06.08.2015 09:55)
- А так одинаковой величины, но сложнее: leon_(593 знак., 07.08.2015 00:12)
- Вот что дал GCC (два слова короче): leon_(558 знак., 06.08.2015 23:56)
- И ещё, я иногда использую (см ниже) С-конструкции, и CodeVision преобразовывает их в приведеный ниже (лаконичный) асм-код. Когда-то проверял его на IAR и GCC, получалось хуже. Может сейчас дела обстоят иначе (лучше). leon_(512 знак., 06.08.2015 14:53 - 17:39)
- Как наверное многие, пользовался сначала атмел-ассемблером. Когда стало тесновато вляпался в CodeVision из-за порога входа. Его справочная система помогала осваивать С, кодогенератор (с библиотеками) позволял сразу получать заготовку программы с leon_(318 знак., 06.08.2015 12:45)
- Mega328, пара шаговиков от спидометров, SD, BT, скотч и пузырек из под БАД = новогодняя радость для дочки ;) Ну и гугль с андроидом... Как ща без них. - Гудвин(06.01.2014 20:40, AVR, youtube, полностью)