1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
/******************************************************************************
* *
* *
* *
* *
******************************************************************************/
#include <htc.h>
#define _XTAL_FREQ 4000000
__CONFIG (XT & WDTDIS & PWRTEN & BORDIS & WRTEN & LVPDIS & DUNPROT & DEBUGDIS);
unsigned char PR = 0;
void Init_port(void);
void Emet_Car(unsigned char caractere);
unsigned char inBuffer[32];
/******************************************************************************
* *
* *
* *
******************************************************************************/
int main(void)
{
int i;
int LOOP = 1;
Init_port();
while(LOOP)
{
for(i = 0;i < 4;i ++)
{
__delay_ms(100);
PORTB = inBuffer[i];
__delay_ms(100);
}
PR = 0;
Emet_Car(0x44);
Emet_Car(0x33);
Emet_Car(0x55);
}
return 0;
}
/******************************************************************************
* *
* *
* *
******************************************************************************/
void Init_port(void)
{
TRISC = 0b10000000;
TRISB = 0x00;
PORTB = 0x00;
SPBRG = 25;
TXSTA = 0b00100110;
RCSTA = 0b10010000;
RCIE = 1;
PEIE = 1;
GIE = 1;
}
/******************************************************************************
* *
* *
* *
******************************************************************************/
void Emet_Car(unsigned char caractere)
{
while(!TRMT) continue;
TXREG = caractere;
}
/******************************************************************************
* *
* *
* *
******************************************************************************/
static void interrupt isr(void)
{
if(RCIF)
{
inBuffer[PR++] = RCREG;
RCIF = 0;
}
} |
Partager