Problemas no PORT C

Software e Hardware para ATMEL

Moderadores: 51, guest2003, brasilma

Problemas no PORT C

Mensagempor sandrini » 24 Jul 2007 17:08

Estou tendo dificuldades na configuração da PORTA C do atmega16. Faço a configuração de DDRC para entrada, ou seja, 0x00 e faço a leitura de um botão conectado à porta C, bit 2, conforme abaixo:

int main(void) {
DDRC = 0x00;
DDRB = 0x01;

for (;;) {
if (bit_is_clear(PINC,PC2) {
PORTB |= (1<<PB0);
}
}
}

O programa acima funciona muito bem no simulador mas quando passo para o microcontrolador, ele fica direto, ou seja, mesmo o pino 2 da porta C estando em 1, ele liga o LED na porta B. O microcontrolador não está configurando corretamente a porta C.

Estou colocando um resistor de pull up no PINC 2.

Alguém poderia me dar uma dica se isto está correto mesmo ou eu que estou fazendo algo errado?

O problema que isto está acontecendo somente nesta porta... quando utilizo outras portas, funciona tudo corretamente....
sandrini
Nibble
 
Mensagens: 65
Registrado em: 12 Out 2006 10:16

Mensagempor sandei » 24 Jul 2007 19:46

Na linha atmega qdo vem de fabrica alguns bit's do Portc estão programados para o JTAG vc deve desabilitar o suporte do JTAG, ai vai depender do programa que está utilizando para gravar e o gravador.

Fabio.
sandei
Byte
 
Mensagens: 278
Registrado em: 13 Out 2006 08:15

Mensagempor sandrini » 26 Jul 2007 08:58

Valeu Sandei....

O problema era esse mesmo....
:oops:
Como todo bom brasileiro, depois de desabilitar o JTAG, resolvi verificar novamente o datasheet nesta parte do PORTC e está lá escrito que o JTAG estando habilitado, os pinos correspondentes a ele não funcionarão como I/O.
:oops: :lol:

Agradeço mais uma vez...
sandrini
Nibble
 
Mensagens: 65
Registrado em: 12 Out 2006 10:16

Mensagempor sandei » 26 Jul 2007 09:06

OTIMO!

Fabio
sandei
Byte
 
Mensagens: 278
Registrado em: 13 Out 2006 08:15

Mensagempor rubenprom » 05 Dez 2007 20:33

Retornando ao assunto, eu nao entendi como desabilitar a função do JTAG no PORTC, eu uso o programador do CODEVISION, e tb uso o PONYPROG, como é que faz esta desabilitação, e se eu pretender usar no futuro o JATG, teria alguma dificultade no PORTC?

Ruben
Detesto responder coisas que nao sei!
rubenprom
Byte
 
Mensagens: 222
Registrado em: 16 Out 2006 00:23
Localização: Porto Alegre - RS

Mensagempor sandei » 05 Dez 2007 21:05

Boa Noite.

Bom eu uso o Programa da Atmel p/ gravar, sendo assim possível Habilitar e Desabilitar a Qualquer momento. Isso no STK 500
sandei
Byte
 
Mensagens: 278
Registrado em: 13 Out 2006 08:15

Mensagempor rubenprom » 05 Dez 2007 21:22

Certo Sandei, vou baixar esse programa da ATmel, e fazer a programação, muito obrigado pela informação

Ruben
rubenprom
Byte
 
Mensagens: 222
Registrado em: 16 Out 2006 00:23
Localização: Porto Alegre - RS

Mensagempor rubenprom » 05 Dez 2007 21:28

Esqueci, o fiz um gravador que usa a porta paralela, o Dongle, seriviria este gravador tb para poder desabilitar o JTAG?

Pelo que vi em varios software de gravação, há de setar o item JTAGEN=0??
é isso para poder desabilitar o JTAG?
rubenprom
Byte
 
Mensagens: 222
Registrado em: 16 Out 2006 00:23
Localização: Porto Alegre - RS

Mensagempor Maurício » 05 Dez 2007 22:16

Salve, rubenprom.

Não. Para desativar o JTAG vc precisa marcar o bit como 1 (high). É ao contrário.
No CodeVision vc desmarca a caixa JTAGEN e manda gravar somente os fusíveis.
Desmarque tb a caixa OCDEN, pra evitar barulho.... ehehehehehehe

[]'s
"Não leve a vida tão à sério, afinal, nenhum de nós sairá vivo, dela!"
Avatar do usuário
Maurício
Word
 
Mensagens: 678
Registrado em: 14 Out 2006 17:23
Localização: São Paulo - SP

Mensagempor rubenprom » 05 Dez 2007 22:33

Salve Mauricio, tudo beleza?

..Olha, para que talvez voces me entendam o que eu tou fazendo, no software está deste jeito

Imagem
Imagem
rubenprom
Byte
 
Mensagens: 222
Registrado em: 16 Out 2006 00:23
Localização: Porto Alegre - RS

Mensagempor Maurício » 06 Dez 2007 00:23

É isso!
Do jeito que está, JTAG está desabilitado.

[]'s
"Não leve a vida tão à sério, afinal, nenhum de nós sairá vivo, dela!"
Avatar do usuário
Maurício
Word
 
Mensagens: 678
Registrado em: 14 Out 2006 17:23
Localização: São Paulo - SP

Mensagempor Maurício » 06 Dez 2007 01:23

ah! Me lembrei de uma outra coisa.
Se vc usa programação automática depois da compilação, então vc precisa configurar os fuses através de: TOOLS > CHIP PROGRAMMER
Senão, o CodeVision usa a programação que está nestas configurações.

Do jeito que vc fez, só funciona se vc mandar gravar o chip imediatamente.

[]'s
"Não leve a vida tão à sério, afinal, nenhum de nós sairá vivo, dela!"
Avatar do usuário
Maurício
Word
 
Mensagens: 678
Registrado em: 14 Out 2006 17:23
Localização: São Paulo - SP

Mensagempor rubenprom » 06 Dez 2007 03:05

Acho que fiz algo de errado! fiz a primeira gravação no modo automatico e agora deu isso

Imagem


me parece ter perdido o mega.....buaaaaaaaa
rubenprom
Byte
 
Mensagens: 222
Registrado em: 16 Out 2006 00:23
Localização: Porto Alegre - RS

Mensagempor rubenprom » 06 Dez 2007 03:06

mesmo assim valeu pela ajuda!
Detesto responder coisas que nao sei!
rubenprom
Byte
 
Mensagens: 222
Registrado em: 16 Out 2006 00:23
Localização: Porto Alegre - RS

Mensagempor Maurício » 06 Dez 2007 13:30

Perdeu, nada! Essas máquinas parecem um trator!

Que gravador vc está usando?
Serial ou paralelo?
Vc configurou o gravador no Codevision? Menu: SETTINGS -> PROGRAMMER
O AVRStudio está rodando junto com o CodeVision? Se estiver vai dar erro de comunicação mesmo. Eles usam a mesma porta serial.
Vc programou o chip através de JTAG? Como estava a configuração dos fuses? Se eu não me engano, pelo AVRStudio dá pra programar os fuses que impedem gravação ISP. Se isso acontecer, babau! Só com gravador de alta-tensão.

Sua configuração de fusíveis está para cristal externo? É isso mesmo? Se for, coloca um cristal externo e tenta de novo.

[]'s
"Não leve a vida tão à sério, afinal, nenhum de nós sairá vivo, dela!"
Avatar do usuário
Maurício
Word
 
Mensagens: 678
Registrado em: 14 Out 2006 17:23
Localização: São Paulo - SP

Próximo

Voltar para AVR

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitantes

x