Nastavení vstupu - C30 compiler

Zdravím,
Mám asi pro Vás banalní dotaz, ale sedím nad tím už dlouho a nemůžu se z toho vymotat:
Používám: mikrokontrolér řady PIC24, Mplab v8.30, C30 compiler, Pickit2

Kód:

[code]#include “p24HJ128GP502.h”
#include “libpic30.h”
#include <stddef.h>
#include <stdio.h>

#define DATA _RA0
#define SCK _RA1

void main()
{
while(1)
{
unsigned int i;
_TRISA0=1;
for (i=0;i<60000;i++)
{
if(DATA) break;
}
_TRISA0=0;
DATA=1;
__delay32(11);
DATA=0;
__delay32(11);
}
}
[/code]

Pokud tento zdroják pustím jako animate a připojím log 1 na pin DATA nic se nestane, ale program by měl “vyskočit” z cyklu a pokračovat v programu. Pokud zaremuju cyklus “for” na pinu DATA se mi generují obdelníky.
Obracím se na Vás s otázkou proč se pin data nechová jako vstup, když je hodnota _TRISA0=1.

Předem děkuji za odpověď.

Viktor

Protože je RA0 nastaven jako analogový vstup. Pokud ho chceš použít jako digitální vstup, musíš nastavit bit PCFG0 v registru AD1PCFGL do log 1. Vše najdeš v datasheetu strana 232.

Po nastavení vše funguje jak má.
Díky za pomoc.