85
Slide 1 9/12/2003 Introdução a Linguagem C para PICmicro ® Programação de PIC em C CCS Introdução a Linguagem C para PICmicro ® Programação de PIC em C CCS

Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

  • Upload
    lynhi

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 19/12/2003

Introdução a Linguagem C para PICmicro ®Programação de PIC em C CCS

Introdução a Linguagem C para PICmicro ®Programação de PIC em C CCS

Page 2: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 29/12/2003

Introdução a Linguagem C para PICmicro ®Programação de PIC em C CCS

Introdução a Linguagem C para PICmicro ®Programação de PIC em C CCS

Page 3: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 39/12/2003

AgendaAgenda

Praticidade de Programação em CUso do compilador no MPLAB e editor da CCSComandos da Linguagem CFunções do Compilador padrão ANSIAs funções especiais para o microcontrolador PICA migração do programa desenvolvido em C para outro modelo de PICBiblioteca de funções da CCSSimulação e Depuração de programas

Praticidade de Programação em CUso do compilador no MPLAB e editor da CCSComandos da Linguagem CFunções do Compilador padrão ANSIAs funções especiais para o microcontrolador PICA migração do programa desenvolvido em C para outro modelo de PICBiblioteca de funções da CCSSimulação e Depuração de programas

Page 4: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 49/12/2003

AgendaAgenda

Praticidade de Programação em CUso do compilador no MPLAB e editor da CCSComandos da Linguagem CFunções do Compilador padrão ANSIAs funções especiais para o microcontrolador PICA migração do programa desenvolvido em C para outro modelo de PICBiblioteca de funções da CCSSimulação e Depuração de programas

Praticidade de Programação em CUso do compilador no MPLAB e editor da CCSComandos da Linguagem CFunções do Compilador padrão ANSIAs funções especiais para o microcontrolador PICA migração do programa desenvolvido em C para outro modelo de PICBiblioteca de funções da CCSSimulação e Depuração de programas

Page 5: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 59/12/2003

Praticidade de Programação em CPraticidade de Programação em C

� Programação estruturada� Programação com o uso de Bibliotecas� Possibilidade de inserir código em Assembly� Implementação de rotinas de delay (atraso)� Criação de expressões matemáticas com variáveis de 8,16,32

bits e ponto flutuante� Criação de rotinas de interrupção� Seleção de Banco de RAM� Seleção de Página de memória de Programa� Configuração dos Periféricos

� Programação estruturada� Programação com o uso de Bibliotecas� Possibilidade de inserir código em Assembly� Implementação de rotinas de delay (atraso)� Criação de expressões matemáticas com variáveis de 8,16,32

bits e ponto flutuante� Criação de rotinas de interrupção� Seleção de Banco de RAM� Seleção de Página de memória de Programa� Configuração dos Periféricos

Page 6: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 69/12/2003

Exemplo de estrutura de programa em CExemplo de estrutura de programa em C

Page 7: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 79/12/2003

Exemplo de estrutura de programa em CExemplo de estrutura de programa em C

Page 8: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 89/12/2003

Exemplo de estrutura de programa em CExemplo de estrutura de programa em C

Page 9: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 99/12/2003

Exemplo de estrutura de programa em CExemplo de estrutura de programa em C

Page 10: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 109/12/2003

Exemplo de estrutura de programa em CExemplo de estrutura de programa em C

Page 11: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 119/12/2003

Exemplo de código ASM em umprograma em C

Exemplo de código ASM em umprograma em C

Page 12: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 129/12/2003

Exemplo de código ASM em umprograma em C

Exemplo de código ASM em umprograma em C

Page 13: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 139/12/2003

AgendaAgenda

Praticidade de Programação em CUso do compilador no MPLAB e editor da CCSComandos da Linguagem CFunções do Compilador padrão ANSIAs funções especiais para o microcontrolador PICA migração do programa desenvolvido em C para outro modelo de PICBiblioteca de funções da CCSSimulação e Depuração de programas

Praticidade de Programação em CUso do compilador no MPLAB e editor da CCSComandos da Linguagem CFunções do Compilador padrão ANSIAs funções especiais para o microcontrolador PICA migração do programa desenvolvido em C para outro modelo de PICBiblioteca de funções da CCSSimulação e Depuração de programas

Page 14: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 149/12/2003

Uso do Compilador da CCS no MPLABUso do Compilador da CCS no MPLAB

Page 15: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 159/12/2003

Uso do Compilador da CCS no MPLABUso do Compilador da CCS no MPLAB

Page 16: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 169/12/2003

Uso do Compilador da CCS no MPLABUso do Compilador da CCS no MPLAB

Page 17: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 179/12/2003

Uso do Compilador da CCS no MPLABUso do Compilador da CCS no MPLAB

Page 18: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 189/12/2003

Uso do Compilador da CCS no MPLABUso do Compilador da CCS no MPLAB

Page 19: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 199/12/2003

Uso do Compilador da CCS no MPLABUso do Compilador da CCS no MPLAB

Page 20: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 209/12/2003

Uso do Compilador da CCS no MPLABUso do Compilador da CCS no MPLAB

Page 21: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 219/12/2003

Uso do Compilador da CCS no MPLABUso do Compilador da CCS no MPLAB

Page 22: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 229/12/2003

Uso do Compilador com o Editor da CCSUso do Compilador com o Editor da CCS

Page 23: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 239/12/2003

Uso do Compilador com o Editor da CCSUso do Compilador com o Editor da CCS

Page 24: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 249/12/2003

Uso do Compilador com o Editor da CCSUso do Compilador com o Editor da CCS

Page 25: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 259/12/2003

Uso do Compilador com o Editor da CCSUso do Compilador com o Editor da CCS

Page 26: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 269/12/2003

Uso do Compilador com o Editor da CCSUso do Compilador com o Editor da CCS

Page 27: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 279/12/2003

Uso do Compilador com o Editor da CCSUso do Compilador com o Editor da CCS

Page 28: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 289/12/2003

Uso do Compilador com o Editor da CCSUso do Compilador com o Editor da CCS

Page 29: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 299/12/2003

Uso do Compilador com o Editor da CCSUso do Compilador com o Editor da CCS

Page 30: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 309/12/2003

Uso do Compilador com o Editor da CCSUso do Compilador com o Editor da CCS

Page 31: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 319/12/2003

Uso do Compilador com o Editor da CCSUso do Compilador com o Editor da CCS

Page 32: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 329/12/2003

Uso do Compilador com o Editor da CCSUso do Compilador com o Editor da CCS

Page 33: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 339/12/2003

Uso do Compilador com o Editor da CCSUso do Compilador com o Editor da CCS

Page 34: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 349/12/2003

Uso do Compilador com o Editor da CCSUso do Compilador com o Editor da CCS

Page 35: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 359/12/2003

Uso do Compilador com o Editor da CCSUso do Compilador com o Editor da CCS

Page 36: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 369/12/2003

AgendaAgenda

Praticidade de Programação em CUso do compilador no MPLAB e editor da CCSComandos da Linguagem CFunções do Compilador padrão ANSIAs funções especiais para o microcontrolador PICA migração do programa desenvolvido em C para outro modelo de PICBiblioteca de funções da CCSSimulação e Depuração de programas

Praticidade de Programação em CUso do compilador no MPLAB e editor da CCSComandos da Linguagem CFunções do Compilador padrão ANSIAs funções especiais para o microcontrolador PICA migração do programa desenvolvido em C para outro modelo de PICBiblioteca de funções da CCSSimulação e Depuração de programas

Page 37: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 379/12/2003

Comandos da Linguagem CComandos da Linguagem C

if (x==25)x=1;

elsex=x+1;

if (expr) {bloco de comandos;}else{bloco de comandos;}

switch (cmd) {case 0:printf("cmd 0");break;case 1:printf("cmd 1");break;default:printf("badcmd"

);}

switch (expr){

case cexpr: stmt; default:stmt;

}

ExemploComando:

Page 38: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 389/12/2003

Comandos da Linguagem CComandos da Linguagem C

for (i=1;i<=10;++i){printf("%u\r\n",i);}

for(exp1;exp2;exp3)stmt;

do {putc(c=getc());} while (c!=0);

Do{stmt}while (expr);

#byte portb = 0x06loop:

portb = portb ̂0x01goto loop;

goto label;

While{(get_rtcc()!=0)

putc('n');}

while (expr) stmt;

Page 39: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 399/12/2003

AgendaAgenda

Praticidade de Programação em CUso do compilador no MPLAB e editor da CCSComandos da Linguagem CFunções do Compilador padrão ANSIAs funções especiais para o microcontrolador PICA migração do programa desenvolvido em C para outro modelo de PICBiblioteca de funções da CCSSimulação e Depuração de programas

Praticidade de Programação em CUso do compilador no MPLAB e editor da CCSComandos da Linguagem CFunções do Compilador padrão ANSIAs funções especiais para o microcontrolador PICA migração do programa desenvolvido em C para outro modelo de PICBiblioteca de funções da CCSSimulação e Depuração de programas

Page 40: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 409/12/2003

Funções do Compilador padrão ANSIFunções do Compilador padrão ANSI

� Funções Matemáticas� Funções Matemáticas

abs() Retorna o valor absoluto de um sinal.exp() Retorna o valor de ex (e = 2,718282).floor() Retorna o menor número inteiro que é menor que o valor especificado.ceil() Retorna o menor número inteiro que é maior que o valor especificado.labs() Retorna o valor absoluto de um número inteiro.modf() Retorna a parte inteira e a parte fracionária de um número fracionário.fmod() Retorna o resto da divisão de dois números fracionários.

abs() Retorna o valor absoluto de um sinal.exp() Retorna o valor de ex (e = 2,718282).floor() Retorna o menor número inteiro que é menor que o valor especificado.ceil() Retorna o menor número inteiro que é maior que o valor especificado.labs() Retorna o valor absoluto de um número inteiro.modf() Retorna a parte inteira e a parte fracionária de um número fracionário.fmod() Retorna o resto da divisão de dois números fracionários.

Page 41: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 419/12/2003

Funções do Compilador padrão ANSIFunções do Compilador padrão ANSI

� Funções Matemáticas� Funções Matemáticas

fabs() Retorna o valor absoluto de um número fracionário (ponto flutuante).log() Calcula o Ln (logaritmo natural) do número especificado.log10() Calcula o valor do logaritmo de base 10 do número especificado.frexp() Decompõe o número em uma mantissa na faixa de 0.5 a 1 e um expoente inteiro tal que o número será igual àmantissa * 2 exp.ldexp() Multiplica um valor por 2 exp.sqrt() Retorna a Raiz quadrada do valor especificado.

fabs() Retorna o valor absoluto de um número fracionário (ponto flutuante).log() Calcula o Ln (logaritmo natural) do número especificado.log10() Calcula o valor do logaritmo de base 10 do número especificado.frexp() Decompõe o número em uma mantissa na faixa de 0.5 a 1 e um expoente inteiro tal que o número será igual àmantissa * 2 exp.ldexp() Multiplica um valor por 2 exp.sqrt() Retorna a Raiz quadrada do valor especificado.

Page 42: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 429/12/2003

Funções do Compilador padrão ANSIFunções do Compilador padrão ANSI

� Funções Matemáticas� Funções Matemáticascos() Retorna o valor do coseno.acos() Retorna o valor do arco coseno.cosh() Retorna o valor do coseno hiperbólico.sin() Retorna o valor do seno.asin() Retorna o valor do arco seno.sinh() Retorna o valor do seno hiperbólico.tan() Retorna o valor da tangente. tanh() Retorna o valor da tangente hiperbólicaatan() Retorna o arco tangente.

cos() Retorna o valor do coseno.acos() Retorna o valor do arco coseno.cosh() Retorna o valor do coseno hiperbólico.sin() Retorna o valor do seno.asin() Retorna o valor do arco seno.sinh() Retorna o valor do seno hiperbólico.tan() Retorna o valor da tangente. tanh() Retorna o valor da tangente hiperbólicaatan() Retorna o arco tangente.

Page 43: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 439/12/2003

Funções do Compilador padrão ANSIFunções do Compilador padrão ANSI

� Funções de Manipulação de Caracteres� Funções de Manipulação de Caracteresatol(), atoL(), atol32(), atof() Converte uma string em um valor inteiro de 8, 16 ou 32 bits, ou em um float.tolower() Converte um caractere no seu correspondente minúsculo.toupper() Converte um caractere no seu correspondente maiúsculo.isalnum() Verifica se o caractere é uma letra ou número.isalpha() Verifica se o caractere é uma letra.isdigit() Verifica se o caractere é um número.islower() Verifica se o caractere é uma letra minúscula.isupper() Verifica se o caractere é uma letra maiúscula.

atol(), atoL(), atol32(), atof() Converte uma string em um valor inteiro de 8, 16 ou 32 bits, ou em um float.tolower() Converte um caractere no seu correspondente minúsculo.toupper() Converte um caractere no seu correspondente maiúsculo.isalnum() Verifica se o caractere é uma letra ou número.isalpha() Verifica se o caractere é uma letra.isdigit() Verifica se o caractere é um número.islower() Verifica se o caractere é uma letra minúscula.isupper() Verifica se o caractere é uma letra maiúscula.

Page 44: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 449/12/2003

Funções do Compilador padrão ANSIFunções do Compilador padrão ANSI

� Funções de Manipulação de Caracteres� Funções de Manipulação de Caracteresisspace() Verifica se o caractere é um espaço.isxdigit() Verifica se o caractere é um digito hexadecimal.iscntrl() Verifica se é um caractere de controle.isgraph() Verifica se é um caractere gráfico.isprint() Verifica se é um caractere pode ser impresso.ispunct() Verifica se o caractere diferente de letra ou número.ismoung() Verifica se o caractere está contido em uma string.strlen() Retorna a quantidade de caractere em uma string.

isspace() Verifica se o caractere é um espaço.isxdigit() Verifica se o caractere é um digito hexadecimal.iscntrl() Verifica se é um caractere de controle.isgraph() Verifica se é um caractere gráfico.isprint() Verifica se é um caractere pode ser impresso.ispunct() Verifica se o caractere diferente de letra ou número.ismoung() Verifica se o caractere está contido em uma string.strlen() Retorna a quantidade de caractere em uma string.

Page 45: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 459/12/2003

Funções do Compilador padrão ANSIFunções do Compilador padrão ANSI

� Funções de Manipulação de Caracteres� Funções de Manipulação de Caracteresstrcpy() Copia o conteúdo de uma string para outra.strncpy() Copia um determinado número de caractere de uma string para outra.strcmp(), strncmp(), stricmp() Compara duas strings e retorna: maior, menor ou igual.strcat() Concatena uma string dentro de outra.strstr() Localiza uma string dentro de outra.strchr(), strrchr() localiza um caractere em uma string.strtok() Retorna um ponteiro para a próxima ocorrência de uma palavra em um string.

strcpy() Copia o conteúdo de uma string para outra.strncpy() Copia um determinado número de caractere de uma string para outra.strcmp(), strncmp(), stricmp() Compara duas strings e retorna: maior, menor ou igual.strcat() Concatena uma string dentro de outra.strstr() Localiza uma string dentro de outra.strchr(), strrchr() localiza um caractere em uma string.strtok() Retorna um ponteiro para a próxima ocorrência de uma palavra em um string.

Page 46: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 469/12/2003

Funções do Compilador padrão ANSIFunções do Compilador padrão ANSI

� Funções de Manipulação de Caracteres� Funções de Manipulação de Caracteresstrspn(), strcspn() Conta o número de caracteres presentes em uma string e que aparecem também em outra.strpbrk() Localiza um caractere de uma string em outra string.strlwr() Converte os caracteres de uma string em minúsculo.sprintf() Imprime uma string ou constante de caracteres em outra string.

strspn(), strcspn() Conta o número de caracteres presentes em uma string e que aparecem também em outra.strpbrk() Localiza um caractere de uma string em outra string.strlwr() Converte os caracteres de uma string em minúsculo.sprintf() Imprime uma string ou constante de caracteres em outra string.

Page 47: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 479/12/2003

Funções do Compilador padrão ANSIFunções do Compilador padrão ANSI

� Operadores� Operadores+ Soma.- Subtração.* Multiplicação./ Divisão.% Resto da divisão= Atribuição& Operação AND bit a bit| Operação IOR bit a bit^ Operação XOR bit a bit! Operação NEGATION bit a bit

+ Soma.- Subtração.* Multiplicação./ Divisão.% Resto da divisão= Atribuição& Operação AND bit a bit| Operação IOR bit a bit^ Operação XOR bit a bit! Operação NEGATION bit a bit

Page 48: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 489/12/2003

Funções do Compilador padrão ANSIFunções do Compilador padrão ANSI

� Operadores� Operadores<< Rotação a esquerda>> Rotação a direita++ Incremento-- Decremento== Igual!= Diferente> Maior< Menor>= Maior ou igual<= Menor ou igual

<< Rotação a esquerda>> Rotação a direita++ Incremento-- Decremento== Igual!= Diferente> Maior< Menor>= Maior ou igual<= Menor ou igual

Page 49: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 499/12/2003

AgendaAgenda

Praticidade de Programação em CUso do compilador no MPLAB e editor da CCSComandos da Linguagem CFunções do Compilador padrão ANSIAs funções especiais para o microcontrolador PICA migração do programa desenvolvido em C para outro modelo de PICBiblioteca de funções da CCSSimulação e Depuração de programas

Praticidade de Programação em CUso do compilador no MPLAB e editor da CCSComandos da Linguagem CFunções do Compilador padrão ANSIAs funções especiais para o microcontrolador PICA migração do programa desenvolvido em C para outro modelo de PICBiblioteca de funções da CCSSimulação e Depuração de programas

Page 50: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 509/12/2003

Funções Especiais para o Microcontrolador

Funções Especiais para o Microcontrolador

� Funções para RS232 I/O� Funções para RS232 I/O

getc(), getch(), getchar(), gets()fgetc(), fgets(), get_string()putc(), putchar(), puts()fputc(), fputs()printf(), fprintf()kbhit(), set_uart_speed()perror(), assert(),

getc(), getch(), getchar(), gets()fgetc(), fgets(), get_string()putc(), putchar(), puts()fputc(), fputs()printf(), fprintf()kbhit(), set_uart_speed()perror(), assert(),

Page 51: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 519/12/2003

Funções Especiais para o Microcontrolador

Funções Especiais para o Microcontrolador

� Funções para I2C I/O� Funções para I2C I/O

i2c_start() i2c_stop()i2c_read()I2c_write()I2c_poll()

i2c_start() i2c_stop()i2c_read()I2c_write()I2c_poll()

Page 52: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 529/12/2003

Funções Especiais para o Microcontrolador

Funções Especiais para o Microcontrolador

� Funções para SPI I/O� Funções para SPI I/O

setup_spi()spi_read()spi_write()spi_data_is_in()

setup_spi()spi_read()spi_write()spi_data_is_in()

Page 53: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 539/12/2003

Funções Especiais para o Microcontrolador

Funções Especiais para o Microcontrolador

� Funções para manipulação de Memória� Funções para manipulação de Memória

memset()memcpy()offsetof()offsetofbit()

memset()memcpy()offsetof()offsetofbit()

Page 54: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 549/12/2003

Funções Especiais para o Microcontrolador

Funções Especiais para o Microcontrolador

� Funções para Delay (atraso)� Funções para Delay (atraso)

Delay_cycles()Delay_us()Delay_ms()

Delay_cycles()Delay_us()Delay_ms()

Page 55: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 559/12/2003

Funções Especiais para o Microcontrolador

Funções Especiais para o Microcontrolador

� Funções para manipulação de bit e byte� Funções para manipulação de bit e byte

shift_right(), shift_left()rotate_right(), rotate_left()bit_clear(), bit_set(), bit_test()swap()make8(), make16(), make32()

shift_right(), shift_left()rotate_right(), rotate_left()bit_clear(), bit_set(), bit_test()swap()make8(), make16(), make32()

Page 56: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 569/12/2003

Funções Especiais para o Microcontrolador

Funções Especiais para o Microcontrolador

� Funções para manipulação de I/O (Entrada e Saída)� Funções para manipulação de I/O (Entrada e Saída)

output_low(), output_high(), output_float(), output_bit()output_a(), output_b(), output_c(), output_d(), output_e()input()input_a(), input_b(), input_c(), input_d(), input_e()port_b_pullups()set_tris_a(), set_tris_b(), set_tris_c(), set_tris_d(), set_tris_e()

output_low(), output_high(), output_float(), output_bit()output_a(), output_b(), output_c(), output_d(), output_e()input()input_a(), input_b(), input_c(), input_d(), input_e()port_b_pullups()set_tris_a(), set_tris_b(), set_tris_c(), set_tris_d(), set_tris_e()

Page 57: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 579/12/2003

Funções Especiais para o Microcontrolador

Funções Especiais para o Microcontrolador

� Funções Analógicas� Funções Analógicas

setup_comparator()setup_vref()setup_adc()setup_adc_ports()set_adc_channel()read_adc()

setup_comparator()setup_vref()setup_adc()setup_adc_ports()set_adc_channel()read_adc()

Page 58: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 589/12/2003

Funções Especiais para o Microcontrolador

Funções Especiais para o Microcontrolador

� Funções para manipulação de Timers� Funções para manipulação de Timers

setup_timer_0(), setup_rtcc(), setup_counter()setup_timer_1(), setup_timer_2(), setup_timer_3()set_rtcc(), set_timer_0(), set_timer_1(), set_timer_2(), set_timer_3()get_rtcc(), get_timer0(), get_timer1(), get_timer2(), get_timer3()setup_wdt(), restart_wdt()

setup_timer_0(), setup_rtcc(), setup_counter()setup_timer_1(), setup_timer_2(), setup_timer_3()set_rtcc(), set_timer_0(), set_timer_1(), set_timer_2(), set_timer_3()get_rtcc(), get_timer0(), get_timer1(), get_timer2(), get_timer3()setup_wdt(), restart_wdt()

Page 59: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 599/12/2003

Funções Especiais para o Microcontrolador

Funções Especiais para o Microcontrolador

� Funções para o módulo CCP� Funções para o módulo CCP

setup_ccp1(), setup_ccp2()set_pwm1_duty(), set_pwm2_duty()setup_ccp1(), setup_ccp2()set_pwm1_duty(), set_pwm2_duty()

Page 60: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 609/12/2003

Funções Especiais para o Microcontrolador

Funções Especiais para o Microcontrolador

� Funções para manipulação da memória EEPROM e FLASH� Funções para manipulação da memória EEPROM e FLASH

read_eeprom()write_eeprom()read_program_eeprom()write_program_eeprom()read_calibration()

read_eeprom()write_eeprom()read_program_eeprom()write_program_eeprom()read_calibration()

Page 61: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 619/12/2003

Funções Especiais para o Microcontrolador

Funções Especiais para o Microcontrolador

� Funções para controle do processador� Funções para controle do processador

sleep()reset_cpu(), restart_cause()enable_interrupts(), disable_interrupts()ext_int_edge()read_bank(), write_bank()label_address(), goto_address()

sleep()reset_cpu(), restart_cause()enable_interrupts(), disable_interrupts()ext_int_edge()read_bank(), write_bank()label_address(), goto_address()

Page 62: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 629/12/2003

Envie Um E-mailPara [email protected] com o seguinte assunto:

“200 – Premio Seminario Microchip 2003”Inclua o Nome do Participante e Endereço para envio.

Os Primeiros 5 participantes que enviarem

o e-mail acima receberão

1 Brinde Microchip

SLIDE PRÊMIO

* Promoção Válida por Tempo Limitado e Somente 1 Brinde por Participante do Seminário

Page 63: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 639/12/2003

Funções Especiais para o Microcontrolador

Funções Especiais para o Microcontrolador

� Funções para manipulação da PSP� Funções para manipulação da PSP

setup_psp()psp_input_full()psp_output_full()psp_overflow()

setup_psp()psp_input_full()psp_output_full()psp_overflow()

Page 64: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 649/12/2003

AgendaAgenda

Praticidade de Programação em CUso do compilador no MPLAB e editor da CCSComandos da Linguagem CFunções do Compilador padrão ANSIAs funções especiais para o microcontrolador PICA migração do programa desenvolvido em C para outro modelo de PICBiblioteca de funções da CCSSimulação e Depuração de programas

Praticidade de Programação em CUso do compilador no MPLAB e editor da CCSComandos da Linguagem CFunções do Compilador padrão ANSIAs funções especiais para o microcontrolador PICA migração do programa desenvolvido em C para outro modelo de PICBiblioteca de funções da CCSSimulação e Depuração de programas

Page 65: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 659/12/2003

Migração de programas em C para outros modelo de PIC

Migração de programas em C para outros modelo de PIC

Page 66: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 669/12/2003

Migração de programas em C para outros modelo de PIC

Migração de programas em C para outros modelo de PIC

Page 67: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 679/12/2003

AgendaAgenda

Praticidade de Programação em CUso do compilador no MPLAB e editor da CCSComandos da Linguagem CFunções do Compilador padrão ANSIAs funções especiais para o microcontrolador PICA migração do programa desenvolvido em C para outro modelo de PICBiblioteca de funções da CCSSimulação e Depuração de programas

Praticidade de Programação em CUso do compilador no MPLAB e editor da CCSComandos da Linguagem CFunções do Compilador padrão ANSIAs funções especiais para o microcontrolador PICA migração do programa desenvolvido em C para outro modelo de PICBiblioteca de funções da CCSSimulação e Depuração de programas

Page 68: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 689/12/2003

Biblioteca de funções da CCS (Drivers)Biblioteca de funções da CCS (Drivers)

� Biblioteca de Funções para EEPROM� Biblioteca de Funções para EEPROM

2401.c2402.c2404.c2408.c24128.c2416.c24256.c2432.c2465.c

2401.c2402.c2404.c2408.c24128.c2416.c24256.c2432.c2465.c

Page 69: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 699/12/2003

Biblioteca de funções da CCS (Drivers)Biblioteca de funções da CCS (Drivers)

� Biblioteca de Funções para EEPROM� Biblioteca de Funções para EEPROM

25160.c25320.c25640.c25C080.c9346.c9356.c9356SPI.c9366.cAT25256.c

25160.c25320.c25640.c25C080.c9346.c9356.c9356SPI.c9366.cAT25256.c

Page 70: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 709/12/2003

Biblioteca de funções da CCS (Drivers)Biblioteca de funções da CCS (Drivers)

� Biblioteca de Funções para EEPROM� Biblioteca de Funções para EEPROM

AT29C1024.cCE51X.cCE62X.cCE67X.c

AT29C1024.cCE51X.cCE62X.cCE67X.c

Page 71: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 719/12/2003

Biblioteca de funções da CCS (Drivers)Biblioteca de funções da CCS (Drivers)

� Biblioteca de Funções para RAM Serial� Biblioteca de Funções para RAM Serial

68HC68R1.c68HC68R2.c68HC68R1.c68HC68R2.c

Page 72: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 729/12/2003

Biblioteca de funções da CCS (Drivers)Biblioteca de funções da CCS (Drivers)

� Biblioteca de Funções para expansão de I/O� Biblioteca de Funções para expansão de I/O

74165.c74595.c74165.c74595.c

Page 73: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 739/12/2003

Biblioteca de funções da CCS (Drivers)Biblioteca de funções da CCS (Drivers)

� Biblioteca de Funções para conversor Analógico Digital� Biblioteca de Funções para conversor Analógico Digital

AD7705.cAD7715.cAD8320.cAD8400.c

AD7705.cAD7715.cAD8320.cAD8400.c

Page 74: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 749/12/2003

Biblioteca de funções da CCS (Drivers)Biblioteca de funções da CCS (Drivers)

� Biblioteca de Funções para comunicação serial� Biblioteca de Funções para comunicação serial

CRC.cInput.cLoader.cPIC_USB.hS7600.hSC28l19X.cSmtp.hUSB.hUSB.c

CRC.cInput.cLoader.cPIC_USB.hS7600.hSC28l19X.cSmtp.hUSB.hUSB.c

Page 75: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 759/12/2003

Biblioteca de funções da CCS (Drivers)Biblioteca de funções da CCS (Drivers)

� Biblioteca de Funções Sensores de temperatura� Biblioteca de Funções Sensores de temperatura

DS1302.cDS1621.cDS1621M.cDS1631.cDS1624.c

DS1302.cDS1621.cDS1621M.cDS1631.cDS1624.c

Page 76: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 769/12/2003

Biblioteca de funções da CCS (Drivers)Biblioteca de funções da CCS (Drivers)

� Biblioteca de Funções teclado e lcd� Biblioteca de Funções teclado e lcd

KDB.cLCD.cKDB.cLCD.c

Page 77: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 779/12/2003

AgendaAgenda

Praticidade de Programação em CUso do compilador no MPLAB e editor da CCSComandos da Linguagem CFunções do Compilador padrão ANSIAs funções especiais para o microcontrolador PICA migração do programa desenvolvido em C para outro modelo de PICBiblioteca de funções da CCSSimulação e Depuração de programas

Praticidade de Programação em CUso do compilador no MPLAB e editor da CCSComandos da Linguagem CFunções do Compilador padrão ANSIAs funções especiais para o microcontrolador PICA migração do programa desenvolvido em C para outro modelo de PICBiblioteca de funções da CCSSimulação e Depuração de programas

Page 78: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 789/12/2003

Simulação e Depuração de ProgramasSimulação e Depuração de Programas

Page 79: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 799/12/2003

Simulação e Depuração de ProgramasSimulação e Depuração de Programas

Page 80: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 809/12/2003

Simulação e Depuração de ProgramasSimulação e Depuração de Programas

Page 81: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 819/12/2003

Simulação e Depuração de ProgramasSimulação e Depuração de Programas

Page 82: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 829/12/2003

Simulação e Depuração de ProgramasSimulação e Depuração de Programas

Page 83: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 839/12/2003

Simulação e Depuração de ProgramasSimulação e Depuração de Programas

Page 84: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 849/12/2003

Simulação e Depuração de ProgramasSimulação e Depuração de Programas

Page 85: Introdução a Linguagem C para PICmicro Programação de …images3.wikia.nocookie.net/collaboration/images/1/10/LinguagemC.pdf · Slide 3 9/12/2003 AgendaAgenda Praticidade de Programação

Slide 859/12/2003

A Equipe Microchip Brasil Agradece a Sua Presença!A Equipe Microchip Brasil Agradece a Sua Presença!

FimFim