Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Recentemente comecei a usar o atmegas 40 DIP para controlar sistemas industriais porque este tipo de microcontrolador fornece muitas E / S analógicas ou digitais, então você não precisa de nenhum expansor.
O atmegas32 / 644p / 1284p inclui uma maneira de baixar o esboço que você criou, que é chamado de "JTAG" (ver
en.wikipedia.org/wiki/JTAG para mais explicações). Se você usa Arduino IDE ou LDmicro (IEC 61-131) os esboços são baixados pela porta SPI e os pinos JTAG (4 pinos: PC2 (D18) PC3 (D19) PC4 (D20) PC5 (D21) não estão disponíveis para nada. Então você tem que desabilitar JTAG em seu programa.
Com o IDE do arduino, você só precisa adicionar 3 linhas de código na seção de configuração, como este:
uint8_t tmp = 1 << JTD;
MCUCR = tmp;
MCUCR = tmp;
O método da linha duas vezes MCUCR.
Com o LDmicro não consegui fazer nada.
Para evitar esses problemas, inicializei após a manipulação do registro MCUCR em meu atmegas com o Arduino IDE sob Mightycore. Uma forma de queimar os fusíveis com um JTAG desativado.
Etapa 1: O cálculo do fusível de seu circuito 40DIP:
Vá para o site:
eleccelerator.com/fusecalc/fusecalc.php?chi…
Escolha o bom circuito (atmega1284p no meu exemplo, mas da mesma forma com outros 40 DIP atmegas) e olhe para "U hfuse: w: 0x99: m" e desmarque JTAGEN para que dê "U hfuse: w: 0xD9: m". Lembre-se do valor 0xD9.
Etapa 2: Procurando o arquivo Boards.txt no diretório Mightycore:
No seu PC, pesquise o diretório Mightycore. Para mim, em C: / user / myself / AppData / Local / Arduino15 / packages / Mightycore / Harware / avr / 2.0.0 / boards.txt.
Etapa 3: Modifique o Boards.txt e o Bootload com Mightycore:
Dê uma olhada no bloco de frequência do relógio do atmega1284p com Notepad ++.
Modifique cada fusível alto como “1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd6” para "1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd9" (0xd9 o valor anterior que você precisava lembrar). Salve-o.
Então você só tem que seguir o método de inicialização fornecido em
www.instructables.com/id/Arduino-18x-Clone…
É isso.
Etapa 4: Conclusão:
Agora você ganha 4 I / O e não precisa fazer nenhuma manipulação de registro em seus esboços. Você também pode voltar e ativar o JTAGEN e reiniciar mais uma vez.
Obrigado a todos os tutoriais interessantes na web que me deram algumas chaves para ter sucesso neste projeto.