Программирование входо-выходов в Atmel Studio 7

Обсуждаем контроллеры компании Atmel.
Skitalec777
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Чт ноя 12, 2015 08:13:38

Re: Программирование входо-выходов в Atmel Studio 7

Сообщение Skitalec777 »

scorpi_0n писал(а):Но не доверять людям вообще нельзя.
Золотые слова!

Елки-палки! Еще вчера я видел перед собой четкую цель в виде изучения AVR и стремился к ней. А сегодня мое мировоззрение в этой области пошатнулось. Было бы обидно с первых шагов пойти не по той дорожке.

Кроме того, вот здесь есть интересный тест:
Shapa писал(а): Предлагаю такой вариант: Сравнивать АРМ и АВР, словно сравнивать плоскость и сферу.
АВР изучены, на них есть куча примеров, готвых ршений. Они просты, потому и осваивать их просто. АРМ гораздо сложнее. Он требует бОльших знаний в схемотехнике, программирвоании и вовсе на порядок выше.
Определим такие вводные:
- Вы имете опыт программирвоания под различные платформы. Вы знаете, что такое и имеете опыт работы с этим ООП, STL, SQL, TCP/IP, HTTP, FTP...
- На ассемблер вы и смотреть не хотите
- Вы имеете опыт сопряжение устройств с ПК
- У вас большой опыт создание ПП, "0,2/0,2" для вас не проблема.
- Вы работали с различными интерфесами: SPI,I2C, 1-Wire, UART...
- У вас неудержимая таяга к познанию нового
- Вас ЖУТКО раздражает уход от стандартов Си
- Вы работаете на себя и у вас нет купы готовых изделий. Которые придётся пределывать/переписывать

Если вы попали в 5 из 8, вам стоит переходить на АРМы. Лично я, в начале скептически смотрел на екламу STM32. но поддался соблазну и попробовал.... Количество переферии, в стандартных библиотеках описано всё, 100500 примеров. А про удобство программирования. Всё работает именно так, как написано. А не так, как интерпетатор умеет. и главное - ЦЕНА! 32 бита ядро, 16к флеша. 4 к ОЗУ, и куча ног с переферией. + RTC и это всё по цене ATtiny2313A. Фтопку АВР, мой выбор АРМ! (ока что только cortex-M3 :) )

Хорошая мысля приходит опосля:
Для приложений, где требуется минимальный функционал вполневероятно использование 8-и битников. Например где нужно помигать светодиодами, или что-то ещё. совсем простое( считать данные, вывести на экран). Но тут ST предаёт привет STM8S003F3 16 к флеш, 1 к ОЗУ и всё это за 30 центов....
Я уверенно ответил утвердительно на 5 вопросов. Есть о чем задуматься...
scorpi_0n писал(а):Но когда мне улыбаясь просто предложили подарить горсть Мег и Пиков я задумался. А нужны ли они мне если они уже никому не нужны?
А я то, дурак, купил как раз целую горсть. Вот жду, скоро должны доставить.

А СТМ8 у Вас в каком виде? Ну, там, STM8S-Discovery, или что?


Еще интересное, ИМХО, наблюдение. На форуме в разделе AVR участниками создано около 2500 тем, а в разделе ARM только около 500. Интересно, о чем говорит данная статистика?
Реклама
Аватара пользователя
scorpi_0n
Вымогатель припоя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

Re: Программирование входо-выходов в Atmel Studio 7

Сообщение scorpi_0n »

Дискавери есть. Дали поиграться. СТлинк свой. Ещё купил переходники с LQFP32 на Дип и напаял гребёнки или как там оно называется. Подключаюсь через ответную часть проводками. Насчёт статистики не могу сказать. Мне кажется что у Меги просто история длиннее а у СТМ лучше средства отладки.
Реклама
Skitalec777
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Чт ноя 12, 2015 08:13:38

Re: Программирование входо-выходов в Atmel Studio 7

Сообщение Skitalec777 »

scorpi_0n писал(а):Дискавери есть. Дали поиграться.
Возможно сейчас задам глупый вопрос, но для этого девайса существуют шилды, подобные тем, что есть, например, для Ардуино?
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Программирование входо-выходов в Atmel Studio 7

Сообщение oleg110592 »

Skitalec777 писал(а):Никто не будет менять привычный и удобный инструмент на другой, ради получения дополнительного, но, порой, ненужного функционала. Так и с микроконтроллерами. Никто не будет менять камень до тех пор, пока не возникнет в этом реальная необходимость, т.е. когда с его помощью невозможно будет решить поставленной задачи.
А если на новом инструменте решать поставленные задачи удобнее, к тому же идя в ларек для покупки инструмента, видишь что старый инструмент с несколько худшим функционалом стоит в два раза дороже нового - жаба душит покупать старый - лучше в два раза больше новых прикупить.
Удобства стм8 (личное мнение):
*Наличие дешевого программатора/отладчика (для авр железные отладчики стоят дорого), чтоб понять надо попробовать железную отладку
*Наличие дешевых отладочных плат с тем же отладчиком на борту - отличная вещь для старта и разработки
*Однообразная периферия в рамках одного семейства (один мануал на все семейство, даташиты разные), у авр большой разнобой с периферией
*Периферия, особенно таймера, получше чем у авр, например таймер1 аппаратно поддерживает энкодер, можно также легко организовать аппаратный двухтактный шим с дидтаймом (у авр есть только у некоторых тиней) и т.д.
*Наличие вложенных прерываний, пару раз очень выручало
Реклама
Эиком - электронные компоненты и радиодетали
Skitalec777
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Чт ноя 12, 2015 08:13:38

Re: Программирование входо-выходов в Atmel Studio 7

Сообщение Skitalec777 »

oleg110592 писал(а): Удобства стм8 (личное мнение):
*Наличие дешевого программатора/отладчика (для авр железные отладчики стоят дорого), чтоб понять надо попробовать железную отладку
*Наличие дешевых отладочных плат с тем же отладчиком на борту - отличная вещь для старта и разработки
*Однообразная периферия в рамках одного семейства (один мануал на все семейство, даташиты разные), у авр большой разнобой с периферией
*Периферия, особенно таймера, получше чем у авр, например таймер1 аппаратно поддерживает энкодер, можно также легко организовать аппаратный двухтактный шим с дидтаймом (у авр есть только у некоторых тиней) и т.д.
*Наличие вложенных прерываний, пару раз очень выручало
Спасибо за Ваше авторитетное и развернутое объяснение!
oleg110592 писал(а): А если на новом инструменте решать поставленные задачи удобнее, к тому же идя в ларек для покупки инструмента, видишь что старый инструмент с несколько худшим функционалом стоит в два раза дороже нового - жаба душит покупать старый - лучше в два раза больше новых прикупить.
Здесь, к сожалению, будет уместнее другая аналогия. Купить, например, книгу, написанную на знакомом русском языке. Или купить две книги на монгольском, и ради их прочтения изучить новый иностранный язык.

Хотя для человека, который толком не знает ни русского языка, ни монгольского, конечно предпочтительнее второй вариант...
Последний раз редактировалось Skitalec777 Пт ноя 13, 2015 12:57:19, всего редактировалось 1 раз.
Реклама
Аватара пользователя
scorpi_0n
Вымогатель припоя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

Re: Программирование входо-выходов в Atmel Studio 7

Сообщение scorpi_0n »

Я не знаю что такое шилды и ардуина. И мне действительно было всё равно с чего начинать. Просто нашлись которые подсказали и подтолкнули в правильном направлении. Там что-то восхищённо говорили о таймерах и периферии но я не всё понял. Я только понял что в Меге такого нет.
Реклама
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Программирование входо-выходов в Atmel Studio 7

Сообщение oleg110592 »

Skitalec777 писал(а):Здесь, к сожалению, будет уместнее другая аналогия. Купить, например, книгу, написанную на знакомом русском языке
...и потом регулярно перечитывать старую потрепанную книгу, это скучно, человеку свойственно стремление к новым знаниям
Skitalec777
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Чт ноя 12, 2015 08:13:38

Re: Программирование входо-выходов в Atmel Studio 7

Сообщение Skitalec777 »

oleg110592 писал(а):...человеку свойственно стремление к новым знаниям
Пользуясь случаем хочу спросить, а Вы случайно не знаете, существуют ли для STM8S-Discovery какие нибудь шилды? Или здесь совсем другой принцип работы?
Аватара пользователя
scorpi_0n
Вымогатель припоя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

Re: Программирование входо-выходов в Atmel Studio 7

Сообщение scorpi_0n »

А чем шилды для Меги отличаются от шилдов для СТМ8? Загуглил шилды. Сходу наткнулся на занимательное.
http://geektimes.ru/post/262750/
Считаете ли вы свои временные затраты на разработку данного шилда? Стоимость сборки (пайки). Или посчитали только стоимость компонентов по текущему курсу. Просто я не так давно рассчитывал итоговую стоимость производства примерно такого же по сложности устройства, был сильно удивлен, когда понял, что окупаемость проекта начнется очень не скоро.
А для меня лично, если нужно что то для теста с экранчиком — проще взять те компоненты что есть в наличии и под них на каком нибудь STM8/32 накидать код.
Лучше это сделать так.
Взять дисплей с али на ILI****-драйвере, он стоит доллар-полтора мелким оптом, взять stm32 самый простой, разъем микро-sd, все скомпоновать на очень тонкую платку по размеру дисплея, которая потом будет наглухо к этому дисплею припаяна\приклеена. На самой платке отверстия под 2.56 гребенку. Прошивка STM32 должна уметь рисовать вышеуказанный интерфейс, растровую графику и шрифты, которые заранее надо положить на карту памяти, плюс давать прямой доступ к рисованию. Этакая видеокарта для ардуино. Такой модуль будет интересен, очень интересен, и не только трем с половиной гиков, но и делающим мелкосерийные девайсы. Потому как шилдов-то на этом дисплее полно, но кодить под эти дисплеи на мелких контроллерах ад и проклятье из-за недостатка памяти.
Вообще, если оценить идею глобально, получается довольно… странно. Что бы выводить картинку на матрицу, хоть какую, нужен микроконтроллер с приличным последовательным интерфейсом, DMA, и желательно приличным объемом памяти, что бы хватило на фреймбуфер, что бы картинка при выводе не мерцала.
Если брать дисплеи со встроенными драйверами, то драйвер дисплея с точки зрения программиста, это суть такой массив пикселей, в который можно писать по произвольным адресам, что записал, то и выводится на дисплей. Но это чистый растр.
Что бы выводить векторную графику, нужно сначала рассчитать кадр. Если рассчитанные пикселы выводить на дисплей сразу, то, во первых, будет видно процесс рисования, а во вторых, пока кадр не будет полностью рассчитан и, что самое долгое, отправлен, микроконтроллер не сможет заниматься никакими другими делами.
Поэтому обычно кадр рассчитывается в оперативке, а на дисплей его отправляет DMA, асинхронно.
В любом случае, производительности и объема памяти Arduino и близко не хватит для формирования картинки с приемлемой отзывчивостью. Потребуется дополнительный сопроцессор для расчета графики, причем заметно более производительный, чем Arduino.
Получается, что мы берем очень хиленький микроконтроллер, к нему прицепляем микроконтроллер посильнее, а к нему уже драйвер дисплея. Ровно такой вариант, который у вас назван «жирным».
А зачем в таком раскладе вообще нужен хиленький микроконтроллер? Тут ответ только — по тому, что кое кто не умеет писать для микроконтроллера посильнее :)
Каждый раз, когда я вижу сочетание «ардуино» и «шилд с ТФТ», вспоминаю детскую сказку «каша из топора» Ж)
Не! Не хочу шилды. И не хочу Мегу. Это действительно всё уныло и путь в никуда.
Последний раз редактировалось scorpi_0n Пт ноя 13, 2015 15:07:22, всего редактировалось 1 раз.
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Программирование входо-выходов в Atmel Studio 7

Сообщение oleg110592 »

серия отладочных плат STM32 Nucleo сделаны с разъемами под ардуино шилды, но это стм32. Для стм8 дисквери шилдов не видал, внешние железки можно подключить шлейфиками с разъемами IDC.
Skitalec777
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Чт ноя 12, 2015 08:13:38

Re: Программирование входо-выходов в Atmel Studio 7

Сообщение Skitalec777 »

scorpi_0n писал(а): Не! Не хочу шилды. И не хочу Мегу. Это действительно всё уныло и путь в никуда.
Да я тоже уже не хочу, но что делать, если я их уже бездумно купил?
oleg110592 писал(а):серия отладочных плат STM32 Nucleo сделаны с разъемами под ардуино шилды, но это стм32. Для стм8 дисквери шилдов не видал, внешние железки можно подключить шлейфиками с разъемами IDC.
Спасибо за информацию!
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Программирование входо-выходов в Atmel Studio 7

Сообщение oleg110592 »

Получается, что мы берем очень хиленький микроконтроллер, к нему прицепляем микроконтроллер посильнее, а к нему уже драйвер дисплея. Ровно такой вариант, который у вас назван «жирным».
сегодня на такое как раз наткнулся:
http://andybrown.me.uk/2015/02/02/awcopper/
Аватара пользователя
scorpi_0n
Вымогатель припоя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

Re: Программирование входо-выходов в Atmel Studio 7

Сообщение scorpi_0n »

Спасибо за ссылку.

Сорри за офтоп. Чувак опустился до Асма и разгона и пишет что оптимизировать ничего уже не будет. Ну да ладно. Спасибо ему тогда за остальное.
Ответить

Вернуться в «AVR»