有哪些API函数可用来与单片机通讯。(100分)

  • 主题发起人 主题发起人 pao
  • 开始时间 开始时间
P

pao

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大虾,不知有哪些API函数可用来与单片机通讯(用串口)?能附上一个例子吗?
譬如发一个整数给单片机,然后单片机用LED显示出来。
 
单片机应该有自己的开发包的。
 
就是读写串口吧 不管什么api都不可能完成这个“然后单片机用LED显示出来”
 
如果不使用弹片机的开发包,只好自己来定义与弹片机的通讯
可使用一些控件如snyscom等等
当然led的显示还是要用弹片机自己来做
 
pc读写串口最好用控件,例如spcomm

单片机部分就要自己写了,自己编程序控制led显示。
 
to 阿器:哪儿有snyscom控件?
 
串口是以文件设备方式操控的
文件api如createfile适合
 
用spcomm
http://www.csdn.net/dev/Delphi/vcl/comm/index.htm
 
这个程序我做个,不过是用vb6,但delphi也一样,
用mscomm控件控制串口,很好用,这个控件vb6中有,安装vb6后,把
mscomm控件加到delphi中就可用,再和单片机定好通讯协议,如握手
信号等,建立通讯后,把要显示的整数发送到串口,单片机接受后就
可显示了。
 
同意楼上的,我也是这样做的!
 
相应函数主要有:CreateFile():用于打开通信资源;
  SetupComm():用于设置输入输出队列的大小;
  GetCommState():获得端口参数当前配置;
  SetCommState():设置端口;
  ReadFile()和WriteFile():读、写指定端口数据;
  CloseFile():关闭指定端口


procedure TForm1.FormCreate(Sender: TObject);
var status: Boolean;
begin
Com2:=CreateFile('COM2',
GENERIC_READ OR GENERIC_WRITE, //设置读写模式
0, //共享模式,此项必须为零
NIL, //安全属性
OPEN_EXISTING, //产生方式,必须设为OPEN_EXISTING
FILE_ATTRIBUTE_NORMAL or FILE_FLAG_OVERLAPPED,//文件类型为异步通信
0 //通信中此项必须设置为NULL
);
if Com2 = INVALID_HANDLE_VALUE then
MessageBox(0,'CreateFileError请检查串口是否正使用','Warning',MB_OK);
status := SetCommMask(Com2,EV_RXFLAG);
if status <> True then MessageBox(0,'SetCommMaskError','Warning',MB_OK);
status := SetupComm(Com2,1024,1024);
if status <> True then MessageBox(0,'SetupCommError','Warning',MB_OK);
status := GetCommState(Com2,DCB);
if status <> True then MessageBox(0,'GetCommStateError','Warning',MB_OK);
DCB.BaudRate := 2400;
DCB.ByteSize := 8;
DCB.Parity := NOPARITY;
DCB.StopBits := ONESTOPBIT;
status := SetCommState(Com2,DCB);
end;


 
后退
顶部