完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,非常抱歉打扰大家了。 我在使用该款LCD时,由于单片机为MSP430G2,IO口较少,所以决定采用串行模式。然而,串行我能够往里面写数据写命令,这都没问题,但是读数据却不行。1.在IAR Watch中,观察到每次收到的数据都是0.
2.读数据和写数据(三个字节)时序是一样的,只是第一个字节需要把RW RS改一下对吧? 3.说明书确实有关于串行读数据的说明,也就是说LCD可以串行读数据。 4.如果真不能串行读数据,没法读数据就没法任意打点了,这个问题不知道有没有什么解决方案? 附件是LCD手册 下面是我的读数据的程序: uchar R_1byte(void) { LCD_CS_H; //CS置1 Write_8bits(0xfe); //串行操作每次需要三个字节 这是第一个字节 写入1111 1110 SID_IN; //数据SID位 置为输入 uint i,Temp_data=0x00; LCD_CLK_L; //CLK置低,接受高四位的第一位 //下面把高四位转移到Temp_data for(i=0; i<4; i++) { if(P1IN&BIT2) // (P1.2是数据SID位) 判断数据位是否为1 { Temp_data|=0x01 ; Temp_data=Temp_data<<1; LCD_CLK_H; //CLK = 1; LCD_CLK_L; // CLK=0 } else { Temp_data&=~0x00; Temp_data=Temp_data<<1; LCD_CLK_H; //CLK=1 LCD_CLK_L; // CLK = 0; } } for(i=0; i<4; i++) { LCD_CLK_H; LCD_CLK_L; } //四个时钟信号 //下面把低四位转移到Temp_data for(i=0; i<4; i++) { if(P1IN&BIT2) //判断对应位是否为0 { Temp_data|= 0x01 ; Temp_data=Temp_data<<1; LCD_CLK_H; LCD_CLK_L; } else { Temp_data&=~0x00; Temp_data=Temp_data<<1; LCD_CLK_H; LCD_CLK_L; } } for(i=0; i<4; i++) { LCD_CLK_H; LCD_CLK_L; } //四个时钟信号 LCD_CS_L; //CS置0完成读取 return Temp_data; }
|
|
相关推荐
5个回答
|
|
有没有考虑过给出的时钟信号太快了
|
|
|
|
在读取数据之前,或许还需要设置一下地址,应该是要指定读取数据的地址,还可以将读取的数据在液晶上显示,可以对照看看IAR里看到的数据对不对
|
|
|
|
|
|
|
|
如果有兴趣的话可以继续试试,也算是经验积累,你现在的时序是CLK低电平时读数据,看资料,可能是CLK上升沿数据就有效了,或许你该改成CLK置1后读数据
|
|
|
|
不用试了,串行堵不到任何东西。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-使用AHT20进行环境监测之AHT20传感器介绍
203 浏览 0 评论
761 浏览 0 评论
806 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
743 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
1195 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11806 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 19:30 , Processed in 0.781423 second(s), Total 81, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号