Intel 386 Manual do Utilizador Página 284

  • Descarregar
  • Adicionar aos meus manuais
  • Imprimir
  • Página
    / 691
  • Índice
  • MARCADORES
  • Avaliado. / 5. Com base em avaliações de clientes
Vista de página 283
10-41
TIMER/COUNTER UNIT
/*****************************************************************************
Example of how to write a new initial counter value to a timer
This value can be rewritten at any time without affecting the
Counter’s programmed mode.
Before writing an initial count value, the Control Word must be
configured for the proper R/W and Count formats.
-->This example assumes that Timer1 is in the R/W format of LSB first,
then MSB, and that the Count format is binary.
_SetEXRegByte(TMR1, InitialCountL);
_SetEXRegByte(TMR1, InitialCountH);
*****************************************************************************/
/****************************************************************************/
***Example of how to issue a Read Back command for Timer2, latching
both the status and the counter.
BYTE Status, CountL, CountH, RWmode;
WORD Count;
SetUp_ReadBack(0, 0, 1, 1, 1); //Configure Read Back command for timer2,
latching both status and count
Status = GetEXRegByte(TMR2);
RWmode = Status & 0x30; //Mask off bits that correspond to the Read/Write Mode
switch (RWmode) { //Read Counter Value according to configured R/W format
case 0x10: //Read/Write least significant byte only
Count = _GetEXRegByte(TMR2);
break;
case 0x20: //Read/Write most significant byte only
CountH = _GetEXRegByte(TMR2);
Count = (WORD)CountH << 8;
break;
case 0x30: //Read/Write LSB first, then MSB
CountL = _GetEXRegByte(TMR2);
CountH = _GetEXRegByte(TMR2);
Count = (((WORD)CountH << 8) + CountL);
break;
}
*****************************************************************************/
Vista de página 283
1 2 ... 279 280 281 282 283 284 285 286 287 288 289 ... 690 691

Comentários a estes Manuais

Sem comentários