fuhong 发表于 2005-4-21 11:26:42

马老师:VB控制3310显示的问题的 序问

我想控制3310的三行分别显示

我用的是Textbox控件。

但是使用MScomm1.Output=textbox1.text 只能控制一行。



就是说我分别想控制另外2行。

请问马老师有什么好的方法?
-----此内容被fuhong于2005-04-24,16:43:32编辑过

machao 发表于 2005-4-21 13:18:06

不明白,VB与3310是什么关系?VB在PC上运行,3310如何控制?

fuhong 发表于 2005-4-21 14:06:07

呵呵,就是用串口。怪我没说清楚



我用M8控制3310

M8和PC的串口相联系。。。。。

VB编程控制3310的显示

machao 发表于 2005-4-21 15:27:35

需要自己定义RS-232的上层协议。



   如MScomm1.Output=“1”+ textbox1.text 表示显示在第一行,MScomm1.Output=“2”+ textbox1.text 表示显示在第二行。



   M8接收后,先判断第一个字节,如果为“1”,将后续的在第一行显示。



   一般RS-232的上层协议采用定长结构比较方便,如定义每次下发一个数据包,长度为9个字节,第一个字节表示要显示的行,后8个字节表示要显示的内容。



   一个好的RS-232的上层协议,会使系统软件编写方便,而且通信可靠。RS-232的上层协议要根据实际情况制定。



    这些应该学习有关通信和通信协议的课程,掌握基本的概念后才能真正能用好RS-232。AVR只提供硬件底层的功能,传送一个字节非常容易。但要真正会在实际中使用,还需要掌握更多的理论何基础知识的。

fuhong 发表于 2005-4-24 10:57:15

http://cache.amobbs.com/bbs_upload782111/files_1/armok0146782.JPG

马老师:这个我已经显示出来了

在VB上 我是这么写的

Private Sub Command1_Click()

buf = Trim(Text1.Text)

OutByte = StrConv(buf, vbFromUnicode)

MSComm1.Output = "s" + OutByte

End Sub



s表示第一行,StrConv计算它的字节数目。

不知这么编可以吗?

我现在就想请问马老师

M8上面我定义一个数组,但是我不知道该怎么定义,因为我要显示的东西是不定的。

if (RX_data == 's')

然后我调用LCD_write_english_string(41,0,"i");

其中的i就是我在VB   Text1控件中输入的内容。
页: [1]
查看完整版本: 马老师:VB控制3310显示的问题的 序问