hukai 发表于 2013-10-17 12:53:44

有人用bascom驱动过北京迪文DGUS屏的吗?

   我想用M16驱动迪文的DGUS屏,搞了好久没成功,有成功的吗?谢谢!

箫天 发表于 2013-10-17 19:07:40

肯定能驱动,把迪文DGUS屏的接口协议发上来。

hukai 发表于 2013-10-17 19:50:47

指令说明,谢谢!

hukai 发表于 2013-10-17 19:53:20

http://www.dwin.com.cn/down/html/?56.html 这是开发指南,文件太大附件不能上传,请你去迪文网站下,先谢了!

箫天 发表于 2013-10-17 21:23:59

大概看了看,好象没什么难度。

hukai 发表于 2013-10-17 21:34:42

:L 现在能上传数据到屏,但读屏变量不行,“input”;“inputhex”;”inkey“都不行,我搞来了好几天,水平不行。

箫天 发表于 2013-10-17 22:00:28

按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.
另外一种方法是用串口接收中断。

inkey读时,变量要为byte型,不能为string型。

hukai 发表于 2013-10-17 22:03:33

$regfile = "m16def.dat"
$crystal = 8000000
$baud = 57600
$hwstack = 32
$swstack = 10
$framesize = 40

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:30

访问数据存储器、访问控制寄存器,PDF里写得很清楚了。

hukai 发表于 2013-10-17 23:33:35

我现在的最大问题是怎样读出完整的十六进制变量,我用迪文提供的串口连接线直接可以读出“5A A5 06 83 00 13 01 00 01” 00 01就是键值,不需要访问控制寄存器的。

箫天 发表于 2013-10-18 06:45:21

这是读数据存储区返回的应答数据,从0013地址开始读一个数据,返回0001。
还是不明白你你现在的最大问题,完整的十六进制变量是什么意思。

hukai 发表于 2013-10-18 08:22:56

可能我描述的不够清楚,我要说的是怎样去读这存储区的数据。

箫天 发表于 2013-10-18 08:40:50

先写读数据区命令串,然后等待屏返回的回应数据。

hukai 发表于 2013-10-18 09:13:40

屏返回的是“5A A5 06 83 00 13 01 00 01” 这是用电脑串口读到的,问答题是我怎样读出这些,用哪个函数,谢谢!

箫天 发表于 2013-10-18 09:51:01

在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.
另外一种方法是用串口接收中断。

inkey读时,变量要为byte型,不能为string型。

hukai 发表于 2013-10-18 10:33:24

你好!试过“var = ISCHARWAITING()”不行,屏返回的是“5A A5 06 83 00 13 01 00 01”,而我只要“00 01”。
我给你发消息了,谢谢!

箫天 发表于 2013-10-18 11:20:46

你需要再细看看PDF。
怎么处理数据是要编程序实现的。

gxlwq 发表于 2014-1-4 20:56:07

var = ISCHARWAITING()用数组来做。5A A5 06 83 00 13 01 00 01做九个数组来接收可以
页: [1]
查看完整版本: 有人用bascom驱动过北京迪文DGUS屏的吗?