5663|13

69

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

求SC16IS762中关于通过SPI去控制UART读写的例子--急!!! [复制链接]

各位大哥,我现在要写关于SC16IS762 中通过SPI去控制UART读写的代码,我看过这颗IC的SPEC,上面有写怎样通过SPI去控制UART内部寄存器的格式,可是上面的UART内部寄存器很多,我不知道具体应该怎么去设置UART,例如初始化UART,还有uart读写,我写了一些代码初始化uart,可是好像不行,不知道哪里有问题,请各位高手帮我看看,还有不知有人用过这颗ic吗?有例子给我参考吗?我在这先谢谢啦!
我初始化uart的代码如下:
      // Ensure that UART interrupts are turned off.
        SPI1_Write(LCR,channel,0xBF);//使能EFR寄存器
         SPI1_Write(EFR,channel,0x00);//禁能
         SPI1_Write(IER,channel,0x00);
        SPI1_Write(LCR,channel,0x00);


     // Set the Baud Rate (Divisor low = UART_BAUD_38400).
        SPI1_Write(LCR,channel,0x80);
        SPI1_Write(DLL,channel,UART_BAUD_38400);
        SPI1_Write(DLH,channel,0x00);
        SPI1_Write(LCR,channel,0x00);
   
     //Setting UART properties to 8N1
        SPI1_Write(LCR,channel,0x03);//8 bits, 1 stop, no parity. Also LCR DLAB bit = 0.

        SPI1_Write(FCR,channel,0x01);// Enable the FIFO.
        SPI1_Write(FCR,channel,0x07);// Clear Rx,Tx FIFOs.

        SPI1_Write(IER,channel,0x00);// Don't enable UART interrupts

        SPI1_Write(MCR,channel,0x00);// UART is in normal mode.

最新回复

那应该怎么设置阿?我看cpu的寄存器里面只有SPH,SPO这两位是关于clk的阿? 还有你的code不知道找到没有啊?发给我看看吧 邮箱 Ma.Li-Yan@iac.com.tw  详情 回复 发表于 2009-1-13 14:52
点赞 关注

回复
举报

59

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
我没做过。不知道。
但有个建议,你是否可以把你写到UART寄存器中的设定值读出来。读出来看看和你想要设置的是否一致?
如果一致,再考虑你的设定是否有误?UART的设置,你可以参考你用的处理器上的UART的设置方式,我想都是差不多的吧。
如果不一致,那就要检查你的spi通信是否正确?
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
这个应该是SPI转串口的吧。

建议你现在ADS下测试成功,然后再放到PB下。

——这个问题,大家只能提示,哪能帮你搞定呢?据我所知,这个东西并不难的。
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

4
 

我没有想让别人帮我搞定,我现在就是搞不出来想来要点提示。现在都有点混乱拉,我看网上
上讲到SPI要设置成从模式,可是我是在CPU端设置SPI阿,这样设置SPI的时候也要设置成从模式吗?
唉,现在都不知道哪里有问题啦!改的我有点头痛拉,我就是想看有没有人用过这颗IC,有什么地方要注意的阿,参考阿!
我都搞了两天啦!

 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

5
 
是三星的ARM吗?如果是2440就可以参考提供的测试程序吧,记得有SPI的,先不要搞那么快先,先弄个SPI的例子看看一步一步来、、

我用的是并口转串口的,我看寄存器设置和你差不多。
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

6
 
我的是Marvell的ARM,是啊,我现在就是SPI这边读寄存器的值读不出来,还有CPU这边设置SPI的时候,到底是要设置成Master Mode 还是slave mode阿,还有那颗ic资料上说spi
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

7
 
我cpu这边spi写的时候
        while(v_pSSP3Regs->sssr & 0x10);
   
    v_pSSP3Regs->ssdr =writedata;//写命令
   
        while(v_pSSP3Regs->sssr & 0x10);
    v_pSSP3Regs->ssdr =data;//写数据到寄存器

    while(v_pSSP3Regs->sssr & 0x10);
读的时候
        while(v_pSSP4Regs->sssr & 0x10);

        v_pSSP4Regs->ssdr =writedata;//写命令

        while(v_pSSP4Regs->sssr & 0x10);

        readdata=v_pSSP4Regs->ssdr;//从寄存器里读数据
不知道这样写对不对阿
因为我现在先对一个寄存器写一个值,然后去读老是0,不对阿,帮我看看吧,这样写哪里有错阿?
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

8
 
怎么都没人啊?各位帮帮忙啊
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

9
 
用的Marvell的哪颗?270?300/310?
我们在270/300/310上都用SPI与WIFI模块通讯,也用总线与串口扩展芯片通讯(NXP,也是SC开头的,1扩4)。不过没用过SPI配串口扩展的。


IC仅有从模式,那么CPU就是设为Master Mode(主模式)。需要配置SPI_CLK频率和极性(上升沿读下降沿写,或者上写下读),需要将SPI_FRAME配为对应的片选脚(#CS,使能IC芯片),而SPI_CLK/SPI_FRAME/SPI_MOSI/SPI_MISO当然肯定要是特殊功能脚,而不能是GPIO。

先用示波器测试SPI的波形是否正确。
再看IC有了SPI输入后,是否有SPI数据输出(到CPU)。
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

10
 
我用的是300,你把你用SPI与WIFI模块通讯的code给我看看吧 邮箱:Ma.Li-Yan@iac.com.tw,还有个问题,就是ic上说要用SPI模式0,那我在设置cpu  sscr1寄存器的 SPH,SPO这两位是不是都应该是0阿?
还有  需要将SPI_FRAME配为对应的片选脚(#CS,使能IC芯片),这句是什么意思啊?怎么配置阿?
不是只要将SPI_CLK/SPI_FRAME/SPI_MOSI/SPI_MISO设置为特殊功能脚就可以了吗?
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

11
 
今天一直忙,现在才有时间看。code我明天找一下,将SPI init部分给你应该没问题。
IC说的 模式0是什么意思?对应的时序(波形)图有什么特殊吗?

FRAME配成特殊功能脚就是作为#CS了。
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

12
 
我有查过,模式0就是  the SCK signal is 0 when idle and transitions to 1 whenever doing a data transfer; and  the receiver latches the data on the first transition of SCK from idle state.
简单的说就是 clock is positive polarity and the data is latched on the positive edge of SCK
你能理解吗?我不知道SPH,SPO这两位是不是都应该是0阿?
我想看你的CODE是因为我想看看你得SPI init 和SPI write ,SPI read 是怎么写的,我总觉得自己有个什么地方没设置好,以至于老是读不到数据,你可以给我这三部分看看吗?非常感谢!
还有你用SPI与WIFI模块通讯这一份功能应该是实现了吧?

 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

13
 
spi的clk有上升沿有效或下降沿有效的配置。
你这个ic是将上升沿作为锁存数据的开始依据,就是每个上升沿从数据线上获取信号。
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

14
 
那应该怎么设置阿?我看cpu的寄存器里面只有SPH,SPO这两位是关于clk的阿?
还有你的code不知道找到没有啊?发给我看看吧
邮箱 Ma.Li-Yan@iac.com.tw
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
艾睿电子& Silicon Labs 有奖直播 | 全新蓝牙信道探测:从技术创新到实际应用
直播时间:3月12日(周三)上午10:00
直播奖励:多功能榨汁机、蓝牙音箱、手机支架

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表