|
STC片子串口1使用独立波特率发生器数据传输不到.
[复制链接]
- #include
- #include
- sfr AUXR = 0x8E;
- sfr AUXR1 = 0xA2;
- sfr BRT = 0x9C;
- //#define RELOAD_COUNT 0xFC //9600
- //外部晶振:14.7456M
- void
- init_comm()
- {
- SCON=0x50; //模式1,8位UART 波特率可变
- PCON=0x00; //SMOD=0
- BRT=0xFC; //9600
- // AUXR1=0x80; //p1作为串行口
- AUXR=0x11; //BRTX12=0;BRTR=1;BRTX12=1;
- ES=1;
- EA=1;
- }
- /*
- void init_comm()
- {
- SCON=0x50;
- PCON=0x00;
- TMOD=0x20;
- TH1=0xFD;
- TL1=0xFD;
- TR1=1;
- ES=1;
- EA=1;
- }
- */
- void
- send_pc(unsigned char ch)
- {
- ES=0;
- TI=0;
- SBUF=ch;
- while(TI==0);
- TI=0;
- ES=1;
- }
- void
- main()
- {
- init_comm();
- send_pc(0x55);
- send_pc(0x56);
- while(1)
- ;
- }
- void
- ISR_comm(void) interrupt 4
- {
- unsigned char ch;
- if(RI)
- {
- RI=0;
- ch=SBUF;
- send_pc(ch+1);
- }
- }
复制代码
如果是波特率不正确的话 应该接受到数据是乱码吧?但是现在什么都没有,一开始发的55 56 也上不到pc
|
|