Pedido de Ajuda sobre organização e programação no Arduino

Boa tarde Senhores

Sou iniciante em programação e ainda não compreendo com clareza a estrutura e sintaxe da linguagem estou naquele inicio de capturar conhecimento das bases básicas da programação . . . ,

e geralmente compilo os programas básicos para testes

da própria Ide em uma única pagina na Ide do Arduino . . .

sendo que por mais que inclua comentários as vezes o programa ficando grande

fico naquele desce e sobe na pagina...

para reverificar possíveis alterações, melhorias e correção nos códigos que posso fazer . . .

foi então que decidi pesquisar sobre a opção Tab na ide do Arduino

mas encontrei pouca informação a respeito ( talvez esteja procurando errado ...)

e o que encontrei  foi um exemplo usando o blink mantendo na pagina inicial as variáveis globais e a função setup() e jogando em uma nova Tab a função loop e assim dividindo o programa em duas partes . . .

minhas duvidas são:

Vale a pena usar Tabs ?

quais são os:

pontos positivos e

negativos

em se fazer um programa com esta opção usando as Tabs

é possível dividir meus programas em diversas tabs como por exemplo:

| principal | sensores | motores | calculos | dados |

vale a pena em pensar neste tipo de organização ?

Desde já agradeço a sua ajuda.

Exibições: 4300

Responder esta

Respostas a este tópico

Muito boa sua explicação !

Vou estuda-la.

Obrigado.

 Imagina o susto que tive quando encontrei um código com 16000 linhas em Assembly!  (Oh my god! rs)

 Hoje em dia mantenho o esqueleto dele com umas 2000 apenas. =D

 ...alguns tem sorte na vida, programam em C. ¬¬  Os que tem mais sorte não programam será? rs

 T++.

Bom dia Francesco

As tabs é equivalente aos módulos que mencionou.

percebi que o Ide do Arduino salva os arquivos na extensão *.ino (os módulos adicionais )

no entanto a Ide Arduino também acessa os arquivos quando estes referenciados em *.cpp e *.h

efetuei testes e são equivalentes ao funcionamento do *.ino

Segue uma imagem para visualizar as Tabs que mencionei e como a Ide Arduino armazena os arquivos na pasta principal do projeto.

ainda não pesquisei a fundo . . .  mas como sei que a Ide Arduino também carrega boa parte da Linguagem C/C++ eu prefiro manter os módulos em *.cpp e *.h

pois acredito que no caso de uma futura portabilidade do código será mais fácil do que manter os arquivos em *.ino

Anexos

Olá, bom dia,

Pelo que entendi, os arquivos .ino são arquivos de script para o gerador de código embutido na IDE do arduino. Quando a gente manda compilar, o que acontece é que a IDE converte os arquivos .ino em código fonte para C++ e depois compila os arquivos convertidos. Então na pratica o que é compilado mesmo é código em C++. Se não me engano tem até uma maneira de ver o código gerado pelo script, mas não me lembro agora como fazer isso. De qualquer forma o que o script faz não altera significativamente o programa, apenas cuida de algumas formalidades como incluir automaticamente os arquivos necessários (.h) e separar a função principal em setup() e loop(), não vai muito além disso. Então não é que a IDE "aceita" arquivos .cpp e .h, esses são os arquivos que são realmente compilados, os arquivos .ino é que são convertidos para .cpp.

 Aproveitando e acrescentando ao tópico, eu dividiria o assunto em dois, sendo:

1) Boas práticas de programação. Organização de funções, variáveis, arquivos, etc. O que pode envolver até mesmo a escrita.

    Existe um bom livro sobre o assunto que se chama:"Code Complete: A Practical Handbook of Software Construction"

  

   O Gabriel citou algumas dessas boas práticas.

2) Ferramentas de desenvolvimento, que agilizam a escrita, ajudam com intelligence tools, abrem várias abas, dividem telas, etc..

Para o tópico "1" fiz um pequeno arquivo de demonstração com algumas práticas que utilizo, seja quando faço tudo em um arquivo apenas, quando se trata de programas pequenos, e também quando divido, quando se trata de programas grandes ou que vão reutilizar código.

O ponto em comum em todos é que tento manter tudo organizado, limpo, e com comentários que devem ser apenas os necessários, pois quando se tem certas práticas na escrita, o próprio código pode se "auto" explicar, sendo de leitura fácil para outra pessoa que pode ter o contato a primeira vez com ele.

Vou colocar em anexo para não ficar grande o tópico. Tem o exemplo com um arquivo e com o arquivo separado.

Para o tópico "2", alguns editores que ajudam durante o desenvolvimento.

Eu uso bastante o "Vim", embora a curva de aprendizado com ele tem a fama de não ser das mais fáceis, as vantagens só aparecem depois de um tempo.

Mas editores como o Sublime e Notepad++ atendem muito bem, e de  recursos rápidos para assimilar. Sem falar no Visual $tudio que já é uma ferramenta bem robusta e desenvolvida ao longo de anos. E o Maria Mole, que é um projeto brasileiro, e que tem uma qualidade muito boa, e que já se integra ao compilador, não precisando mexer em várias configurações.

Seguem algumas imagens:

[ Sublime ]

[ VIM ]

[NOTEPAD++]

[VISUAL STUDIO]

[MARIA MOLE]

 Todos conseguem dividir a tela em abas e abrir mais de um arquivo ao mesmo tempo.

[DICA] Quando for trabalhar editando e compilando, habilite a opção na IDE do Arduino para usar o editor externo. Senão, a cada alteração feita em outros editores, você precisará recarregar o arquivo na IDE do Arduino para carregar.

Caso seja corajoso, não precisará fazer isto se estiver compilando com linhas de comando. ^^

 Espero ter ajudado. ^^

 T++.

Anexos

Excelente dicas, Daniel  !

Obrigado por compartilhar.

Ola a todos

Percebi que não consegui me expressar direito no tópico

mas a comunidade de garagistas

Realmente se esforçaram e conseguiram capturar as minhas duvidas  :  )

Cada uma das respostas foram realmente importantes,

para me guiar e direcionar as respostas que procurava.

Agradeço de coração a todos que participaram

Incluindo o esforço de todos nas sugestões, exemplos com os códigos, e indicação dos softwares.

Um forte abraço a todos. 

post antigo, mas tem essa postagem aqui, só para complementar o topico

http://automatobr.blogspot.com.br/2014/03/dividindo-um-programa-ske...

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço