|
|
|
|
23996 111 8 1 |
|
Опции темы | Поиск в этой теме |
03.09.2013, 18:46 | 41 |
|
Re: Немного о программаторах AVR
|
03.09.2013, 18:46 | 42 | |
Увлеченный
Регистрация: 18.08.2013 Последняя активность: 29.11.2015 13:52
Сообщений: 442
Сказал(а) спасибо: 11
Поблагодарили: 23 раз(а) в 23 сообщениях
|
Re: Немного о программаторах AVR
Цитата:
Вчера не успел. будет понятно. Ну и эту программу перепишу, чтобы "зажигало" в один проход по while. Я может не хватать оперативки? И Тайни засирается командами по загрузке/выгрузке байтов и "плывет" время |
|
03.09.2013, 18:46 | 43 |
Увлеченный
Регистрация: 18.08.2013 Последняя активность: 29.11.2015 13:52
Сообщений: 442
Сказал(а) спасибо: 11
Поблагодарили: 23 раз(а) в 23 сообщениях
|
Re: Немного о программаторах AVR
|
03.09.2013, 18:50 | 44 |
|
Re: Немного о программаторах AVR
|
03.09.2013, 19:54 | 45 |
Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24 Адрес: Украина, Полтава
Сообщений: 5774
Сказал(а) спасибо: 340
Поблагодарили: 8154 раз(а) в 2385 сообщениях
|
Re: Немного о программаторах AVR
Инструкциями по копированию и вызову подпрограмм, как это любит делать Си (а ардунио ещё хуже) - свободно. Стек засирается только так, а у 13-й тиньки по меркам ЯВУ очень мало ОЗУ. Хотя тут прерывания не используются, это должно облегчать жизнь компилятору.
Переполенения переменных - основная гадость, из-за которой я не очень то люблю Си. Не умею я с него на низком уровне копаться в SREG и проверять статус АЛУ после конкретной ассемблерной инструкции. А сам компилятор с такими вещами жутко тупит и приходится переходить на заведомо излишнюю разрядность. Если попытаться записать что-нибудь, что не лезет в байт - всю старшую часть отрежет, хотя мне почти всегда (но не всегда!) логичнее ограничить сверху или снизу. Знаковая арифметика это вообще кошмар, архитектура такая, что переполнения проверяются очень туго, долго, и с кучей кода... Если хочется реально посмотреть что делает МК, а не гадать на кофейной гуще - для этого компилятор бесплатно показывает свой ужастик под названием "листинг" - слепленный им ассемблерный код. Но если там сильно страшно - я смотреть не буду, всё равно не разберусь. По ассемблерным меркам такой функционал должен помещаться байт в 100, около 50-ти инструкций. В них запутаться сложно, но если там вся память забита мусором... [Исправлено: INFERION, 03.09.2013 в 19:59] |
03.09.2013, 20:07 | 46 |
|
Re: Немного о программаторах AVR
|
03.09.2013, 20:24 | 47 |
Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24 Адрес: Украина, Полтава
Сообщений: 5774
Сказал(а) спасибо: 340
Поблагодарили: 8154 раз(а) в 2385 сообщениях
|
Re: Немного о программаторах AVR
[Исправлено: INFERION, 03.09.2013 в 20:47] |
03.09.2013, 20:57 | 48 |
|
Re: Немного о программаторах AVR
Там точно тот-же компилятор (не похожий а именно тот) и библиотеки под все. Сам я на нем ничего не делал, (хоть на столе сейчас 4 ардуинки разные валяются) но саму среду (это реально самый НЕ удобный в мире редактор кода) и компилятор смотрел. Собственно все это (библиотеки благодаря им совсем не надо знать железо и структура программы немного другая) они и назвали wiring.
|
03.09.2013, 21:31 | 49 | |
Ветеран Фонарёвки
Регистрация: 06.03.2013 Последняя активность: Сегодня 18:32 Адрес: Тамбов
Сообщений: 4794
Сказал(а) спасибо: 648
Поблагодарили: 1887 раз(а) в 1165 сообщениях
|
Re: Немного о программаторах AVR
Цитата:
Так же и тут - в 8-битном регистре максимальное значение 255. Запишите больше - возникнет флаг переноса (который тут не имеет значения), а в регистре так и будет остаток. |
|
03.09.2013, 21:34 | 50 |
Ветеран Фонарёвки
Регистрация: 06.03.2013 Последняя активность: Сегодня 18:32 Адрес: Тамбов
Сообщений: 4794
Сказал(а) спасибо: 648
Поблагодарили: 1887 раз(а) в 1165 сообщениях
|
Re: Немного о программаторах AVR
|
03.09.2013, 21:38 | 51 | ||
Увлеченный
Регистрация: 18.08.2013 Последняя активность: 29.11.2015 13:52
Сообщений: 442
Сказал(а) спасибо: 11
Поблагодарили: 23 раз(а) в 23 сообщениях
|
Re: Немного о программаторах AVR
Цитата:
Цитата:
Ты же не бросаешься к детям, которые из кубиков дома строят доказывать, что они херовые проектировщики и вообще сопромат не учили. У меня лично нет ни времени ни желания учить ассемблер и т.п. Ну и если честно, то для овладения им никаких особых способностей не надо иметь - программистов море. И стоят они недорого. И для меня программирование МК реально круто, но я не считаю, что это какое-то пипец крутое достижение. |
||
03.09.2013, 21:42 | 52 | |
Увлеченный
Регистрация: 18.08.2013 Последняя активность: 29.11.2015 13:52
Сообщений: 442
Сказал(а) спасибо: 11
Поблагодарили: 23 раз(а) в 23 сообщениях
|
Re: Немного о программаторах AVR
Почему? Методы классов не открывает после точки?
Цитата:
Я о том, что оно обрезает. |
|
03.09.2013, 21:43 | 53 |
|
Re: Немного о программаторах AVR
|
03.09.2013, 21:48 | 54 |
Увлеченный
Регистрация: 18.08.2013 Последняя активность: 29.11.2015 13:52
Сообщений: 442
Сказал(а) спасибо: 11
Поблагодарили: 23 раз(а) в 23 сообщениях
|
Re: Немного о программаторах AVR
|
03.09.2013, 21:48 | 55 |
|
Re: Немного о программаторах AVR
|
03.09.2013, 22:09 | 56 |
Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24 Адрес: Украина, Полтава
Сообщений: 5774
Сказал(а) спасибо: 340
Поблагодарили: 8154 раз(а) в 2385 сообщениях
|
Re: Немного о программаторах AVR
[Исправлено: INFERION, 03.09.2013 в 22:20] |
03.09.2013, 22:17 | 57 |
Увлеченный
Регистрация: 18.08.2013 Последняя активность: 29.11.2015 13:52
Сообщений: 442
Сказал(а) спасибо: 11
Поблагодарили: 23 раз(а) в 23 сообщениях
|
Re: Немного о программаторах AVR
Я такую тоже куплю - будет за связь с домом отвечать
Чем крут эксби? Я про него слышал много. У меня тоже. Я люблю делать руками, но колхоз ненавижу К нашим баранам. Уж извините, что на ардуино Вот этот высокоинтеллектуальный текст попробовал - штатный пример "Fade". На Тайни тоже "лестница. Что за жопа???? void loop() { // fade in from min to max in increments of 5 points: for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) { // sets the value (range from 0 to 255): analogWrite(ledPin, fadeValue); // wait for 30 milliseconds to see the dimming effect delay(30); } // fade out from max to min in increments of 5 points: for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=5) { // sets the value (range from 0 to 255): analogWrite(ledPin, fadeValue); // wait for 30 milliseconds to see the dimming effect delay(30); } } |
03.09.2013, 22:40 | 58 |
Увлеченный
Регистрация: 18.08.2013 Последняя активность: 29.11.2015 13:52
Сообщений: 442
Сказал(а) спасибо: 11
Поблагодарили: 23 раз(а) в 23 сообщениях
|
Re: Немного о программаторах AVR
А может так и должно быть?
У я изменил задержку на 10 и сейчас получается, что 0-100% и 100-0% занимает где-то чуть меньше секунды. И есть "легкий дребезг" - затухание и "розжиг" если присмотреться, не совсем плавные. Диоды, правда, мощные. Может так и должно быть? Хотя "разрешение" 255 "градаций" в секунду получается...должно быть плавнее. |
03.09.2013, 22:42 | 59 |
Увлеченный
Регистрация: 18.08.2013 Последняя активность: 29.11.2015 13:52
Сообщений: 442
Сказал(а) спасибо: 11
Поблагодарили: 23 раз(а) в 23 сообщениях
|
Re: Немного о программаторах AVR
Mega 2560 при этом мигает нормально. Плавно на том же коде...щас пробовал.
|
04.09.2013, 09:51 | 60 |
|
Re: Немного о программаторах AVR
Я из этой штуки планирую сделать термостат для газового котла, который управляться и сообщать о проблемах по SMS будет. Писать на чистом С планирую... или С++. Для XBee там просто дырка для втыкания.
|