📄 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 + -