标题: 有人用bascom驱动过北京迪文DGUS屏的吗? [打印本页] 作者: hukai 时间: 2013-10-17 12:53 标题: 有人用bascom驱动过北京迪文DGUS屏的吗? 我想用M16驱动迪文的DGUS屏,搞了好久没成功,有成功的吗?谢谢! 作者: 箫天 时间: 2013-10-17 19:07
肯定能驱动,把迪文DGUS屏的接口协议发上来。作者: hukai 时间: 2013-10-17 19:50
指令说明,谢谢! 作者: hukai 时间: 2013-10-17 19:53 http://www.dwin.com.cn/down/html/?56.html 这是开发指南,文件太大附件不能上传,请你去迪文网站下,先谢了!作者: 箫天 时间: 2013-10-17 21:23
大概看了看,好象没什么难度。作者: hukai 时间: 2013-10-17 21:34
现在能上传数据到屏,但读屏变量不行,“input”;“inputhex”;”inkey“都不行,我搞来了好几天,水平不行。作者: 箫天 时间: 2013-10-17 22:00
按2进制方式读,你用的3个函数都不行。
一种方法是用var = ISCHARWAITING()进行判断,根据返回值var判断是否有数据。如果有,用inkey读出。
If there is no character waiting, a zero will be returned.
If there is a character waiting, a one (1) will be returned.
另外一种方法是用串口接收中断。
Dim A As Word , B As Word , C As Byte , T As Word ,
Do
Waitms 200
Incr T
If T > 900 Then T = 0
If T <= 255 Then C = &H00
If T > 255 And T < 511 Then C = &H01
If T > 511 And T < 767 Then C = &H02
If T > 767 And T < 1023 Then C = &H03
Waitms 5
Printbin &H5A ; &HA5 ; &H05 ; &H82 ; &H00 ; &H10 ; C ; T '向0x0010写数据
Loop
End
那指令说明上的帧头描述是错的。这是上传数据到屏的部分程序,读屏变量不知怎么下手,屏上输出数据是十六进制数据”5A A5 06 83 00 13 01 00 01”。谢谢你能帮我!作者: 箫天 时间: 2013-10-17 22:45
访问数据存储器、访问控制寄存器,PDF里写得很清楚了。作者: hukai 时间: 2013-10-17 23:33
我现在的最大问题是怎样读出完整的十六进制变量,我用迪文提供的串口连接线直接可以读出“5A A5 06 83 00 13 01 00 01” 00 01就是键值,不需要访问控制寄存器的。作者: 箫天 时间: 2013-10-18 06:45
这是读数据存储区返回的应答数据,从0013地址开始读一个数据,返回0001。
还是不明白你你现在的最大问题,完整的十六进制变量是什么意思。作者: hukai 时间: 2013-10-18 08:22
可能我描述的不够清楚,我要说的是怎样去读这存储区的数据。作者: 箫天 时间: 2013-10-18 08:40
先写读数据区命令串,然后等待屏返回的回应数据。作者: hukai 时间: 2013-10-18 09:13
屏返回的是“5A A5 06 83 00 13 01 00 01” 这是用电脑串口读到的,问答题是我怎样读出这些,用哪个函数,谢谢!作者: 箫天 时间: 2013-10-18 09:51
在7楼跟你说过了。
按2进制方式读,你用的3个函数都不行。
一种方法是用var = ISCHARWAITING()进行判断,根据返回值var判断是否有数据。如果有,用inkey读出。
If there is no character waiting, a zero will be returned.
If there is a character waiting, a one (1) will be returned.
另外一种方法是用串口接收中断。