AULA 8 - Microcontroladores - Técnico: mudanças entre as edições
imported>Fargoud |
imported>Fargoud |
||
| Linha 64: | Linha 64: | ||
[[imagem: estruturaprogArduino.png|center]] | [[imagem: estruturaprogArduino.png|center]] | ||
=Variáveis e Constantes= | |||
{| border="1" cellpadding="5" cellspacing="0" | {| border="1" cellpadding="5" cellspacing="0" | ||
! style="background: #cdc5bf;" | [[MCO1870321| << Página do curso ]] | ! style="background: #cdc5bf;" | [[MCO1870321| << Página do curso ]] | ||
! style="background: #cdc5bf;" | AULA 8 - Introdução à Linguagem C | ! style="background: #cdc5bf;" | AULA 8 - Introdução à Linguagem C | ||
! style="background: #cdc5bf;" | [[AULA 9 - Microcontroladores - Técnico| | ! style="background: #cdc5bf;" | [[AULA 9 - Microcontroladores - Técnico| Operadores >> ]] | ||
|} | |} | ||
Edição das 15h20min de 9 de novembro de 2016
INTRODUÇÃO À LINGUAGEM C
Uma das linguagens mais utilizadas por técnicos e pesquisadores é a linguagem C. Isto ocorre principalmente pela versatilidade e pela complexidade da linguagem, que permitem a criação de programas muito sofisticados.
Histórico
A primeira versão da linguagem foi desenvolvida por dois pesquisadores da Bell Laboratories, Brian Kernighan e Dennis Ritchie.
Várias empresas criaram seus próprios compiladores e IDEs (ou “Integrated Development Environments”) C e assim apareceram o MS C (Microsoft), GCC, Dev C, o Turbo C, Borland C, Code Blocks, etc.
Características da Linguagem
“C é uma linguagem compilada, estruturada e de baixo nível.”
Linguagem compilada porque, após ser escrita num editor de textos qualquer (que siga o padrão ASCII), precisa ser decodificada, compilada (cada módulo separadamente) e linkada para obter-se um programa executável. Certos softwares como o Turbo C e o Borland C permitem que se edite, compile e linke os programas em C dentro de uma mesma IDE, o que facilita muito a manipulação.
É uma linguagem estruturada porque segue o padrão de endentação, tal como em Pascal e Fortran por exemplo, com alinhamentos dos blocos lógicos cada vez mais à direita, quanto mais "interno" ao bloco for o comando, e com execução linear, sem utilização de goto's, break's, etc.
Finalmente é uma linguagem de baixo nível por permitir acesso às camadas lógicas mais baixas da máquina. Isto é, por aproximar-se bastante da linguagem de máquina, Assembler, que apesar de bastante rudimentar tem a capacidade de acessar diretamente a memória, o hardware do computador, como registradores, portas, posições da RAM, etc. Com isto, ganha-se muito em rapidez de execução e em poder para utilizar completamente os recursos do computador. É importante salientar que apesar de ser possível utilizar-se funções muito complexas de baixo nível em C, um programador não interessado nisto terá uma linguagem estruturada como qualquer outra de alto nível.
O programador não pode esquecer que o compilador C diferencia caracteres minúsculos de maiúsculos. Por exemplo, as variáveis "numero" e "Numero" são consideradas diferentes uma da outra na linguagem C.
Estrutura de um programa em C
Observe atentamente o programa.
Este inicia com comentários sobre o nome do programa e o que ele faz.
Em C, comentários sempre estão entre os símbolos "/*" e "*/", ou após o símbolo "//". Ou seja, tudo que estiver entre "/* ... */" é completamente ignorado pelo compilador e tudo que estiver, na mesma linha, após o "//" também o é.
Em seguida, temos uma série de comandos, chamados "diretivas", que não pertencem à linguagem C propriamente, sempre começando com o símbolo "#".
Estes comandos fazem parte do que chamamos de "Pré-Processador". O pré-processador, como o nome diz, é um programa que examina o programa-fonte em C antes deste ser compilado e executa certas modificações nele, baseado nas diretivas.
As diretivas mais comuns são "#include" e "#define". A primeira, indica ao compilador quais arquivos de header (os "*.h") serão utilizados pelo programa. A segunda, define constantes e macros para facilitar a visualização do programa.
A área seguinte é a região de declaração dos "protótipos de funções". Isto é necessário, em alguns compiladores C, para indicar ao compilador quais e qual o formato das funções que existem no programa. Por exemplo, o protótipo "void circulo(int, int)" diz ao compilador que dentro deste código ele encontrará uma função chamada circulo, que recebe dois argumentos do tipo int (inteiros) e não retorna valor algum (void) à expressão chamadora.
As outras áreas são todas funções.
A primeira é a função principal do programa, main().
A função main() é sempre a primeira a ser executada num programa C, não importa onde esteja localizada no código.
Neste programa foi colocada em primeiro lugar por convenção. Note que uma função inicia-se sempre com o nome desta (seu tipo e argumentos) e em seguida temos o seu "corpo", sempre delimitado pelos caracteres "{" e "}". Tudo que estiver entre os símbolos de abre e fecha-chaves faz parte do corpo de uma função.
Com exceção da função main(), que existe obrigariamente em qualquer programa C, todas as outras funções foram previamente declaradas em protótipos.
Não só as funções, mas também blocos de comandos são delimitados por "{" e "}". Note o corpo do comando "for" do programa.
As variáveis em C geralmente são declaradas no início dos blocos, em alguns compiladores por convenção e em outros por obrigação. Contudo, a rigor, as variáveis podem ser declaradas em qualquer ponto do programa (dentro do escopo necessário, claro) desde que antes de serem utilizadas.
Finalizando, note que a maioria dos comandos C terminam com o caractere "';" que é um análogo do "End" utilizado em outras linguagens, como Fortran e Pascal.
No caso de programas para microcontrolador Arduino, que utilizam uma versão da linguagem C como script, a Wiring, a estrutura básica é do tipo:
Variáveis e Constantes
| << Página do curso | AULA 8 - Introdução à Linguagem C | Operadores >> |
|---|

