Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
10/16/01 15:13
Read: times


 
#15732 - RE: RS232 and PL/M51
I include a small routine for serial port in PL/51.


Transmit
/*****************************************************************************/
/******** SPEDISCE AL MASTER LA COMFERMA CHE LA SCHEDA E' IN FUNZIONE ********/
/*****************************************************************************/
send_ok: procedure;

IF bit_run = 1 THEN DO;
tx_buffer (0) = 'O';
tx_buffer (1) = 'K';
tx_buffer (2) = cr;
tx_buffer (3) = 0;
msg_type = 0;
tx_in_corso = 1;
tx_ptr = 0;
sbuf = tx_buffer(tx_ptr);
END;

ELSE DO;
tx_buffer (0) = 'K';
tx_buffer (1) = 'O';
tx_buffer (2) = cr;
tx_buffer (3) = 0;
msg_type = 0;
tx_in_corso = 1;
tx_ptr = 0;
sbuf = tx_buffer(tx_ptr);
END;
end send_ok;




/*****************************************************************************/
/********************* procedura interrupt porta seriale *********************/
/*****************************************************************************/

seriale: PROCEDURE INTERRUPT 4 USING 1;

IF rx_flag THEN DO;
rx_buffer (index) = sbuf AND 7fh;
IF SBUF = cr THEN DO;
end_msg = 1;
rx_en = 0;
index_err = index;
index = 0;
END;
rx_flag = 0;
index = (index + 1) MOD buf_len;
END;
IF tx_flag THEN DO;
tx_flag = 0;
tx_ptr = tx_ptr + 1;

IF tx_buffer(tx_ptr) <> 0 THEN DO;
sbuf = tx_buffer(tx_ptr);
END;
ELSE DO;
tx_in_corso = 0;
END;
END;

END seriale;


For any information write to me
regards
Maurizio

List of 2 messages in thread
TopicAuthorDate
RS232 and PL/M51            01/01/70 00:00      
RE: RS232 and PL/M51            01/01/70 00:00      

Back to Subject List