https://static.assets-stash.eet-china.com/album/old-resources/2008/12/30/53005ce5-a9e8-4b65-b8e1-f9a4141cc331.rar
采用PIC18F452,主要是设置发送状态寄存器和接收状态寄存器。
波特率设置对了,一切都OK了。
我用的是高速异步通信,波特率为 9600;所以SPBRG中的值可以通过公式4000000/[16(X+1)]算出来为25,十六进制为19h
#include <pic18.h>
#include <pic18fxx2.h>
void delay()
{
unsigned int i;
for(i=0;i<100;i++)
{
continue;
}
}
void InitUART();
void main()
{
InitUART();
while(1)
{
TXREG=0x1a;
delay(10);
}
}
void InitUART()
{
SPBRG="0x19"; //9600
TXSTA="0x24"; //8 Bit,异步,发送使能
RCSTA="0x94"; //串口使能
TRISC6=1;
TRISC7=1;
RCIE="1";
PEIE="1";
SPEN="1";
return;
}
不知为什么,把程序复制上去之后,有的数字自动加双引号了,所以还是打包上传上去吧!
文章评论(0条评论)
登录后参与讨论