📄 mac2.c
字号:
#include "tcptask.h"
#include "mac2.h"
#define USART_USE_BRGH_LOW
#if defined(USART_USE_BRGH_LOW)
#define SPBRG_VAL ( ((CLOCK_FREQ/BAUD_RATE)/64) - 1)
#else
#define SPBRG_VAL ( ((CLOCK_FREQ/BAUD_RATE)/16) - 1)
#endif
#if SPBRG_VAL > 255
#error "Calculated SPBRG value is out of range for currnet CLOCK_FREQ."
#endif
#define STARTUP_MSG "DXT TEST V1.00"
void IniPortA(void)
{
#ifdef USE_DEMO
TRISA=0;//porta output
PORTAbits.RA2=1;//D5,D6 black
PORTAbits.RA3=1;
PORTAbits.RA4=0;//D4 light
#endif
OpenUSART(USART_TX_INT_OFF&
USART_RX_INT_OFF&
USART_ASYNCH_MODE&
USART_EIGHT_BIT&
USART_CONT_RX&USART_BRGH_LOW,SPBRG_VAL);//0x40);
}
void InitializeBoard(void)
{
/*
* Setup for PORTA.RA0 as analog input while rests
* as digital i/o lines.
*/
ADCON1 = 0b10000010; // RA0 as analog input, Right justified
TRISA = 0x03;
/*
* LCD is enabled using RA5.
*/
PORTAbits.RA5 = 0; // Disable LCD.
/*
* Turn off the LED's.
*/
LATA2=1;//LATAbits.LATA2 = 1;
LATA3=1;
/*
* External data EEPROM needs pull-ups, so enable internal
* pull-ups.
*/
INTCON2bits.RBPU = 0;
TXSTA = 0b00100000; // Low BRG speed
RCSTA = 0b10010000;
SPBRG = 32;
T0CON = 0;
INTCONbits.GIEH = 1;
INTCONbits.GIEL = 1;
}
unsigned char woEERead(unsigned int add)
{
unsigned char i;
i=add;
EEADR=i;
//i=add>>8;
//EEADRH=i;
EECON1bits.EEPGD=0;
EECON1bits.CFGS=0;
EECON1bits.RD=1;
i=EEDATA;
return i;
}
void woEEWrite(unsigned int add,unsigned char data)
{
unsigned char i;
i=add;
EEADR=i;
//i=add>>8;
//EEADRH=i;
EEDATA=data;
EECON1bits.EEPGD=0;
EECON1bits.CFGS=0;
EECON1bits.WREN=1;
INTCONbits.GIE=0;
EECON2=0x55;
EECON2=0xAA;
EECON1bits.WR=1;
while(!PIR2bits.EEIF);
PIR2bits.EEIF=0;
EECON1bits.WREN=0;
INTCONbits.GIE=1;
}
void woEEinf()
{
woEEWrite(0x0001,192);
woEEWrite(0x0002,168);
woEEWrite(0x0003,23);
woEEWrite(0x0004,98);
woEEWrite(0x0005,0x00);
woEEWrite(0x0006,0x04);
woEEWrite(0x0007,0xa3);
woEEWrite(0x0008,0x00);
woEEWrite(0x0009,0x09);
woEEWrite(0x000a,0x53);
woEEWrite(0x000b,0);
woEEWrite(0x000c,50);
woEEWrite(0x000d,192);
woEEWrite(0x000e,168);
woEEWrite(0x000f,23);
woEEWrite(0x0010,99);
woEEWrite(0x0011,0x00);
woEEWrite(0x0012,0x04);
woEEWrite(0x0013,0xa3);
woEEWrite(0x0014,0x00);
woEEWrite(0x0015,0x09);
woEEWrite(0x0016,0x55);
woEEWrite(0x0017,1);
woEEWrite(0x0018,51);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -