Ir para conteúdo
View in the app

A better way to browse. Learn more.

EletrônicaBR.com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Navegação Limpa e Sem Anúncios! (Cadastre-se)

O melhor fórum técnico do mundo está de cara nova e de portas abertas! Estamos de cara nova e com ferramentas ainda mais poderosas para a sua bancada. Faça o seu cadastro de forma rápida e simples para acessar o maior e mais atualizado acervo de Esquemas Elétricos, BIOS e Firmwares da internet.

Aqui, o conhecimento vale muito: através do nosso sistema de créditos, membros participativos ganham acesso totalmente gratuito aos downloads. Venha trocar experiências com os melhores especialistas do mercado!

👉 Técnico sem o EletrônicaBR não é um técnico completo!

 

Como usar o PB7 e PB6 como io no atmega8 no arduino com clock interno

Featured Replies

Postado

Boa tarde, gostaria de saber como indexar os pinos PB7 e PB6 como 15 e 14 no IDE do arduino para usa-los como pinos de I/O.

É claro, estou usando o clock interno.

Editado: por mariomendes77

Postado

Pode manipular diretamente o acesso aos registradores dos Ports.

 

Porém seu Arduino não poderá mais ser gravado ou acessado, talvez, somente com um programador como o USBASP ou o HVSP, por exemplo.

 

O acesso se dá utilizando, por exemplo o DDRD para setar como entrada ou saída no port D. Para a alteração estado do pino com PORTD.

 

DDRD = B11110000; // 1 Saida, 0 Entrada

PORTD = B11110000; // 1 High, 0 Low

 

No Arduino os includes de manipulação de ports não vem com esses dois habilitados, porém há alguns usuários que fizeram um novo arquivo, que o senhor pode baixar e utilizar.

 

Não sei ao certo se era isso mesmo que o senhor queria.

 

Flw...

Editado: por nagkiller

Postado
  • Autor
2 horas atrás, nagkiller disse:

Me parece que o senhor precisa de algo como isso aqui:

 

Você não tem permissão para visualizar links. Faça login ou cadastre-se.

 

 

Flw...

caro @nagkiller esses dois resolvem em parte o meu problema que é acessar PB7 e PB6 como i/o mas não fazem o compilador do arduino os reconhecer como pinos 15 e 14 respectivamente.

Já resolvi  o meu problema específico que é utilizar esses dois pinos para comandar os pinos ENABLE e RS de um LCD de 16 colunas e duas linhas, alterando o arquivo <LiquidCrystal.cpp> da livraria LiquidCrystal  para reconhecer o 15 e o 14 e gerar os comandos adequados conforme descrito no segundo link que você indicou. (no meu caso o RS do LCD está ligado ao pino PB7 e o enable no PB6).

 

Exemplo de umas das linhas do <LiquidCrystal.cpp> alteradas(em negrito o que inclui):

~~~~   // Now we pull both RS and R/W low to begin commands
  if (_rs_pin == 15) PORTB &= ~(1 << PORTB7); else digitalWrite(_rs_pin, LOW);
  if (_enable_pin == 14) PORTB &= ~(1 << PORTB6); else digitalWrite(_enable_pin, LOW);~~~~

 

 

 

Postado
  • Autor

Em tempo: uso o programa "ExtremeBurnerAVR" para gravar o programa e os "fuses"

Vou tentar a solução do primeiro link e depois te falo.

Editado: por mariomendes77

Postado

Uma vez eu vi uma lib no github... Mas eu acho que não guardei o projeto... Senão te passaria ele como primeiro link, e assim, acredito que seu problema seria resolvido, pois nele, há uma alteração para ser usado diretamente no Arduino IDE (inclusão de novo dispositivo).

 

Flw...

Editado: por nagkiller

Postado
  • Autor

@nagkiller Já tenho tudo funcionando, estou com o clock interno e o LCD funcionando. Vou deixar as novas pesquisas para mais tarde, obrigado pela ajuda!

Postado
  • Autor

@nagkiller Consegui resolver sem alterar a biblioteca do LCD do arduino.

Estou usando o USBasp no gravador(eliminei o bootstrap ganhando memória):

Você não tem permissão para visualizar links. Faça login ou cadastre-se.

 

e o MiniCore no arduino:

 

verifiquei que no arquivo que define os pinos (pins_arduino.h) dos ATmega no MiniCore, o pino  PB7 é definido como 21 e o PB6 como 20.

Tudo funcionou perfeitamente...

Participe agora da conversa!

Você pode postar agora e se cadastrar mais tarde. Se você tiver uma conta, faça login para postar com sua conta.

Visitante
Responder

Account

Navigation

Pesquisar

Pesquisar

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.