马老师:VB控制3310显示的问题的 序问
我想控制3310的三行分别显示我用的是Textbox控件。
但是使用MScomm1.Output=textbox1.text 只能控制一行。
就是说我分别想控制另外2行。
请问马老师有什么好的方法?
-----此内容被fuhong于2005-04-24,16:43:32编辑过 不明白,VB与3310是什么关系?VB在PC上运行,3310如何控制? 呵呵,就是用串口。怪我没说清楚
我用M8控制3310
M8和PC的串口相联系。。。。。
VB编程控制3310的显示 需要自己定义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只提供硬件底层的功能,传送一个字节非常容易。但要真正会在实际中使用,还需要掌握更多的理论何基础知识的。 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]