scuyxs 发表于 2008-10-3 11:42:04

请教UART6的问题。【恢复】

我写了一段程序,想让单片机与主机进行通信,单片机型号是NEC78F0822,将单片机的TXD6脚和RXD6脚通过电阻串成一根线,然后用MAX232、RS232和主机相连,不知道这段程序什么地方出现了问题,望高手指点。

#pragma sfr

#pragma di

#pragma ei

#pragma nop

#define uint unsigned int

#define uchar unsigned char

#define RXD6 P1.2

#define TXD6 P1.3

uchar rdata,rdata1,rdata2;

void delay(uint Z)

{

        uint x,y;

        for(x=Z;x>0;x--)

                for(y=200;y>0;y--);

}

void init_CPU(void)    

{

        DI();

        PCC=0;

        RCM=0x01;

        MOC=0;

        WDTM = 0x7f;

        MCM=0x03;



}        

void init_UART()

{

        PM1.2=1;

        PM1.3=0;

        CKSR6=0x02;

        BRGC6=104;

        ISC=0x0f;

        ASICL6.1=1;

        ASICL6.0=0;

        SRIF6=0;

        SRMK6=0;

        STIF6=0;

        STMK6=0;

                

}

void UART_send(uchar data)

{

        ASIM6=0xC4;

        TXB6=data;

        while(!STIF6);

        STIF6=0;

        NOP();

}

uchar UART_read(void)

{

        ASIM6=0xA4;

        while(!SRIF6);

        rdata=RXB6;

        SRIF6=0;

        return(rdata);

        NOP();

}        

void main()

{

        init_CPU;

        init_UART;

        rdata1=UART_read();//读取电脑发过来的数据

        delay(200);

        rdata2=rdata1+1;  //将数据加1后发出

        delay(200);

        UART_send(rdata2);

        delay(200);        

        UART_send(rdata2);

        delay(200);                

        UART_send(rdata2);

        delay(200);                

        UART_send(rdata2);

        delay(200);                

        UART_send(rdata2);

        delay(200);                

                

}

zghycc 发表于 2008-12-15 20:37:58

你好像没开中断,不用开啊?!

scuyxs 发表于 2008-10-4 14:30:18

是的,就是通过电阻后连在一起,我就是按照设置步骤过来的,但就是通不过啊

RENESAS-etouch 发表于 2008-10-4 14:24:55

“将单片机的TXD6脚和RXD6脚通过电阻串成一根线”你这句话怎么理解呢?是将TXD6和RXD6两个线连载一起吗?

对于NEC串口不能正常通信的问题,基本出在设置串口波特率上。你可以看看数据手册,上面有设置步骤。



TO tarzar M48

NEC的单片机有些串口名叫做“UART 6”,并不意味着他是第6个串口,一个命名而已

tarzar 发表于 2008-10-3 15:43:12

NEC78F0822



啊,有6个串口啊?
页: [1]
查看完整版本: 请教UART6的问题。【恢复】