#include <pic.h>
#include <xc.h>
#pragma config FOSC = HS // Oscillator Selection (HS Oscillator, High-speed crystal/resonator connected between OSC1 and OSC2 pins)
#pragma config WDTE = OFF
unsigned char word;
unsigned char error=0x00;
void get()
{
// if(FERR == 1)//数据帧错误
// {
// SPEN = 0;
// SPEN = 1;
// }
// if(OERR == 1)//溢出错误
// {
// CREN=0 ;
// CREN=1 ; //接收模块被复位重置,OERR清零
// }
if(PIR1bits.RCIF == 1)
{
word = RCREG;
//while(RCIF);
}
}
void main()
{
ANSELC = 0X00;
SYNC = 0; //异步操作
TX9 = 0; //8位数据
BRGH = 1; //高波特率选择位:高速
BRG16 = 1; //使用16位波特率发生器
SPBRG = 207;
SPEN = 1; //将RCSTA寄存器的SPEN位置1使能EUSART并自动将TX/CK I/O引脚配置为输出
TXCKSEL = 1; //rc4tx/ck功能
RXDTSEL = 1; //RC5上具有RX/DT功能
CREN = 1; //使能接收
TXEN = 1; //使能发送
TXIE = 0; //发送不需要中断处理
RCIE = 0; //接收bu需要中断处理
TRISCbits.TRISC4 = 1;
TRISCbits.TRISC5 = 1;
while(1)
{
get();
}
}
另一个单片机一直发送数据,这个是单片机pic16f1829的接收程序,怎么接收不到啊,哪里有错误吗?请各位大神帮助一下,多谢了
此帖出自
小平头技术问答
一周热门 更多>