登录
首页 串口通信 串口通信
回帖 发帖
正文

主题:问计算机和单片机的通信问题!

点击:1022 回复:1

我现在有一个计算机和一个单片机,在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
06-05-17 16:06
握手协议是这样的:
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)执行完毕,待机,等待新指令。  
06-05-18 11:06

工控新闻

更多新闻资讯