本帖最后由 牛东 于 2015-5-21 15:04 编辑
正在做一个无刷驱动程序,想到独立波特率发生器作串口通信,程序怎么都不成功,借鉴网上的程序也不行!!(注:用T1串口就可以)
#include<reg51.h> //包含文件预处理命令
//-------------------------串口独立波特率发生器的特殊寄存器地址定义--------------------------------
sfr AUXR=0x8E;
sfr BRT=0x9C;
//================================================
//使用串口独立波特率发生器
void uart_init()
{
//(注:用T1串口就可以)
/*SCON=0x50;
TMOD=(TMOD&0x0f)|0x20;
TH1=TL1=0xFD; //11.0592M 9600
TR1=1;*/
//用此段就不行!!
SCON=0x50;
AUXR=0x11;
BRT=0XFD; //11.0592M 9600
}
//=============================================
void send_byte(u8 dat)
{
SBUF=dat;
while(!TI); //等待TI变为1
TI=0; //TI清0
}
//==========================主函数===============================
void main()
{
uart_init();
while(1)
{
send_byte(get_ad_data(ch));
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>