原创 今天把串口发送程序调通了!

2008-12-30 20:50 4622 6 6 分类: MCU/ 嵌入式

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条评论)

登录后参与讨论
我要评论
0
6
关闭 站长推荐上一条 /2 下一条