搜索
bottom↓
回复: 2

请教:MSP430通过SPI_B3和LCD进行通讯,显示数据时隐时现。

[复制链接]

出0入0汤圆

发表于 2018-8-31 17:45:23 | 显示全部楼层 |阅读模式
调试信息:
msp4305438a + iar7.12.1

调试现象:
msp430作为主机,lcd作为从机。使用轮询写入数据方式。希望lcd显示数据每秒钟刷新一次。
使用硬件debug,大概前3秒钟lcd上有数据显示,接着显示数据就丢失了,并且,断电后重新上电(不进入debug)lcd不显示数据,更不会刷新了。

调试代码:
主程序,CPU频率是24MHz
  1. void main()
  2. {   
  3.     board_init();
  4.    
  5.     spi3_init();  delay_ms(10);
  6.    
  7.     lcd_init();   delay_ms(10);
  8.    
  9.     while (1)
  10.     {
  11.       lcd_disp_cha(0, 0, 'a', LCD_FONT_8X16, LCD_LINE_OFF);
  12.       delay_ms(1000);
  13.       lcd_disp_cha(0, 0, 'b', LCD_FONT_8X16, LCD_LINE_OFF);
  14.       delay_ms(1000);
  15.     }
  16. }
复制代码


SPI配置(其实MISO引脚根本没有使用,因为不用从lcd读取数据)
  1. void spi3_init(void)
  2. {
  3.     P10DIR |= BIT0 + BIT4;

  4.     P10SEL |= BIT1 + BIT2 + BIT3;
  5.    
  6.     P10REN |= BIT0 + BIT1 + BIT2 + BIT3 + BIT4;
  7.    
  8.     UCB3CTL1 |= UCSWRST;     
  9.    
  10.     UCB3CTL0 |= UCSYNC + UCMST + UCMSB + UCCKPL;  
  11.    
  12.     UCB3CTL1 |= UCSSEL_2;  
  13.    
  14.     UCB3BR0 = 0x04;
  15.     UCB3BR1 = 0;   
  16.    
  17.     UCB3CTL1 &= ~UCSWRST;
  18. }

  19. SPI读写
  20. uint8_t spi3_rw_byte(uint8_t byte)
  21. {  
  22.     while ((UCB3STAT & UCBUSY)); __no_operation();
  23.    
  24.     UCB3TXBUF = byte;                  
  25.    
  26.     while ((UCB3STAT & UCBUSY)); __no_operation();
  27.    
  28.     return UCB3RXBUF;
  29. }
复制代码


调试问题:
1、如果是硬件连接或者寄存器配置问题,那么从一开始就不应该有数据显示。为什么会显示一会之后,数据才丢失呢?
2、断电后重新上电,lcd 连前3秒钟也没有数据显示,完全是一点反应都没有。这个现象该如何解释?

恳请指教,不胜感激!

出0入442汤圆

发表于 2018-8-31 18:55:52 来自手机 | 显示全部楼层
(1)lcd显示是可以持续一会儿的,然后液晶会慢慢去极化,然后变淡消失。(2)你spi太快了吧,降到100kbps以内再试试。

出0入0汤圆

 楼主| 发表于 2018-9-2 22:29:33 | 显示全部楼层
wye11083 发表于 2018-8-31 18:55
(1)lcd显示是可以持续一会儿的,然后液晶会慢慢去极化,然后变淡消失。(2)你spi太快了吧,降到100kbps ...

感谢阁下指教,不胜感激。

这个问题最终解决了。

实际原因:LCD复位引脚是低电平有效,而实际上该引脚我并没有连接,导致LCD模块处于一种近乎随机的状态。

解决办法:将该引脚设置为内部上拉即可。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-5 08:10

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表