| ??? 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 |
| Topic | Author | Date |
| RS232 and PL/M51 | 01/01/70 00:00 | |
RE: RS232 and PL/M51 | 01/01/70 00:00 |



