We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Question 1: I am needing to perform I2C or SPI communication among 8031s, but I cant use open-collector pins or serial pins. I have 03 free pins on port 1. Is it possible without additional hardware ? Question 2: I am neending to connect a 80C31 to GPS antenna that uses 9600,8,odd,1 standard. So I am needing to program the microcontroller on mode 3 how showed bellow void serial_config(void) { ES = OFF; // Disable Serial Interrupt TR1 = OFF; // Turn OFF the timer 1 TMOD = (TMOD & 0x20) | 0x20; // Timer 1 - Mode 2 - Automatic TL1 = 0xFA; // 9600 bps TH1 = 0xFA; // TR1 = ON; // Turn ON the Timer 1 PCON = 0x80; // SMOD = 1 --> double the rate SCON = 0xD0; // SM0 = 1 SM1 = 1 --> mode 3 of communication // REN = 1 --> Enable Reception RI = OFF; // Enable RI ES = ON; // Enable Serial Interrupt } void int_serial(void) interrupt 4 { if (TI) { RS_tx_int = ON; // free to new transmition TI = OFF; // Reset the Flag } if (RI) { // If exists data on reception put_data_rx_buffer(SBUF); // read the data and put it on reception buffer RI = OFF; // Enable reception to new data } } void serial_out(byte aux) { while (RS_tx_int == OFF); // wait to transmit the data TB8 = calculate_parity(aux, ODD_PARITY); // calculates the odd parity based on "Aux" SBUF = aux; // transmit next data RS_tx_int = OFF; } So, on mode 3, when I connect the MCU on PC runs ok but when I connect on GPS antenna do not run. Are there other configuration to do on setup of serial communication ? (like priority IP register ?) Please let me see if my code is correct. Best Regards