Escolar Documentos
Profissional Documentos
Cultura Documentos
Disciplina: AAM
Profa. Ana Watanabe
17/02/20
“Porque o SENHOR dá a sabedoria; da sua
boca é que vem o conhecimento e o
entendimento.” Provérbios 2:6
Linguagem C
Objetivo da aula:
Revisão da Linguagem;
Otimização de programa em C para Sistemas
Embarcados.
Exercício
Revisão da Linguagem C
Anos 70 de uma linguagem chamada B
por Dennis Ritchie.
Características:poucas restrições,
código rápido e eficiência.
5) FUNÇÕES
Revisão da Linguagem C
• Protótipos de Funções:
• Normalmente escrevemos as funções antes de
escrevermos a função main( ).
int main ( )
{
float num;
num=Square(num);
return 0;
}
Revisão da Linguagem C
Protótipos de Funções:
Foi por isto que as funções foram colocadas
• tipo_de_retorno nome_da_função
(declaração_de_parâmetros);
Revisão da Linguagem C
tipo_de_retorno nome_da_função
(declaração_de_parâmetros);
onde o tipo_de_retorno, o nome_da_função e a
declaração_de_parâmetros são os mesmos que
você pretende usar quando realmente escrever a
função.
Repare que os protótipos têm uma nítida
valores – parâmetros)
Revisão da Linguagem C
Modificadores de Tipos de dados:
tipo)
signed (para especificar a representação de
valores sinalizados )
unsigned (para especificar a representação
http://sergioprado.org/otimizacao-de-codigo-em-linguage
m-c-parte-1
Por que?
OTIMIZAÇÃO DE PROGRAMA EM C
PARA SISTEMAS EMBARCADOS
Vantagens da otimização:
Diminuir custos do projeto;
Tempo de desenvolvimento;
Tamanho do dispositivo;
Consumo elétrico.
OTIMIZAÇÃO DE PROGRAMA EM C
PARA SISTEMAS EMBARCADOS
Vantagens da otimização:
Diminuir custos do projeto;
Tempo de desenvolvimento;
Tamanho do dispositivo;
Consumo elétrico.
OTIMIZAÇÃO DE PROGRAMA EM C
PARA SISTEMAS EMBARCADOS
OU
OTIMIZAÇÃO DE PROGRAMA EM C
PARA SISTEMAS EMBARCADOS
//OU
typedef struct {
char nome;
char endereco;
char cidade;
char telefone;
double salario;
}tdados;
int main( ) {
int i, res, a = 1;
/* primeiro exemplo */
for (i = 0; i < 100; i++)
res = soma(a, res);
}
OTIMIZAÇÃO DE PROGRAMA EM C
PARA SISTEMAS EMBARCADOS
C) Inlining de funções:
int main( ) {
int i, res, a = 1;
}
OTIMIZAÇÃO DE PROGRAMA EM C
PARA SISTEMAS EMBARCADOS
#define SOMA(a, b) (a + b)
int main( ) {
int i, res, a = 1;
/* operador de incremento */
x++;
/* codigo gerado em assembly
inc x; incrementa x em 1 */
OTIMIZAÇÃO DE PROGRAMA EM C
PARA SISTEMAS EMBARCADOS
G) Protótipos para funções
Se o protótipo da função não é devidamente
#include <avr/io.h>
a = 10;
b= 3;
resultado=sub(a,b);
}
Sugestão do 2: #include <avr/io.h>
typedef struct {
int a;
int b;
} tvalores;
conta.a = 10;
conta.b= 3;
resultado=sub(&conta);
}