帮我写个nec9222的串口发送的例子,无校验位,波特率38400,8个数据位,1个终止位
最主要的就是起始条件,lin模式发送是默认的吗?感觉那个datasheet说得不清啊!!lin模式怎么进入,怎么退出!帮我写个nec9222的串口发送的例子,无校验位,波特率38400,8个数据位,1个终止位 看看我的起始条件,还少什么啊? 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; 你好。
你是想用UART6做普通串口吧?
使用UART6是默认的串口,如果你想用做支持LIN总线,那么你就要用UART6和一个外部中断以及一个定时器根据LIN总线协议来仿LIN总线通信。
下面是我以前做给客户写的一个测试软件,用UART6做普通UART用的、
点击此处下载 ourdev_401516.rar(文件大小:13K) (原文件名:9222uart.rar) 十分感谢你的程序,但是经过示波器的测量有问题啊,不是我所想要的波特率,这款单片机的波特率有什么特别的地方吗?我就要38400这个波特率,CKSR6=0x00; BRGC6=0x82; 这样设有问题吗 请问你注意使用的晶振,以及波特率计算公式:波特率 = 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) 如果串口是使用中断方式控制的话,请再参照中断一章
页:
[1]