Diferencia entre revisiones de «Código Acelerómetro para Codewarrior 10.6»

De Wikitronica
Saltar a: navegación, buscar
Línea 7: Línea 7:
  
 
'''Inicialización de periféricos'''
 
'''Inicialización de periféricos'''
 
 
 
'''ICS'''
 
'''ICS'''
 
<syntaxhighlight lang="c">
 
<syntaxhighlight lang="c">
Línea 49: Línea 47:
 
} //end InitSCI
 
} //end InitSCI
  
 +
</syntaxhighlight><br>
 +
 +
 +
'''Funciones para la transmisión y recepción de datos'''
 +
'''SCI'''
 +
<syntaxhighlight lang="c">
 +
char RecChar(void) {
 +
byte rec_char;
 +
 +
if (SCI1S1_RDRF) 
 +
rec_char = SCI1D; 
 +
SCI1C2_RE = 1;   
 +
while(!SCI1S1_RDRF){  };
 +
rec_char = SCI1D;
 +
SendChar((char) rec_char);
 +
return (char) SCI1D;
 +
} //end RecChar 
 
</syntaxhighlight><br>
 
</syntaxhighlight><br>

Revisión del 15:40 22 jun 2016

Código del Acelerómetro en CodeWarrior 10.6

Descripción de funciones

Inicialización de periféricos ICS

void ICS_FEI(void) {

if (NVICSTRM != 0xFF)
ICSTRM = NVICSTRM;
else
ICSTRM = 0xAD;
ICSC1 = ICSC1_FEI;
ICSC2 = ICSC2_FEI;
ICSSC = ICSSC_FEI;
while (ICSC1_CLKS != ICSSC_CLKST) {}
} //end


KBI

void InitKBI(void) {
// Enable KBI1P[3:2] as interrupt
  KBI1PE = KBI_SW;
  KBI1SC = 0b00000110;
/*               ||||
                 |||+---- KBIMOD = KBI detection mode: 0=edge only
                 ||+----- KBIE   = KBI int enable: 1=enabled
                 |+------ KBACK  = KBI int acknowledge: 1=clr IRQF
                 +------- KBF    = KBI flag
*/
}

SCI

void InitSCI(word baud) {

  SCI1BD = baud;  // set baud
} //end InitSCI


Funciones para la transmisión y recepción de datos SCI

char RecChar(void) {
byte rec_char;

if (SCI1S1_RDRF)  
rec_char = SCI1D;  
SCI1C2_RE = 1;    
while(!SCI1S1_RDRF){  };
rec_char = SCI1D; 
SendChar((char) rec_char);
return (char) SCI1D;
} //end RecChar