关于PIC串口通信的问题,请各位大侠指点
我用的是PIC16F688,我要使用内部晶振作为系统时钟,串口该如何配置。我的的时钟配置如下:void InitClok()
{
OSCCON=0x61;
}
串口配置如下:
//**********串口初始化***********/
void InitUart()
{
RCSTA = 0X90; //八位数据接收,连续接收
TXSTA = 0x24; //设定TXSTA寄存器。
SPBRG = 0x19; //4MHZ, BRGH=1, 9600BPS
TXEN=1; //发送允许
CREN=1; //接受数据允许
RCIE=1; //接收中断使能
GIE=1; //总中断允许*/
}
发送字节函数如下:
/**************************************************/
void TxData (uchar x)
{
TXREG=x; // write data x to SBUF
while(TRMT==0);
TRMT=1;
}
但是始终得不到正确的数据。应该是波特率不对吧,不知道如果配置了。请各位指教! 内部时钟误差比较大。做通信的话最好校准。 能给个具体的配置吗?就用内部时钟 回复【楼主位】tang470793988
-----------------------------------------------------------------------
内部时钟部分能详细描述一下吗? 回复【4楼】pyh162508
-----------------------------------------------------------------------
4M 楼主搞出了吗,我的也没有搞出来,我的PIC单片机是PIC16F73
页:
[1]