Содержание
Прощай Arduino IDE, да здравствует PlatformIO ! — DRIVE2
Эта запись предназначена для тех,чьи проекты уже давно вышли за рамки банального Blinka.И давайте сначала расставим все точки над i.Что такое Ардуино.
НЕТ!На самом деле это не те, привычные многим на вид платкина микроконтроллерах AVR !И нет, это не среда разработки, которая к слову,достаточно МОЩНАЯ, но мало функциональная с точки зрения удобства использования,и рассчитанная больше для начинающих.
И для многих будет удивлением, что Arduino IDE,понимает и свой язык “wiring/processing”,который своего рода упрощённый Си,так же понимает полноценный Си ++, ассемблер, ООП,практически всё, что необходимо даже профессиональному программисту, она понимает.
Но увы, она не на столько функциональна и удобна,как более профессиональные среди разработки.И так, что же означает “Ардуино”:А всё просто… Это инфраструктура…Нельзя взять просто микроконтроллер Атмега328
и назвать его Ардуино…
(из вики)Arduino — торговая марка аппаратно-программных средствдля построения простых систем автоматики и робототехники, ориентированная на непрофессиональных пользователей.
Программная часть состоит из бесплатной программной оболочки (IDE) для написания программ, их компиляции и программирования аппаратуры.
Аппаратная часть представляет собой набор смонтированных печатных плат, продающихся как официальным производителем,так и сторонними производителями.Полностью открытая архитектура системы позволяет
свободно копировать или дополнять линейку продукции Arduino.
А соответственно,исходя из всего вышенаписанного,это не даёт права одним (особенно любителям ARM),осуждать других (любителям AVR и Arduino)за то, что они выбрали “не ту торговую марку” для своих проектов.
Если человеку хватает, знаний написатьморгалку-ногодрыгалку от нажатия кнопки и большего ему не надо,то это его право и все осуждальщики идут лесом.
Если человек вырос в более серьёзные проекты,ему этого хватает, но он не собирается никуда переходить,его всё устраивает, то опять же это его дело и его право…А вот если человеку его знаний не хватает, для реализации необходимого функционала,но он лениться учиться и развиваться далее, вот за это можно и…
нет, не осудить, а направить ну путь правильный.
Arduino IDE, это отличная стартовая площадка,но именно стартовая.На ней можно и оставаться и делать очень, очень серьёзные проекты,но когда это уже превращается практически в работу,то вопрос удобства “встаёт ребром”И человек начнёт понимать,
что есть куда удобней срЕды разработки.
И вот он, как раз настал момент,когда можно попробовать писать код для любимых микроконтроллеров,почти любых, “по взрослому”
На ютубе, Алекс Морозов на своём канале
Выпустил хороший ролик, как безболезненноперейти на более взрослую среду разработки
Visual Studio Code + PlatformIO (скачать).
У него на канале кстати очень много интересных уроков
по программированию микроконтроллеров.
И да, тем кто не хочет застревать на одном уровнеи пусть даже не хочет никуда переходить с Ардуино ИДЕ,начните изучать чистый С++ и ООПи вы поймёте, на сколько можно сделать более удобным,красивым и правильным свой код,расширить функционал своих программ,да и просто выйти на другой уровень программирования.
Уроков по СИ++ и ООП в сети валом, на любой вкус и цвет.
Источник: https://www.drive2.ru/b/507636273280713243/
Почему я не люблю Arduino | avr | programming
Оценка статьи: (нет голосов)
Загрузка… Поделиться с друзьями: Arduino: спасибо и прощайСсылка на основную публикацию Похожие публикации
Добавить комментарий Нажмите, чтобы отменить ответ. Рубрики
![](/wp-content/uploads/2024/03/arduino-spasibo-i-proshhaj-01bb673.gif)
© 2021 Все права защищены Adblock
detector «,css:{backgroundColor:»#000″,opacity:.6}},container:{block:void 0,tpl:»
«},wrap:void 0,body:void 0,errors:{tpl:»»,autoclose_delay:2e3,ajax_unsuccessful_load:»Error»},openEffect:{type:»fade»,speed:400},closeEffect:{type:»fade»,speed:400},beforeOpen:n.noop,afterOpen:n.noop,beforeClose:n.noop,afterClose:n.noop,afterLoading:n.noop,afterLoadingOnShow:n.noop,errorLoading:n.noop},o=0,p=n([]),h={isEventOut:function(a,b){var c=!0;return n(a).each(function(){n(b.target).get(0)==n(this).get(0)&&(c=!1),0==n(b.target).closest(«HTML»,n(this).get(0)).length&&(c=!1)}),c}},q={getParentEl:function(a){var b=n(a);return b.data(«arcticmodal»)?b:(b=n(a).closest(«.arcticmodal-container»).data(«arcticmodalParentEl»),!!b&&b)},transition:function(a,b,c,d){switch(d=null==d?n.noop:d,c.type){case»fade»:»show»==b?a.fadeIn(c.speed,d):a.fadeOut(c.speed,d);break;case»none»:»show»==b?a.show():a.hide(),d();}},prepare_body:function(a,b){n(«.arcticmodal-close»,a.body).unbind(«click.arcticmodal»).bind(«click.arcticmodal»,function(){return b.arcticmodal(«close»),!1})},init_el:function(d,a){var b=d.data(«arcticmodal»);if(!b){if(b=a,o++,b.modalID=o,b.overlay.block=n(b.overlay.tpl),b.overlay.block.css(b.overlay.css),b.container.block=n(b.container.tpl),b.body=n(«.arcticmodal-container_i2»,b.container.block),a.clone?b.body.html(d.clone(!0)):(d.before(«»),b.body.html(d)),q.prepare_body(b,d),b.closeOnOverlayClick&&b.overlay.block.add(b.container.block).click(function(a){h.isEventOut(n(«>*»,b.body),a)&&d.arcticmodal(«close»)}),b.container.block.data(«arcticmodalParentEl»,d),d.data(«arcticmodal»,b),p=n.merge(p,d),n.proxy(e.show,d)(),»html»==b.type)return d;if(null!=b.ajax.beforeSend){var c=b.ajax.beforeSend;delete b.ajax.beforeSend}if(null!=b.ajax.success){var f=b.ajax.success;delete b.ajax.success}if(null!=b.ajax.error){var g=b.ajax.error;delete b.ajax.error}var j=n.extend(!0,{url:b.url,beforeSend:function(){null==c?b.body.html(«»):c(b,d)},success:function(c){d.trigger(«afterLoading»),b.afterLoading(b,d,c),null==f?b.body.html(c):f(b,d,c),q.prepare_body(b,d),d.trigger(«afterLoadingOnShow»),b.afterLoadingOnShow(b,d,c)},error:function(){d.trigger(«errorLoading»),b.errorLoading(b,d),null==g?(b.body.html(b.errors.tpl),n(«.arcticmodal-error»,b.body).html(b.errors.ajax_unsuccessful_load),n(«.arcticmodal-close»,b.body).click(function(){return d.arcticmodal(«close»),!1}),b.errors.autoclose_delay&&setTimeout(function(){d.arcticmodal(«close»)},b.errors.autoclose_delay)):g(b,d)}},b.ajax);b.ajax_request=n.ajax(j),d.data(«arcticmodal»,b)}},init:function(b){if(b=n.extend(!0,{},a,b),!n.isFunction(this))return this.each(function(){q.init_el(n(this),n.extend(!0,{},b))});if(null==b)return void n.error(«jquery.arcticmodal: Uncorrect parameters»);if(«»==b.type)return void n.error(«jquery.arcticmodal: Don’t set parameter «type»»);switch(b.type){case»html»:if(«»==b.content)return void n.error(«jquery.arcticmodal: Don’t set parameter «content»»);var e=b.content;return b.content=»»,q.init_el(n(e),b);case»ajax»:return»»==b.url?void n.error(«jquery.arcticmodal: Don’t set parameter «url»»):q.init_el(n(«»),b);}}},e={show:function(){var a=q.getParentEl(this);if(!1===a)return void n.error(«jquery.arcticmodal: Uncorrect call»);var b=a.data(«arcticmodal»);if(b.overlay.block.hide(),b.container.block.hide(),n(«BODY»).append(b.overlay.block),n(«BODY»).append(b.container.block),b.beforeOpen(b,a),a.trigger(«beforeOpen»),»hidden»!=b.wrap.css(«overflow»)){b.wrap.data(«arcticmodalOverflow»,b.wrap.css(«overflow»));var c=b.wrap.outerWidth(!0);b.wrap.css(«overflow»,»hidden»);var d=b.wrap.outerWidth(!0);d!=c&&b.wrap.css(«marginRight»,d-c+»px»)}return p.not(a).each(function(){var a=n(this).data(«arcticmodal»);a.overlay.block.hide()}),q.transition(b.overlay.block,»show»,1*»)),b.overlay.block.remove(),b.container.block.remove(),a.data(«arcticmodal»,null),n(«.arcticmodal-container»).length||(b.wrap.data(«arcticmodalOverflow»)&&b.wrap.css(«overflow»,b.wrap.data(«arcticmodalOverflow»)),b.wrap.css(«marginRight»,0))}),»ajax»==b.type&&b.ajax_request.abort(),p=p.not(a))})},setDefault:function(b){n.extend(!0,a,b)}};n(function(){a.wrap=n(document.all&&!document.querySelector?»html»:»body»)}),n(document).bind(«keyup.arcticmodal»,function(d){var a=p.last();if(a.length){var b=a.data(«arcticmodal»);b.closeOnEsc&&27===d.keyCode&&a.arcticmodal(«close»)}}),n.arcticmodal=n.fn.arcticmodal=function(a){return e[a]?e[a].apply(this,Array.prototype.slice.call(arguments,1)):»object»!=typeof a&&a?void n.error(«jquery.arcticmodal: Method «+a+» does not exist»):q.init.apply(this,arguments)}}(jQuery)}var debugMode=»undefined»!=typeof debugFlatPM&&debugFlatPM,duplicateMode=»undefined»!=typeof duplicateFlatPM&&duplicateFlatPM,countMode=»undefined»!=typeof countFlatPM&&countFlatPM;document[«wri»+»te»]=function(a){let b=document.createElement(«div»);jQuery(document.currentScript).after(b),flatPM_setHTML(b,a),jQuery(b).contents().unwrap()};function flatPM_sticky(c,d,e=0){function f(){if(null==a){let b=getComputedStyle(g,»»),c=»»;for(let a=0;a=b.top-h?b.top-h{const d=c.split(«=»);return d[0]===a?decodeURIComponent(d[1]):b},»»),c=»»==b?void 0:b;return c}function flatPM_testCookie(){let a=»test_56445″;try{return localStorage.setItem(a,a),localStorage.removeItem(a),!0}catch(a){return!1}}function flatPM_grep(a,b,c){return jQuery.grep(a,(a,d)=>c?d==b:0==(d+1)%b)}function flatPM_random(a,b){return Math.floor(Math.random()*(b-a+1))+a} «);let k=document.querySelector(«.flat_pm_modal[data-id-modal=»»+a.ID+»»]»);if(-1===d.indexOf(«go»+»oglesyndication»)?flatPM_setHTML(k,d):jQuery(k).html(b+d),»px»==a.how.popup.px_s)e.bind(h,()=>{e.scrollTop()>a.how.popup.after&&(e.unbind(h),f.unbind(i),j())}),void 0!==a.how.popup.close_window&&»true»==a.how.popup.close_window&&f.bind(i,()=>{e.unbind(h),f.unbind(i),j()});else{let b=setTimeout(()=>{f.unbind(i),j()},1e3*a.how.popup.after);void 0!==a.how.popup.close_window&&»true»==a.how.popup.close_window&&f.bind(i,()=>{clearTimeout(b),f.unbind(i),j()})}f.on(«click»,».flat_pm_modal .flat_pm_crs»,()=>{jQuery.arcticmodal(«close»)})}if(void 0!==a.how.outgoing){let b,c=»0″==a.how.outgoing.indent?»»:» style=»bottom:»+a.how.outgoing.indent+»px»»,e=»true»==a.how.outgoing.cross?»»:»»,f=jQuery(window),g=»scroll.out»+a.ID,h=void 0===flatPM_getCookie(«flat_out_»+a.ID+»_mb»)||»false»!=flatPM_getCookie(«flat_out_»+a.ID+»_mb»),i=document.createElement(«div»),j=jQuery(«body»),k=()=>{void 0!==a.how.outgoing.cookie&&»false»==a.how.outgoing.cookie&&h&&(jQuery(«.flat_pm_out[data-id-out=»»+a.ID+»»]»).addClass(«show»),j.on(«click»,».flat_pm_out[data-id-out=»»+a.ID+»»] .flat_pm_crs»,function(){flatPM_setCookie(«flat_out_»+a.ID+»_mb»,!1)})),(void 0===a.how.outgoing.cookie||»false»!=a.how.outgoing.cookie)&&jQuery(«.flat_pm_out[data-id-out=»»+a.ID+»»]»).addClass(«show»)};switch(a.how.outgoing.whence){case»1″:b=»top»;break;case»2″:b=»bottom»;break;case»3″:b=»left»;break;case»4″:b=»right»;}jQuery(«body > *»).eq(0).before(«»+e+»»);let m=document.querySelector(«.flat_pm_out[data-id-out=»»+a.ID+»»]»);-1===d.indexOf(«go»+»oglesyndication»)?flatPM_setHTML(m,d):jQuery(m).html(e+d),»px»==a.how.outgoing.px_s?f.bind(g,()=>{f.scrollTop()>a.how.outgoing.after&&(f.unbind(g),k())}):setTimeout(()=>{k()},1e3*a.how.outgoing.after),j.on(«click»,».flat_pm_out .flat_pm_crs»,function(){jQuery(this).parent().removeClass(«show»).addClass(«closed»)})}countMode&&(flat_count[«block_»+a.ID]={},flat_count[«block_»+a.ID].count=1,flat_count[«block_»+a.ID].click=0,flat_count[«block_»+a.ID].id=a.ID)}catch(a){console.warn(a)}}function flatPM_start(){let a=flat_pm_arr.length;if(0==a)return flat_pm_arr=[],void jQuery(«.flat_pm_start, .flat_pm_end»).remove();flat_body=flat_body||jQuery(«body»),!flat_counter&&countMode&&(flat_counter=!0,flat_body.on(«click»,»[data-flat-id]»,function(){let a=jQuery(this),b=a.attr(«data-flat-id»);flat_count[«block_»+b].click++}),flat_body.on(«mouseenter»,»[data-flat-id] iframe»,function(){let a=jQuery(this),b=a.closest(«[data-flat-id]»).attr(«data-flat-id»);flat_iframe=b}).on(«mouseleave»,»[data-flat-id] iframe»,function(){flat_iframe=-1}),jQuery(window).on(«beforeunload»,()=>{jQuery.isEmptyObject(flat_count)||jQuery.ajax({async:!1,type:»POST»,url:ajaxUrlFlatPM,dataType:»json»,data:{action:»flat_pm_ajax»,data_me:{method:»flat_pm_block_counter»,arr:flat_count}}})}).on(«blur»,()=>{-1!=flat_iframe&&flat_count[«block_»+flat_iframe].click++})),flat_userVars.init();for(let b=0;bflat_userVars.textlen||void 0!==a.chapter_sub&&a.chapter_subflat_userVars.titlelen||void 0!==a.title_sub&&a.title_subc&&cc&&c>d&&(b=flatPM_addDays(b,-1)),b>e||cd||c-1!=flat_userVars.referer.indexOf(a))||void 0!==a.referer.referer_disabled&&-1!=a.referer.referer_disabled.findIndex(a=>-1!=flat_userVars.referer.indexOf(a)))&&(c=!0),c||void 0===a.browser||(void 0===a.browser.browser_enabled||-1!=a.browser.browser_enabled.indexOf(flat_userVars.browser))&&(void 0===a.browser.browser_disabled||-1==a.browser.browser_disabled.indexOf(flat_userVars.browser)))){if(c&&void 0!==a.browser&&void 0!==a.browser.browser_enabled&&-1!=a.browser.browser_enabled.indexOf(flat_userVars.browser)&&(c=!1),!c&&(void 0!==a.geo||void 0!==a.role)&&(«»==flat_userVars.ccode||»»==flat_userVars.country||»»==flat_userVars.city||»»==flat_userVars.role)){flat_pm_then.push(a),flatPM_setWrap(a),flat_body.hasClass(«flat_pm_block_geo_role»)||(flat_body.addClass(«flat_pm_block_geo_role»),flatPM_ajax(«flat_pm_block_geo_role»)),c=!0}c||(flatPM_setWrap(a),flatPM_next(a))}}}let b=jQuery(«.flatPM_sticky»);b.each(function(){let a=jQuery(this),b=a.data(«height»)||350,c=a.data(«top»);a.wrap(«»);let d=a.parent()[0];flatPM_sticky(this,d,c)}),debugMode||countMode||jQuery(«[data-flat-id]:not([data-id-out]):not([data-id-modal])»).contents().unwrap(),flat_pm_arr=[],jQuery(«.flat_pm_start, .flat_pm_end»).remove()}