Estou modificando o código dos microcontroladores AVR e PIC há alguns anos para trabalhar, mas nunca escrevi nada do zero, eu o entendo muito bem.
Estou começando a escrever meu próprio código agora e estou tendo problemas para começar. Fiquei me perguntando como outras pessoas começam a escrever código e se há um livro ou tutorial que as pessoas recomendariam sobre isso.
Você começa com a codificação da sua função de inicialização e depois interrompe os temporizadores e o loop while (1) principal ... Estou pensando qual é a melhor maneira de começar.
Obrigado
Meu tutorial favorito do AVR-do-zero-em-C é https://www.mainframe.cx/~ckuethe/avr-c-tutorial/
Todo mundo tem seu próprio estilo para pequenos sistemas embarcados. Aqui está o meu:
Eu gosto de usar muitos arquivos C, com o nome de cada um criando um prefixo para funções. Por exemplo,
led_init()
eled_tick()
ambos estão emled.c
. Isso mantém as coisas modulares e ajuda na portabilidade.Eu uso um
common.h
arquivo de cabeçalho para definir tipos, mas as inclusões individuais para cada módulo.Eu costumo usar um único timer de sistema de freerunning (em a
systime.c
) e, em seguida, os módulos chamam umasystime_get()
função para buscar o tempo atual em ticks do sistema ou milissegundos. Cada módulo pode então agendar eventos através de temporizadores de software usando asX_tick()
funções.common.h:
uart.h:
uart.c:
led.h:
led.c:
main.c:
Aqui estão dois projetos do "mundo real" usando esse estilo para AVR e MSP430 .
fonte