Micro tutorial sobre AVR

22 Setembro 2008 at 15:18 (Diy, Tutorial) (, , , )

Tenho andado a escrever um pequeno tutorial em português sobre como programar AVR’s, microcontroladores da gama dos PIC. Já tem uma parte pronta, que mostra como montar um micro ambiente de desenvolvimento de hardware e software, e portanto cá fica o link, no fórum ElectronicaPT:

Micro-tutorial sobre AVR, no ElectronicaPT.com

Feliz codificação! (porque será que não soa tão bem como “happy coding”🙂 ?)

Actualização: O tutorial agora também se encontra em PDF, aqui.

2 comentários

  1. Rafael said,

    Boas…

    Quando tu no tutorial fases:
    #include
    #include

    int main (void)
    {
    DDRA = 0x01; // Configurar pino PA0 como output

    do { // inicio de ciclo
    PORTA = 0x01; // Acender o LED
    _delay_ms(500); // Esperar 500ms…
    PORTA = 0x00; // Apagar o LED
    _delay_ms(500); // Esperar 500ms…
    }
    while (1); // Saltar para o inicio do ciclo
    }

    O porque de ” PORTA = 0x00; ” fazer Apagar o LED

    Porta é algum parametro do processador ou macro ou algo do genero?
    ~

    Obrigado

    Rafael

  2. Njay said,

    PORTA é o nome (macro em C) de um registo que está associado, ou que controla, o valor de cada pino do porto A do AVR. Cada bit deste registo, que é um registo de 8 bits e está “mapeado em memória”, controla um pino do AVR. Este AVR em particular tem 2 portos, o porto A e o porto B. Se abrires a datasheet deste AVR (aqui) vais ver, logo no inicio da 2ª página, em que pinos se situam os portos.
    Logo, quando faço PORTA = 0x1 estou a colocar a 1 o bit 0 do porto A, que está associado ao pino 20 do chip, designado PA0; o AVR vai colocar 5V (um “1”) nesse pino. Ao fazer PORTA = 0x0 estou a mandar o AVR colocar 0V (um “0”) no pino, apagando o LED. Ao mesmo tempo, em ambos os comandos, estou a colocar a 0 todos os outros bits (logo, pinos) do porto A.

    DDRA é o nome de outro registo associado ao porto A. Este registo controla o tipo de pino de cada pino do porto A, se é uma entrada ou uma saída. Para um pino ser uma saída, o respectivo bit neste registo tem que estar a 1, daí que o programa começa logo com DDRA = 0x1.

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s

%d bloggers like this: