Тёмный

TESTAMOS A VELOCIDADE! ASSEMBLY VS C++ | Curso de Arduino  

WR Kits
Подписаться 381 тыс.
Просмотров 5 тыс.
50% 1

Apoio: www.eletrogate...
=======================================
CURSOS EXCLUSIVOS WR KITS:
Linguagem C, o Curso Definitivo
go.hotmart.com...
Amplificadores Operacionais Básico
go.hotmart.com...
ESP32: Aprenda de Verdade!
go.hotmart.com...
Introdução ao Poderoso STM32
go.hotmart.com...
KiCAD Esquemáticos e Placas de Circuito Impresso
go.hotmart.com...
Áudio e Amplificadores Profissionais
go.hotmart.com...
Proteus Simulação de Circuitos e Criação de Lay-Outs
go.hotmart.com...
Treinamento em Osciloscópio Digital
go.hotmart.com...
Leitura e Interpretação de Datasheets
go.hotmart.com...
Curso LT Spice Básico
go.hotmart.com...
Curso LT Spice Intermediário
go.hotmart.com...
Análise Teórica de Amplificadores Comerciais
go.hotmart.com...
Monte o Seu Laboratório Profissional de Eletrônica
go.hotmart.com...
Arduino para Iniciantes
go.hotmart.com...
=======================================
FAÇA ASSINATURA ANUAL DA REVISTA ELETRÔNICA WR:
go.hotmart.com...
=======================================
OUTROS CURSOS HOTMART RECOMENDADOS:
Filtros Digitais, DSP, C++, Arduino
go.hotmart.com...
Transistor MOSFET: Teoria e Aplicação
go.hotmart.com...
Circuitos com JFETs
go.hotmart.com...
Interfaces Modernas
go.hotmart.com...
Mini Curso IHM Nextion Sem Bibliotecas
go.hotmart.com...
Microcontroladores PIC para Iniciantes
go.hotmart.com...
Eletrônica Geral
go.hotmart.com...
Manutenção de Smartphones
go.hotmart.com...
Manutenção de Notebooks
go.hotmart.com...
=======================================
Loja WR Kits: wrkits.com.br/
Playlists WR Kits: wrkits.com.br/...
Se inscreva em nosso canal do Telegram:
t.me/joinchat/...
Fanpage: / wrkits
Instagram WR Kits: / wrkits
Twitter/Instagram: @WagnerRambo
Contribua com a WR Kits em uma das plataformas:
/ wrkits
apoia.se/wrkits
www.padrim.com...
=======================================
Se inscreva também nos nossos outros Canais:
Wagner Rambo - Canal Pessoal
/ wagnerrambo
Eng. Wagner Rambo - Bastidores WR Kits e Dicas de Engenharia!
/ engwagnerrambo
WR Bits - Eletrônica Digital e Processadores
/ wrbits
Somente Leitura - Dicas de Livros e Comentários Diversos
/ somenteleitura
Engenheiro Fitness - Musculação, Dieta, Treino e Informação
/ engenheirofitness
=======================================
Descrição do vídeo:
Na aula de hoje vamos comparar a performance de um código em Assembly com um código C++ na Arduino IDE! WR Kits curso de Arduino.
=======================================
Arquivos para download:
mega.nz/file/2...
=======================================
=======================================

Опубликовано:

 

19 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 59   
@CristiandosSantosNunes
@CristiandosSantosNunes 3 года назад
Já imaginava o resultado. Já tive contato com o Assembly desde 1989 quando comecei a estudar programação.
@flaviovivinho4406
@flaviovivinho4406 3 года назад
Sensacional. Parabéns. Seria legal repetir o mesmo código mas com PIC e o respbarry py Pico.
@brenoacf
@brenoacf 3 года назад
Parabéns pelo video Wagner! Em linhas gerais, o que geralmente acontece é que a implementação feita pelas rotinas em C++ possui uma abstração maior, sendo mais genéricas para conseguir atender à um número maior de possibilidades. Além disso, há ainda a otimização feita pela conversão da linguagem C++ em linguagem máquina no final do processo, que na maioria das vezes, não consegue chegar à um nível de objetividade e clareza de algo escrito por um humano. De qualquer forma, a recomendação é que se utilize assembly apenas para rotinas em sistemas críticos onde há a necessidade de uma maior aproximação do hardware. O C/C++ ainda é o mais recomendado em projetos por também conseguir abstrair inclusive o hardware que está sendo utilizado. Obrigado pelo exemplo que você trouxe pra gente! Grande abraço!
@canalwrkits
@canalwrkits 3 года назад
Valeu Breno! Ótimas observações. abraço
@jonasml1
@jonasml1 3 года назад
Muito bom o video.. Coisas simples eu sempre prefiro escovar bits, e uso pic em assembly.. tenho certeza do movimento de cada bit, e com certeza o mais rápido possivel..
@davidmartinsleite123
@davidmartinsleite123 3 года назад
eu fiquei curioso, e se fosse colocado um ESP32(a 3.3v) essas frequências de chaveamento iam mudar ? como iria ficar a comparação em um controlador mais poderoso em..., esse teste feito com o esp32 seria perfeito! Excelente vídeo bastante norteador.
@alexandrevarga4698
@alexandrevarga4698 3 года назад
Ok, o resultado já era imaginado e sabido. Faltou explicar no detalhe e com teoria e bases técnicas o porquê deste resultado. Obrigado
@hitmansapolha
@hitmansapolha 3 года назад
Mas de certa forma ele explicou no final do vídeo em 9:00, q isso ocorre devido o microcontrolador usado não trabalhar bem em altas frequências. E q o código enxuto usando pouca memória é mais eficiente. Dai vc deduz q o processador precisa alocar pouca memória em seus registradores diminuindo assim o atraso na resposta do sinal de entrada usando assembly. É só parar para pensar, no c++ o código dá uma volta ao mundo só para consultar a biblioteca padrão do arduino. Isso com certeza causa atraso nas respostas dos sinais de saída q trabalham com entradas de alta frequência.
@edmilsonrodrigues4679
@edmilsonrodrigues4679 3 года назад
Boa demonstração, tá faltando o Cursso de assembly para avr
@joascostamartins1819
@joascostamartins1819 3 года назад
Estou aguardando o curso de assembly para avr na Hotmart.
@leonardobarreiro3206
@leonardobarreiro3206 3 года назад
Boa pedida!!
@anacletomarcal1313
@anacletomarcal1313 3 года назад
A galera hoje em dia quer tudo pré-pronto, não quer pensar na solução... kkkkkk Mas pensar a solução torna o resultado muito melhor!
@canalwrkits
@canalwrkits 3 года назад
Exatamente Anacleto, esse é o caminho.
@leosmi1
@leosmi1 Год назад
Não é bem assim, depende da aplicação.
@emoutraspalavras-marloncou4459
@emoutraspalavras-marloncou4459 2 года назад
Excelente, virei fã de assembly, vou usar com pic, atmega, 8051 e stm32!
@cgomesrj
@cgomesrj 3 года назад
Apesar de torcer meu nariz pra linguagem, nunca neguei o poder do Assembly. Temos curso com o selo de qualidade wr kits disponível? Acredito que seria um passo incrível pra ajudar a tirar o terror que o ASM causa em muitos (eu incluso).
@canalwrkits
@canalwrkits 3 года назад
Olá Cadu, confira em wrkits.com.br/canal Temos alguns cursos de asm gratuitos e bem completos lá. Bons estudos!
@fabento1976
@fabento1976 3 года назад
Um tempo atrás fiz um comparativo de asm e c++ , mas do Z80 no MSX, simulando um mapa 2d em Perlin Noise e a diferença foi absurda. Mas como o Wagner Rambo disse não quer dizer que o compilador c++ seja ruim, o problema era que no c++ foram usadas variaveis 16-bits e no assembly usei na grande maioria variaveis 8-bits e pra fazer contas (de multiplicação por exemplo) isso fica bem mais rápido nesse processador. (link do video do comparativo: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-NCDMtMXdI-c.html)
@canalwrkits
@canalwrkits 3 года назад
Exatamente, show de bola a comparação no seu vídeo!
@marcoschaves6192
@marcoschaves6192 3 года назад
Quem sabe um curso completasso de assembley do básico ao avancado
@JohnUsp
@JohnUsp 3 года назад
Apenas por desencardo de consciência, seria interessante se fizesse o upload trocado, vai que justo o arduino com C++ está com algum problema. Outra questão, será que o compilador usado realmente é o melhor?
@maurogiovanardi3763
@maurogiovanardi3763 2 месяца назад
Quer dizer que poderia ser feito um receptor na faixa de AM escrito em assembly sem nenhum hardware adicional?
@josecarlostavaresribeiro6584
@josecarlostavaresribeiro6584 3 года назад
Olá Wagner boa aula
@luisbulek65
@luisbulek65 3 года назад
O velho e bom assembly nunca falha. Mas uma boa alternativa é programar em C, independente da ide arduino.
@nandre8156
@nandre8156 3 года назад
Excelente video, en caso de resolver el cambio de estado a travez de una interrupcion los resultados serían iguales? Saludos desde Argentina.
@canalwrkits
@canalwrkits 3 года назад
Obrigado! Correto, teremos maior velocidade no software Assembly.
@gervaziodegan
@gervaziodegan 3 года назад
Excelente, parabéns.
@Gabrielpimgomes
@Gabrielpimgomes 3 года назад
Você vem me falar que assembly é melhor que c++ logo após eu ter comprado seu curso de c++ professor kkkkk. agora entendo porque um programa que fiz com arduino para controlar um motor, mesmo quando a tenção na saída era 0. o motor dava pequenos arranques irritantes, não consegui resolver nem com filtros. uma boa duvida seria a estrutura do código que gasta mais memorias, ou o formato da linguagem c, percorre caminhos diferentes, gastando mais ciclos de clock, dando ao processador mais trabalho tendo que traduzir instruções humanas em instruções para maquina, o que não bate nas duas teorias é que, o dizem do copilador transformar o código escrito em linguagem maquina, assim decimal ou binário, assembly ou c++, ou um simples exemplo humano, ir, seguir em frente, é o mesmo que prosseguir, que após convertida daria em uma mesma instrução, mesmo tamanho, mesma função. sinceramente, esta prática me deixou confuso quanto ao que dizem do copiador converter os códigos. gostaria que você explicasse em uma ocasião futura professor.
@henriquesoares4589
@henriquesoares4589 3 года назад
Rezumindo: quem é capaz de escrever melhor um livro em russo, um russo ou um brasileiro usando o google translate? A ideia é a mesma. Algum russonque vai ler o livro traduzido do brasieliro vai até entender, mas hora ou outra alguma coisa vai ser mal traduzido. Não é uma analogia perfeita, mas da pra entender mais ou menos o pq é tao importante saber um pouquinho de linguagens de baixo nivel, principalmente para projetos cuja execução necessita de alta confiabilidade, precisão e repetibilidade
@henriquesoares4589
@henriquesoares4589 3 года назад
E assembly não é melhor que c/c++, se alguem vier com esse papo nao leve tao a serio, pois se fosse melhor, não existiram dezenas de linguagens não é mesmo? O que acontece é que cada uma delas tem um foco......... E que bom que vc esta estudando C e assembly, muito jovem emocionado vai direto pra python sem fazer ideia do que é um registrador. Nada como estudar uma classica pra formar aquela base monstra e depois ir subindo de nivel...... perdao pelo trocadilho hauahauahauahau
@henriquesoares4589
@henriquesoares4589 3 года назад
Resumindo*
@enriquedutra2790
@enriquedutra2790 10 месяцев назад
@@henriquesoares4589 vdd, povo vai pra linguagem da moda onde vc puxa 300 bibliotecas e está pronto seu programa. Sempre gostei do low code e a infinita possibilidade de criação com essas linguagens.
@roththing2417
@roththing2417 3 года назад
Muito bom o vídeo!.. mas na minha opinião o ideal seria comparar não a programacao basica do arduino e sim programacao em C++ mais eficiente, (utilizando os registradores DDR, PORTB, etc ) .
@canalwrkits
@canalwrkits 3 года назад
Valeu! Podemos fazer esse teste também.
@nokkreload
@nokkreload 3 года назад
Ah seria tão bacana se fosse possível fazer esse teste com Python, JS e Java vs Assembly! Será que dá?! rsrsrs
@canalwrkits
@canalwrkits 3 года назад
Quem sabe Rodrigo, sugestão anotada hehe.
@nataoliveirasousa5492
@nataoliveirasousa5492 3 года назад
O assembly mesmo assim seria superior. O legal seria ver o quanto ele seria superior
@homemdosaco2000
@homemdosaco2000 3 года назад
Tudo tem sua aplicação e lugar. Imagina desenvolver um Rom inteiro em Assembly... Só o tempo de desenvolvimento já faz perder a janela de oportunidade do produto. O HH de programador também é um recurso a ser otimizado. Para pequenas rotinas críticas, ISRs ou funções muito chamadas, vale a pena.
@laboratoriodeprojetos1351
@laboratoriodeprojetos1351 3 года назад
Depende da habilidade do programador.
@homemdosaco2000
@homemdosaco2000 3 года назад
@@laboratoriodeprojetos1351 o quê depende? Programadores geram o mesmo número de linhas por mês. Uma linguagem mais expressiva faz o mesmo em menos linhas. A gente tem essa tara de escovar bits, mas, em um ambiente de negócios, na imensa maioria das vezes, a melhor solução é fazer upgrade do micro, não descer para Assembly.
@laboratoriodeprojetos1351
@laboratoriodeprojetos1351 3 года назад
@@homemdosaco2000 Depende um pouco da arquitetura . Tenho diversos projetos complexos desenvolvidos em 8 bits. Nesses casos um código em assembly te gera uma velocidade e otimização que tu não consegue em C. Quanto ao tempo de programação é muito relativo, pois a maneira de pensar em assembly e c é completamente diferente. Um programador experiente em assembly reutiliza o seu código, dessa forma aumentando a velocidade de desevolvimento. Quanto à uma linguagem tipo o C ser melhor, concordo em partes. Para arquiteturas de 16 bits , 32 bits ou 64 bits o desenvolvimento em C é necessário pela complexidade da arquitetura. Um dos piores problemas do assembly é a portabilidade, pois tu pode ter 2 PICs quase iguais que para migrar de um para o outro tu vai ter que reescrever o código por questões de memórias, registradores, interrupções, etc.
@eduardoperes4428
@eduardoperes4428 3 года назад
Muito bom! Abraço!
@canalwrkits
@canalwrkits 3 года назад
Valeu Eduardo, abraço!
@Giutter
@Giutter 3 года назад
Faltou dizer o período de estabilização dos sinais para termos uma ideia.
@gilbertolameiro5648
@gilbertolameiro5648 3 года назад
LIKE SUPER
@titoaugusto2940
@titoaugusto2940 3 года назад
Olá Wagner! Existe alguma forma de ter acesso ao código C++ do arduíno, convertido pro assembly? Há algum software que faz a conversão?
@jfdobrasil8518
@jfdobrasil8518 3 года назад
Show!
@danielgoldackertec.emeletr6737
@danielgoldackertec.emeletr6737 3 года назад
Legal
@tiagomerces6325
@tiagomerces6325 3 года назад
O drama é escrever em assembly
@canalwrkits
@canalwrkits 3 года назад
A ideia é utilizar o Assembly justamente para algoritmos mais simples, gerando maior eficiência, veremos mais exemplos em aulas futuras Tiago.
@tiagomerces6325
@tiagomerces6325 3 года назад
@@canalwrkits estarei no aguardo. É sempre bom poder otimizar um pouco o sistema.
@SidneyMeles
@SidneyMeles 3 года назад
poderia explicar o pq dessa diferença ué....
@adambeedle
@adambeedle 3 года назад
👍👍👍
@fabriciogcbh
@fabriciogcbh 3 года назад
E este teste em pic, seria interessante a comparação. Que tal?
@canalwrkits
@canalwrkits 3 года назад
Anotado Fabricio, valeu!
@AnselmoTecEletrica
@AnselmoTecEletrica 3 года назад
like 2
@Seu_Lunga
@Seu_Lunga 3 года назад
Rapaz, vc vende um Mega curso de C por quase 2 meses aí manda um vídeo mostrando que assembly dá pau, agora vai vender um curso de assembly? 😂😂😂🤣
@canalwrkits
@canalwrkits 3 года назад
Não é questão de dar pau, como citei no vídeo, não tem linguagem melhor. Devemos sempre recorrer ao melhor dos dois mundos. Por isso estamos trabalhando na Arduino IDE, onde algoritmos em Assembly poderão ser combinados com C e C++ gerando códigos mais eficientes. C e C++ continuam sendo linguagens excelentes para trabalhar com microcontroladores. Veremos mais exemplos nas próximas aulas.
@Seu_Lunga
@Seu_Lunga 3 года назад
@@canalwrkits Relaxa Wagner, eu falei na zoera. Inclusive eu comprei o curso de C
Далее
SUB-ROTINA EM ASSEMBLY NA IDE! | Curso de Arduino #294
13:45
JUNTANDO C, C++ E ASSEMBLY! Curso de Arduino #296
8:40
O cara fez um JOGO 3D em ASSEMBLY (impressionante)
16:12
Linguagem de baixo e alto nível - qual a diferença?
21:14
PlatformIO: All you need to know in 10 Minutes!
10:56
Просмотров 312 тыс.