sdf107 发表于 2008-9-4 14:32:10

帮我写个nec9222的串口发送的例子,无校验位,波特率38400,8个数据位,1个终止位

最主要的就是起始条件,lin模式发送是默认的吗?感觉那个datasheet说得不清啊!!lin模式怎么进入,怎么退出!帮我写个nec9222的串口发送的例子,无校验位,波特率38400,8个数据位,1个终止位

sdf107 发表于 2008-9-4 14:33:36

看看我的起始条件,还少什么啊?        P4.3=1;
        PM4.3=0;

        CKSR6=0x00;
    BRGC6=0x82;
    TXE6=0;
    RXE6=0;
    ASIM6.2=1;/*8wei*/
        ASICL6.0=0;
        ASICL6.1=1;

        IF0=0;
        IF1=0;
        MK0=0xff;
        MK1=0xff;
        POWER6=1;
        TXE6=1;
        RXE6=0;

/*TXB6=dat;*/



/*if(ASIF6&0x02==0)*/

/*delay_1us(1);
        /*while(TXE6==0);*/
               
                /*
                TXE6=0;
                POWER6=0;
               
                ASIM6.2=1;       
       BRGC6=0x82;
P4.3=1;
       
PM4.3=0;
       POWER6=1;
TXE6=1;
               
               
                */
                TXB6=dat;
       
       
        /*delay_1us(1);while(TXE6==0);*/
                TXE6=0;
                POWER6=0;

RENESAS-etouch 发表于 2008-9-4 15:52:06

你好。
你是想用UART6做普通串口吧?

使用UART6是默认的串口,如果你想用做支持LIN总线,那么你就要用UART6和一个外部中断以及一个定时器根据LIN总线协议来仿LIN总线通信。

下面是我以前做给客户写的一个测试软件,用UART6做普通UART用的、
点击此处下载 ourdev_401516.rar(文件大小:13K) (原文件名:9222uart.rar)

sdf107 发表于 2008-9-4 16:49:23

十分感谢你的程序,但是经过示波器的测量有问题啊,不是我所想要的波特率,这款单片机的波特率有什么特别的地方吗?我就要38400这个波特率,CKSR6=0x00; BRGC6=0x82; 这样设有问题吗

RENESAS-etouch 发表于 2008-9-4 17:40:15

请问你注意使用的晶振,以及波特率计算公式:波特率 = FXCLK6/(2*K),请注意这里要乘2.

具体设置步骤以及设置寄存器的情况如下:
http://cache.amobbs.com/bbs_upload782111/files_10/ourdev_401796.JPG
(原文件名:UART设置步骤.JPG)

http://cache.amobbs.com/bbs_upload782111/files_10/ourdev_401797.JPG
(原文件名:寄存器设置情况.JPG)

RENESAS-etouch 发表于 2008-9-4 17:45:44

如果串口是使用中断方式控制的话,请再参照中断一章
页: [1]
查看完整版本: 帮我写个nec9222的串口发送的例子,无校验位,波特率38400,8个数据位,1个终止位