ELS - Versione stampabile +- cnc e meccanica (https://www.cncmeccanica.com) +-- Forum: CNC e MECCANICA (https://www.cncmeccanica.com/forumdisplay.php?fid=34) +--- Forum: CNC (https://www.cncmeccanica.com/forumdisplay.php?fid=56) +---- Forum: Arduino,PLC,programmazione varia (https://www.cncmeccanica.com/forumdisplay.php?fid=78) +---- Discussione: ELS (/showthread.php?tid=532) Pagine:
1
2
|
RE: ELS - lelef - 03-11-2022 il C e´un linguaggio molto naturale, e´logico, matematico e comprensibile inoltre permette di ben separare varie pai del programma per comprensibilita´e facilita´di rimetterci mano. Ai miei tempi stavan apparendo le prime possibilita´di scrivere in C per i microcontrollori ,son sempre stato un convinto sostenitore dell ASM e mi facevan ridere. Pero´i tempi di sviluppo a scrivere in C crollano drasticamente, per es scrivere una moltipliazione per Microchip in ASM era un mostro, certo potevi ridurla allósso ma ci volevan ore. Discorso Arduino Stm bon ora he ho ricominiato a smanettare concordo pienamente con Umbez, potevo anche fare a meno di studiarmi una cosa morente ed obsoleta, ci sara´ancora per molto Arduino? boh, dalla sua che si trova tanto in giro, copi il codice lo butti su e fa´qualcosa e ci si illude di saper programmare in verita´ si e´fatto nient´ altro che attaccar la spina al frullatore .pero´e´anche vero che vedere qualcosa che subito funzione e´di stimolo per andare oltre. Tra i miei vorrei fare e per questo Stm sarebbe adatto e´un controllino CNC arriccito dell ELS. Mach 3 non lo sopporto sul tornio, le macro sono anche un po´stupide e per filettare col singlo impuso giro o vai leggero e se il motore cala si perde. Con una bella interfaccia grafica potrebbe fare coni ,raccordi ,sfacciature ecc insomma tutte le operazioni base/utili per un tornio e controllare in pwm la vel mandrino. Se poi ci si potesse spingere a potergli passare un listatoG code ed eseguirlo sarebbe il massimo RE: ELS - leomonti - 03-11-2022 Grazie! E dire che sono già iscritto a quel canale.....ma finora avevo guardato altro. RE: ELS - umbez - 03-11-2022 leomonti ai tempi di quando ho cominciato, il mio primo testo è stato https://amzn.to/3Jaa6Zx per quanto riguarda il testo che sto seguendo per gli stm32 : https://leanpub.com/mastering-stm32 e https://amzn.to/37p4ixp detto questo, e quello che consiglio anche ai ragazzi che lavorano con me, è non focalizzarsi sul linguaggio di programmazione, è come se la divina commedia scritta da Dante fosse meno bella se fosse scritta in inglese. la genialità non è nei simboli utilizzati, ma nell'opera stessa. un if è un if, un while è un while e un for è un for che cambia se si conclude con begin end o {} o if fi, bisogna focalizzarsi sulla soluzione non sul linguaggio, infatti all'uni al corso di algoritmi li spiegano in pseudocodice mica si mettono a programmare... Avide ti chiarisco però il discorso del : "Il linguaggio di programmazione utilizzato è il C puro" Quello che intendo io è che Arduino fa queste robe qui che ora ti racconto : quando tu compili un programma e lo carichi, praticamente lui prende le tue funzioni, e le mette in altre, proprio perchè è un wrapper. In più si prende delle libertà nel senso che quando setti una porta, per semplificarti il tutto ti nasconde altre 10 funzioni. Questo in un ambito di un software scritto per sistemi che eseguono programmi ad alto livello, va benissimo, è quello che si fà normalmente con i framework per non reinventare sempre la ruota. Purtroppo però per i micro il discorso cambia, perchè tu li sei a basso livello, quindi ad esempio pensi che un ciclo ci metta 10uS a terminare, invece lui lo infarcisce con altre dieci cose, e diventano 100uS. Questo è un grosso problema, perchè tu non hai il polso di quello che accade in realtà. Come ovviare a questa cosa? bhe prendi e ti vai a studiare in dettaglio come funziona il processore e cosa fa arduino e quindi inizi a settarti a mano tutte le cose per bypassare il wrapper. Ma fermati un attimo, che stai facendo? ti stai studiando il processore da datasheet e stai scrivendo del codice per evitare che il wrapper peggiori le performance giusto? ok, il tempo che impieghi per fare questo, è lo stesso che impieghi per partire dall'inizio e studiare stm32, è identico. Il tema poi delle librerie decade, perchè li tu impari quei 2-3 protocolli e poi il codice lo trovi in giro per interfacciarti alle periferiche, nello stesso modo di arduino, solo che invece di esistere un posto centralizzato, vai su github o deepblue ecc.. ora nota a margine per gli stm32 : in realtà da un certo punto in poi st ha deciso di creare una libreria standard che tenta di unificare le diverse piattaforme ed è un'ottima cosa, ma anche qui inserisce overhead come arduino, ma dal mio punto di vista stm32 rimane migliore, perchè? perchè a patto di inserire un po di overhead, ti consentono di muoverti da un processore che gira a 48Mhz, e andare su una piattaforma che gira a 180Mhz riconfigurando con un tool semplice le periferiche. spero di aver chiarito, ormai è qualche mese che studio in profondità questi sistemi, e sono davvero appassionato. poi se volete vi spiego la genialità della loro implementazione a livello hardware |