打印

求教68013串口的问题

[复制链接]
2757|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
付小小苏|  楼主 | 2013-6-7 16:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想要使用68013做一个数据采集卡,68013工作在slave fifo模式,单片机采集到的数据通过68013送到PC,PC发送的命令到达68013之后,通过串口发送给单片机。但是现在只能把串口1的波特率设为115200,我想把波特率设为38400,编译通过之后不能发送数据,甚至连USB Console里面的Configuration Interfaces都发生了变化,各个端点都不再是我自己的设置,求教大神,我彻底没辙了,感激不尽。。。
波特率115200时候的代码:
    SCON1 = 0x53;
    SMOD1 = 0;
    UART230 = 0x02;  
波特率改为38400时候的代码:
    TMOD = (TMOD & 0x0F) | 0x20;     // 设置定时器1工作方式2,自动重载方式  
    CKCON |= 0x10;           //T1M = CLKOUT/4
    PCON |= 0x80 ;                // 设置SMOD0=1,波特率加倍
    EICON |= 0x80;                // 设置SMOD1=1,波特率加倍  
    SCON1 = 0x50;      // 设置串行口1工作方式1,10位异步收发,REN=0,允许接收。RI1=0,TI1=0
    TH1  = 0xEC;           // 设置定时器1的初值      
    TL1  = 0xEC;
    ES1 = 1;          //允许串口1中断
    TR1 = 1;
    EA = 1;  

相关帖子

沙发
lbr_gao| | 2013-6-7 18:50 | 只看该作者
晶振设置的多少?

使用特权

评论回复
板凳
dqyubsh| | 2013-6-7 22:27 | 只看该作者
你先确定一下slave fifo模式下的8051还能否工作,然后再试其它的。这种模式主要用于快速的USB通讯,绕过了8051。你再写其它函数恐怕会把8051累死。

以前测试68013的高速串口,基本上开了串口,别的事就干不动了。你可以先关了其它功能,只试试高速串口通讯。

应该说,这款芯片的USB能力很强,其它功能受制于8051和KEIL臃肿的编译代码,表现力差强人意。

使用特权

评论回复
地板
qin552011373| | 2013-6-8 09:35 | 只看该作者
换用高级一点的芯片吧  

使用特权

评论回复
5
付小小苏|  楼主 | 2013-6-8 09:38 | 只看该作者
lbr_gao 发表于 2013-6-7 18:50
晶振设置的多少?

晶振是24M的,但是CPU时钟是设置的48M,现在可以传数据,但是传过来全是错的,不管什么数据传过来都是0

使用特权

评论回复
6
lbr_gao| | 2013-6-8 17:46 | 只看该作者
按照48M的来算波特率 传输发送两端波特率是否相同?
之前有碰到过传递1时,不为1,测试后面发现传送瞬间电压值有跳变1,之后又返回0,所以检查下你的程序。
另外,有没有用过纯51单片机测试过你的程序?

使用特权

评论回复
7
xuyaqi| | 2013-6-12 20:51 | 只看该作者
楼主用slave fifo方法不对,既然通过usb与上位机通信何必再用串口,slave fifo管道6是向pc送数据,管道2是pc向下位机送数据。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

8

帖子

0

粉丝