yyslbh 发表于 2010-3-25 12:48:04

求780K/LF3 UART通讯程序

我用的单片机是78F0485,串口UART6 ,帮忙看看程序那里不对,内部振荡器8M,波特率9600

yyslbh 发表于 2010-3-25 12:48:52

void init ( )
{
    PF1   = 0x00;/*init led*/
        PM1.0 = 0;
        PM1.1 = 0;
        PU1.0 = 1;
        PU1.1 = 1;
       
                   
        PM11.3 = 1;    /*init uart6*/
        PM11.2 = 0;
        P11.2 = 1;
       
/*        ASIM6.7 = 0;
        ASIM6.5 = 0;
        ASIM6.6 = 0;*/
        CKSR6 = 0x05;
        BRGC6 = 0x1A;
        ASIM6 = 0x04;
        ASICL6.1 = 1;
        ASICL6.0 = 0;
       
        ISC = 0x80;
       

}

void main( void )
{
        init ( );
    ASIM6.7 = 1;
    ASIM6.6 = 1;       
        buf_t = 0x22;
       
       
       
        while ( 1 )
        {
             TXB6 = buf_t;
             
        /*       delay10ms( 200 );*/
        P1.1= !P1.1;
        P1.0= 0;
               
        }
}

需不需要判断中断?

newc 发表于 2010-3-25 14:12:50

CKSR6 = 0x06;//10MHZ下156.25k
BRGC6 = 0x41;//65分频,波特率=156.25K/65/2
ASICL6 |= 0x02;//LSB在前
ASICL6 &= ~(1<<0);//TXD正向
ISC |= 0x03;//选择为USART6
   ASIM6 = 0xFC;//1停止位 偶校验 8位数据接收错误产生INTSRE6中断
PM1 &= ~(1<<3);//PM13 = 0
P1|= (1<<3);
PM1 |= (1<<4);//PM14 = 1
P1|= (1<<4);

STMK6 = 0;
SRMK6 = 0;//开启串口接收,发送中断

这是我在用USRT6的时候初始化程序,可以用的。

yyslbh 发表于 2010-3-25 16:21:43

谢谢问题已经解决,就是现在只收的到第一个字符,还在修改中
页: [1]
查看完整版本: 求780K/LF3 UART通讯程序