Я использую PIC18F14K50 и приемопередатчик шины RS485 ( ADM3485 ) для связи с сетью датчиков Modbus RTU. печатная плата разработана не мной (и у нее очень глупый / компактный дизайн, поэтому ее очень сложно отлаживать или исследовать), и это кажется проблематичным. кроме того, PIC18F14K50 не имеет возможности отладки самостоятельно.
Проблема в том, что когда логический анализатор подключен для контроля сигналов RS485, прибор работает нормально, но когда я отключаю щупы, он не работает.
Некоторые подсказки:
Часть схемы, предоставленная дизайнером:
Библиотека uart устанавливает IO следующим образом:
ANSELHbits.ANS11 = 0; //disable the analog input on RX
void uart_init(uint32_t sysCLK, uint32_t baudRate)
{
uint16_t baudTemp = (sysCLK/(64*baudRate))-1;
SPBRGH1_REG = (uint8_t)(baudTemp>>8);
SPBRG1_REG = (uint8_t)(baudTemp);
TXSTA1bits.SYNC = 0;
RX1_INPUT;
DISABLE_ANSEL_RX1;
TXSTA1bits.TXEN = 1;
RCSTA1bits.CREN = 1;
RCSTA1bits.SPEN = 1;
}
Похоже на проблему с синфазным напряжением, если только что-то не пошло не так с терминацией.
Заземлите подключенные узлы, затем попробуйте без 120R и 150R на расстоянии менее 1 м.
Только я
Тим Вескотт
браханы
Тирдад Садри Неджад
Тирдад Садри Неджад
браханы
Тим Вескотт