Array in C voor pic16F690

Pagina: 1
Acties:
  • 137 views

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
hallo, kan iemand mij helpen, ik zou graag een kleine codeklavier willen simuleren met maar 4 druktoetsen onderaan zie je mijn code, deze werkt jamergenoeg niet |:( !
ze staan parallell op de RA2 (voor interrupt) en daar zie je dan tegelijk of het RA4, RA5, RA6 of RA7 is die gedrukt wordt (hoog is ) .
EMPTY kent hij niet, wat kan ik daar dan voor toepassen? hij mag daar enkel vergelijken wanneer alle 4 gevuld zijn in de PUSHED[4] !
--------------------------------------------------------------------------------------------------------------------------------------------------------------------

__CONFIG(INTIO & WDTDIS & PWRTEN & MCLRDIS & UNPROTECT & UNPROTECT & BORDIS & IESODIS & FCMDIS);

static unsigned char ra2_counter;
const char CODE[4] = {'A', 'B', 'C', 'D'};
static char PUSHED[4];

static void interrupt isr(void)
{
int i;
if(INTF){ // RA2 External Interrupt Occur
ra2_counter++;
for(ra2_counter = 0; ra2_counter<5; ra2_counter++)
{
if(RB4 == 1)
PUSHED[ra2_counter] = 'A';
else if(RB5 == 1)
PUSHED[ra2_counter] = 'B';
else if(RB6 == 1)
PUSHED[ra2_counter] = 'C';
else if(RB7 == 1)
PUSHED[ra2_counter] = 'D';
}//endrof
}//endfi
else
return;

INTF = 0; // Clear External interrupt flag
}

main()
{
TRISC = 0x00; // Set All on PORTC as Output
TRISA = 0x05; //0b00001111; //RA2 input mode (digital input)

TRISB = 0b11110000; // RB4,5,6,7 zijn inputs ! Is this right?

ANSEL = 0b00000000; // Set PORT AN0 to AN7 digital I/O
ANSELH = 0; // Set PORT AN8 to AN11 as Digital I/O /* Init ADC */
INTE = 1; //enable RA2/INT interrupts
GIE = 1; //enable global interupts

while (1 == 1)
{
if(PUSHED[0] != EMPTY && PUSHED[1] != EMPTY && PUSHED[2] != EMPTY && PUSHED[3] != EMPTY)
{
if(CODE == PUSHED)
PORTC = 0x02; // second led must light up
else if(CODE != PUSHED)
PORTC = 0x03; // 2 leds turn on
}//endfi
}//endelihw
}

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Dus je verwacht dat wij met deze minimale uitleg van waar je globaal naartoe wil jou kunnen helpen? Lees De Quickstart eens door en probeer het nog eens met wat meer informatie, want hier kunnen we niks mee.

Daarnaast: Hoe post je code? / Hoe gebruik je de code tag?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Dit topic is gesloten.