Нужна помощь с RS-485 (не могу понять принцип кодирования NRZ)
- Войдите на сайт для отправки комментариев
Чт, 06/10/2016 - 08:27
Всем привет!
Народ подскажите пожалуйста, не могу понять реализацию работы RS-485 с кодировкой NRZ.
Есть железка которая управляется через RS-485. Есть спецификация к ее протоколу:
Прошу прощения.. продолжение... (не нашел кнопку редактировать)
#define SerialTxControl 7 //RS485 управляющий контакт на arduino pin 7 #define RS485Transmit HIGH #define RS485Receive LOW byte rs_msg2[11] = { 0xBF,0xF2,0xFA,0x01,0x00,0x00,0x00,0x00,0x00,0x02,0xAC}; //отправляемый фрейм char buffer[100]; void setup(void) { Serial.begin(4800,SERIAL_8O1); pinMode(SerialTxControl, OUTPUT); RSTRRR(); } void loop(void) { digitalWrite(SerialTxControl, RS485Receive); // читаем данные с порта int i=0; if(Serial.available()){delay(100); RSTRRR(); while( Serial.available() && i< 99) { buffer[i++] = Serial.read();} buffer[i++]='\0'; delay(1000); } if(i>0) { Serial.println(buffer); // Выводим что приняли с других устройств } } void RSTRRR() { pinMode(SerialTxControl, OUTPUT); digitalWrite(SerialTxControl, RS485Transmit); for (int i=0;i<11;i++){ Serial.write(rs_msg2[i]); delay(100); //Serial.println(rs_msg2[i],HEX); // Send byte to Remote Arduino } delay(100); digitalWrite(SerialTxControl, RS485Receive); }NRZ это всего навсего физическое описание RS 485. Попробуйте поменять АВ провода местами.
Прошу прощения за не точность...произвел отладку... оказывается железка мне ничего не отвечает, а иерогливы это вывод вот этой строки:
Выводит следующее:
Прошу прощения за не точность...произвел отладку... оказывается железка мне ничего не отвечает, а иерогливы это вывод вот этой строки:
Выводит следующее:
А в чем вы пытаетесь увидеть? В стандартном арудиновском мониторе? тогда ничего другого вы не увидите, так как он вам в удобочитаемом виде покажет только "ASCII текст".(http://arduino.ru/Reference/ASCIIchart) Установите любой монитор порта и тогда сможете именно значения byte смотреть, а не соответсвующие этим значениям символы.
Понял! спасибо!