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