您现在所在的是:

串口通信

回帖:1个,阅读:989 [上一页] [1] [下一页]
907
lenapu
文章数:2
年度积分:50
历史总积分:907
注册时间:2006/5/17
发站内信
发表于:2006/5/17 16:06:00
#0楼
我现在有一个计算机和一个单片机,在delphi 制作的PC界面中使用MSCOMM实现他们之间的通信。
我应用的是ADuC812的芯片,其内核是8052。我用的是UART接口通过MAX232ACSE(16)与PC机进行通信。通信方式是方式一,即:10位发送(通过TXD)或接收(通过RXD).一位起始位(0),8位数据位(lsb在前),一位停止位。
   其中单片机向pc机发送的数据是经A/D转换后的数据,由于其芯片的特征,数据的存储方式比较特别:模拟信号经过A/D转换变成12位的数字结果存储在特殊功能寄存器ADCDATA H/L中。就是要将这12位数据发送给电脑,第一次发送低八位,第二次发送高四位(其前边四位用零补足)。
   就是想问一下:利用mscom控件和delphi,如何接收这些数据,以及发送一些控制指令如00H给单片机!
知道的告诉一声,十分感谢!
邮箱:lenapu126.@126.com
907
lenapu
文章数:2
年度积分:50
历史总积分:907
注册时间:2006/5/17
发站内信
发表于:2006/5/18 11:06:00
#1楼
握手协议是这样的:
1)PC(通过串口)先向812发送“0xaa”,812回应,向PC发送“0xaa”;
2)再执行步骤1一次,无误,则握手成功。
3)PC向812发送明确指令,812按照指令执行相关操作。需发送的指令包括“预加激励的电极和测量电极确认”和“采样次数”。协议如下:
   1)PC先向812发送“0x84”,
   2)发送两个字节的“激励、测量电极确认指令”,发送2次,以确保指令无误。
   3)再发送一个字节的“采样次数指令”。
   4)812回应,分别将“电极确认”,“采样次数”两个命令发回PC,然后812开始执行相关指令。
   5)执行完毕,待机,等待新指令。  

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

31.2002