4270|9

29

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

MSP430FG4619通过usci_spi与LCD的通信问题,大神们帮帮忙 [复制链接]

大家好,我第一次用MSP430FG4619这么高端的芯片,也第一次做LCD的东西,很多地方不懂,请大家多指教。
我现在遇到一些问题,请大家帮我指点一下,先谢谢了
1. 我用的LCD是采用4 pin SPI,那我设置芯片也应该设置为4 pin SPI吗?还是3 pin SPI也行?

2. SOMI没有连任何地方,因为MCU不会从LCD读取数据,这样没问题吧?

3. 我用的SPI是P7的USCI_A0, 连接如下
  * P7.0 STE -- Chip Select .
  * P7.1 SDO  -- serial data out (MOSI for master)
  * P7.3 SCL -- serial clock
  * P7.4 A0 -- Command/Data (GPIO)
  * p7.5 RESET  (GPIO)
  怎样在程序中设置STE为0?因为我设置的4 pin SPI是 slave low active, STE为0的时候才能选择LCD。这里还有一个问题,如果设置了slave active了,那么master就inactive,那master还能传输数据给slave?

4.我认为我的clock有问题,程序设置中我用了UCA0CTL1 |= UCSSEL_2;  也就是选择SMCLK,那么P7.3上应该有输出clock吧,但是我在示波器上测试显示图像很奇怪,只有40多HZ而且还很不稳定,duty cycle大概有90%
   我该怎么设置这个clock啊,还有 UCA0BR0, UCA0BR1,UCA0MCTL这几个该怎么设置啊?
   这里我还有点疑惑,P7.3的描述是:GPIO/外部时钟输入-USCI_A0/UART or SPI mode, 时钟输出-USCI_A0/SPI mode/LCD segment 30
   那么当我用P7SEL |=0x08, 我到底选择的是哪一个啊?

5. 任何放入UCA0TXBUF的数据都会被自动传输吗?是通过P7.1 MOSI吗?

暂时想到这些问题,麻烦大家帮我一下,谢谢!

最新回复

1. 有几点楼主要注意,同时也给楼上的几位讲一下:    所谓的SPI 4线和3线,有两种不同的情况,一种情况是4线比3先多一个SET口线。第2种情况是3线复用MISO和MOSI, 把这两个线合并为了DATA口线。   如果是第一种情况,楼主是可以省去SET管脚的,如果是第二种情况,楼主是不能设置为3线制的。而且我个人认为第二种情况的可能性居多。 2. 如果MCU不需要读LCD读数据,这样连是可以的,但除非是你口线确实不够用了,建议你还是把这个线连上,因为我们很多LCD模块驱动芯片是不一样的,当驱动芯片更换了后,可能带来一些初始化的操作变化,而大多数的LCD模块都能通过口线读取驱动器的型号,这样的设计更科学也更合理。  详情 回复 发表于 2012-3-28 21:25
 
点赞 关注

回复
举报

29

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
顶一下,谁来帮帮我啊
 
 

回复

424

帖子

0

TA的资源

纯净的硅(高级)

板凳
 
问题很多啊!哈哈。
1. 我用的LCD是采用4 pin SPI,那我设置芯片也应该设置为4 pin SPI吗?还是3 pin SPI也行?
都可以的。STE是片选从机,加一个IO用于接到LCD的CS上去用于片选。。
2. SOMI没有连任何地方,因为MCU不会从LCD读取数据,这样没问题吧?
这个通信时单向的,所以没关系的

[ 本帖最后由 鸵鸟蝈蝈 于 2012-3-28 17:49 编辑 ]
 
 
 

回复

424

帖子

0

TA的资源

纯净的硅(高级)

4
 
3. 我用的SPI是P7的USCI_A0, 连接如下
* P7.0 STE -- Chip Select .
* P7.1 SDO -- serial data out (MOSI for master)
* P7.3 SCL -- serial clock
* P7.4 A0 -- Command/Data (GPIO)
* p7.5 RESET (GPIO)
怎样在程序中设置STE为0?因为我设置的4 pin SPI是 slave low active, STE为0的时候才能选择LCD。这里还有一个问题,如果设置了slave active了,那么master就inactive,那master还能传输数据给slave?

P7.0 STE做IO功能,拉低P7.0用于片选即可
 
 
 

回复

188

帖子

0

TA的资源

纯净的硅(中级)

5
 

回复 楼主 chenc_44 的帖子

建议查看MSP430F5529的EVM demo code, 里面包括SPI与LCD这个模块。你的问题都是关于SPI的基本问题,拿一些demo code 好好分析是最好的。
 
 
 

回复

13

帖子

0

TA的资源

一粒金砂(中级)

6
 
4.我认为我的clock有问题,程序设置中我用了UCA0CTL1 |= UCSSEL_2; 也就是选择SMCLK,那么P7.3上应该有输出clock吧,但是我在示波器上测试显示图像很奇怪,只有40多HZ而且还很不稳定,duty cycle大概有90%

P7.3上的CLOCK只有在通信的时候才有输出的,没有数据传输P7.3就为高电平或低电平,示波器上看到的可能是50Hz的空间电磁波干扰,把示波器和板子共地干扰应该就没了。

5. 任何放入UCA0TXBUF的数据都会被自动传输吗?是通过P7.1 MOSI吗?

应该是自动发送的,用户手册里有解释,建议好好看看用户手册~~
 
 
 

回复

29

帖子

0

TA的资源

一粒金砂(中级)

7
 

回复 4楼 鸵鸟蝈蝈 的帖子

谢谢你的回复!
你意思是把STE设为GPIO?不用SEL来选peripheral?那这样是不是就是3pin spi啦?
P7DIR和P7SEL能同时选一个pin?
 
 
 

回复

29

帖子

0

TA的资源

一粒金砂(中级)

8
 

回复 6楼 ~遥望~ 的帖子

我是程序运行时测试的,应该不是电磁干扰,可以看出是square wave,频率低duty cycle很大,从来没见过
如果停止程序,P7.3是高电平
 
 
 

回复

400

帖子

0

TA的资源

五彩晶圆(中级)

9
 
1. 有几点楼主要注意,同时也给楼上的几位讲一下:
   所谓的SPI 4线和3线,有两种不同的情况,一种情况是4线比3先多一个SET口线。第2种情况是3线复用MISO和MOSI, 把这两个线合并为了DATA口线。
  如果是第一种情况,楼主是可以省去SET管脚的,如果是第二种情况,楼主是不能设置为3线制的。而且我个人认为第二种情况的可能性居多。

2. 如果MCU不需要读LCD读数据,这样连是可以的,但除非是你口线确实不够用了,建议你还是把这个线连上,因为我们很多LCD模块驱动芯片是不一样的,当驱动芯片更换了后,可能带来一些初始化的操作变化,而大多数的LCD模块都能通过口线读取驱动器的型号,这样的设计更科学也更合理。
 
 
 

回复

29

帖子

0

TA的资源

一粒金砂(中级)

10
 

回复 9楼 Triton.zhang 的帖子

你好,我用的LCD确实是没有多余的pin来连MISO了,datasheet上也没有连接MISO

顺便问一下,我程序一开头有这么一段:
  do   
  {   
    IFG1 &= ~OFIFG;                         // 清晶振失效标志位   
    for (i = 0x47FF; i > 0; i--);           // 延时   
  }   
  while (IFG1 & OFIFG);                     // 晶振失效标志位仍存在?

这个意思是等待晶振稳定吗?但是我的程序就一直在这里循环,进行不下去,是内部晶振问题吗?谢谢
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
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
快速回复 返回顶部 返回列表