|
发表于 2014-10-8 22:54:18
|
显示全部楼层
void Init_Usart(void)
{
TRISCbits.TRISC6 = 1;
TRISCbits.TRISC7 = 1;
TXREG = 0x00;
RCREG = 0x00;
TXSTA = 0b00100110;
RCSTA = 0b10010000;
BAUDCON = 0b01001000;
#if 1
SPBRGL = CAL_BAUDRATE_L();
SPBRGH = CAL_BAUDRATE_H();
#else
SPBRGL = ((uint16_t)(_XTAL_FREQ/(4*BAUDRATE)-1))%256;
SPBRGH = ((uint16_t)(_XTAL_FREQ/(4*BAUDRATE)-1))/256;
#endif
PIR1bits.RCIF = 0;
PIE1bits.RCIE = 1;
}
void Usart_Tranmit(uint8_t *ucData, uint8_t ucLen)
{
uint8_t i;
for(i=0; i<ucLen; i++)
{
TXREG = *ucData++;
while(!PIR1bits.TXIF);
}
}
发个范例仅供参考,有问题概不负责。
|
|