Página 1 de 1

Exemplo

MensagemEnviado: 21 Out 2007 11:32
por amadeu
Bom dia Senhores,

Montei um simples hardware para fazer alguns testes com o ARM7, especificamente o LPC2104 da NXP porém não estou conseguindo deixar todo o GPIO em nível alto e não sei o motivo, por isso peço um Help aos Senhores. O código é o seguinte:

#include "C:\iolpc2104.h" /* Defines Special function registers */

void PLL_init(void)
{
PLLCFG = 0X00000021; //Configura M = 2 e P = 2 para uma freqüência
//de 40MHz com cristal de 20MHz
PLLCON = 0X00000001; //Habilita PLL
PLLFEED = 0X000000AA;
PLLFEED = 0X00000055; //Atualiza os registradores
while(!(PLLSTAT & 0X00000400)); //Testa PLOCK
PLLCON = 0X00000003; //Conecta ao PLL
PLLFEED = 0X000000AA;
PLLFEED = 0X00000055; //Atualiza os registradores
VPBDIV = 0X00000002; //Configura Pclk = 20MHz (Cclk/2)
}

main()
{


PLL_init();

PINSEL0=0x00000000;
PINSEL1=0x00000000;
IODIR=0xFFFFFFFF;
IOSET=0xFFFFFFFF;


while(1);


}


Vejam que primeiramente faço a inicialização da PLL e logo em seguida configuro os pinos para I/O e em seguida a direção para saída, deixando após isso todo o PORT em nível alto. A placa está boa, pois já testei outros exemplos na mesma e o clock é de 20 MHz. O problema é realmente no software e não consigo identificar o problema.
Agradeço a atenção de todos.

Abs,
Amd.

Att

Re: Exemplo

MensagemEnviado: 21 Out 2007 20:09
por Rodrigo_P_A
Vc escreveu que não consegue deixar "todos em nível 1" vou considerar que alguns estão ficando, então é o seguinte verifique o seu hardware, pois alguns I/Os são Open Drain, e por isso Não estão ficando em nível 1

MensagemEnviado: 22 Out 2007 08:56
por xultz
Não se esqueça que habilitando a porta Jtag a metade superior das GPIOs ficam desabilitadas.