您当前的位置:五五电子网电子知识单片机-工控设备综合-其它C语言在RS232串行接口通信中的实现 正文
C语言在RS232串行接口通信中的实现

C语言在RS232串行接口通信中的实现

点击数:7336 次   录入时间:03-04 11:48:27   整理:http://www.55dianzi.com   综合-其它
  /*set data bits,stop bits,and parity设置数据位。停止位。校验*/

  Data=(Data-5)|((Stop-1)*4);

  if(Parity=2)Data=Data|0x18;

  else if(Parity==1)Data=Data|0x8;

  outportb(ComPortAddr+3,Data);

  /*set MCR(DTR,RTS=0,OUTl,OUT2=1)设置MODEM控制位*/

  outportb(ComPortAddr+4,0xob);

  /*set input data ready interrupt mode设置输入数据中断模式*/

  outportb(ComPortAddr+1,Ox01);

  /*set OC interrupt vector设置中断源*/

  disable ();

  OldAsyncInt=getvect(IntVectNum);

  setvect(ImVectNum,AsyncInt);

  enable ();

  /*open interrupt打开中断*/

  maskb=inp(Port8259+1);

  if(IntVectNum一0x0c)outport(Port8259+1,maskb&Oxef);/*INT4*/

  else outport(Port8259+1,maskb&0xf7);/*INT3*/

  }

  2)握手信号控制。

  该函数引入递归调用的方式,很好的解决了以往串口通信过程中,在握手信号方面选择发送指定特定字符(例如"样")所带来的误传送问题,大大提高了串口通信的成功率。

  void wait(char ch)

上一页  [1] [2] 


本文关键字:通信  接口  C语言  综合-其它单片机-工控设备 - 综合-其它