Olayi çzdüm gibi. RS485 i kaldırınca sorun çzülüyor ama RS485 kullanmam gerekiyor :( ride or die..

Hocalar merhaba, ncelikle iyi bayramlar MODBUS kullanımında yeniyim. rnek projeleri inceliyorum. Fakat çalıştırdığım projelerde proteus üzerinde simüle ederken exception 0C alıyorum. Sorunun ne olduğuna baktım fakat slave haberleşmiyor gibi birşey anladım. Bunun hakkında bilgisi olan var mı?rnek kullandığım proje https://github.com/worrajak/PICmodbus https://preview.redd. it/fkk632qk7jy61. png?width=902&format=png&auto=webp&s=d61d8f1336f578424de9bea0f7a12182361f0068 Dküman;https://modbus.org/docs/PI_MBUS_300. pdf Kodları basit hale getirdim ancak sonuç aynı;exception 0C hatası veriyor. Bunu incelediğimde fonksiyon 12, 0C, haberleşme hatası olarak karşıma çıktı fakat problemi anlayamadım. Yaptığım çalışmada; master; #include <master_led_yak. h>#fuses HS, NOWDT#use delay(clock=4M)#define MODBUS_TYPE MODBUS_TYPE_MASTER#define MODBUS_SERIAL_TYPE MODBUS_RTU //use MODBUS_ASCII for ASCII mode#define MODBUS_SERIAL_RX_BUFFER_SIZE 64#define MODBUS_SERIAL_BAUD 2400#use rs232(baud=9600, UART1, stream=PC, errors)#define MODBUS_SERIAL_INT_SOURCE MODBUS_INT_EXT#define MODBUS_SERIAL_TX_PIN PIN_B1 // Data transmit pin#define MODBUS_SERIAL_RX_PIN PIN_B0 // Data receive pin#define DEBUG_MSG fprintf #define DEBUG_DATA fprintf #include <modbus. c>#define MODBUS_SLAVE_ADDRESS 0x80int i;int8 swap_bits(int8 c) void print_menu void turnOnLED { DEBUG_MSG ; if(!(modbus_write_single_coil(MODBUS_SLAVE_ADDRESS,1, TRUE))) else }void display { switch }void main { char c; DEBUG_MSG ; modbus_init ; DEBUG_MSG ; do while ; } slave #include <slave_led_yak. h>#fuses HS, NOWDT#use delay(clock=4M)#use fast_io #define MODBUS_TYPE MODBUS_TYPE_SLAVE#define MODBUS_SERIAL_TYPE MODBUS_RTU //use MODBUS_ASCII for ASCII mode#define MODBUS_SERIAL_RX_BUFFER_SIZE 64#define MODBUS_SERIAL_BAUD 2400#define MODBUS_SERIAL_TX_PIN PIN_B1 // Data transmit pin#define MODBUS_SERIAL_RX_PIN PIN_B0 // Data receive pin#include <modbus. c>#define MODBUS_ADDRESS 0x80/ This function may come in handy for you since MODBUS uses MSB first. /int8 swap_bits(int8 c) void main {//! char c; set_tris_d(0x00); int8 coils = 0x00; int16 event_count = 0; modbus_init ; while { output_d ; while(! modbus_kbhit ; delay_us(50); if || modbus_rx. address 0){ switch { case FUNC_WRITE_SINGLE_COIL: //write coil if(modbus_rx. data || modbus_rx. data || modbus_rx. data > 8) modbus_exception_rsp ; else if(modbus_rx. data != 0xFF && modbus_rx. data != 0x00) modbus_exception_rsp ; else break; } } }} https://i. hizliresim.com/6f7tzsz. pnghttps://i. hizliresim.com/d920p52. pngSoldaki virtual terminal slavein modbus Tx pinine bağlı. alttaki modbus Rx pinine bağlı. Veri geliyor ama geri dnmüyor ve led de değiştirilmiyor. ride or die..