⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scara.h

📁 scara机器人的一种简单的实现方法
💻 H
字号:
extern void   RS_SCARA_PORT_INIT(void);
extern int    RS_SCARA_SEND(int byte_data);
extern int    RS_SCARA_RECEIVE(void);
//extern struct read_data RS_RECEIVE(void);

/*  initialize serial port */
void RS_SCARA_PORT_INIT(void)
{
   outportb(0x03FB, 0x80);
   outportb(0x03F8, 0x0C);
   outportb(0x03F9, 0x00);
   outportb(0x03FB, 0x07);
   outportb(0x03FC, 0x03);
   outportb(0x03F9, 0x00);

   return;
}

/* send 1 byte and verify RS-232C */
int RS_SCARA_SEND(int byte_data)
{
   int data, time = 1;
   int RS_ERR;
   char ch;

   RS_ERR = TRUE;
   outport(0x03F8, byte_data);   // output 'byte_data'
   if (byte_data!=0) {
     for(;;) {
       ch = inportb(0x03fd);       // check read port ready
       ch &= (0x01);
       if (ch!=0) {
	 data = inport(0x03F8);    // read and verify
	 if (data!=byte_data) {
	   outport(0x03F8, byte_data);
	   time++;
	   if (time>=5) { RS_ERR = FALSE; break; }
	 }
	 else {
	  outport(0x03F8, 0);   // output 'byte_data'
//	  printf("%d ",data);
	  break;
	 }
   }}}

   return RS_ERR;
}

int RS_SCARA_RECEIVE(void)
{
   int RS_ERR;
   int data;
   char ch;

   RS_ERR = TRUE;
   for(;;) {
     ch = inportb(0x03fd);       // check read port ready
     ch &= (0x01);
     if (ch!=0) {
	   data = inport(0x03F8);    // read and verify
      outport(0x03F8, data);
      if (data==1) break;
   }}

   return RS_ERR;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -