Witam.
Wykonuje pewien projekt. Na samym końcu okazało się, że trzeba dołożyć obsługę Modbus problem w tym że nigdy nie potrzebowałem używać tego rodzaju komunikacji. Na początek ściągnąłem bibliotekę Freemodbus skompilowałem ją pod Atmege 16 przestawiłem zegar na 16Mhz i odpaliłem(pliku porttimer.c nie modyfikowałem choć chyba powinienem?).
Do testów wykorzystałem program Modbus Tester w ustawieniach. Wyglada na to że wszystko działa.
Problem polega na tym ze w przykładzie z biblioteki to ja wysyłam dane do PC . Chciałbym by było na odwrót tzn PC ( w przyszłości PLC ) wysyła stale np 5 bajtów chciałbym je odbierać i wykorzystać w procesorze.
Z tego co zrozumiałem do odbierania danych z PC powinienem wykorzystać raczej "Holding register" ?.
Czy mógł by mi ktoś podpowiedzieć jaka funkcja jest za to odpowiedzialna jak powinno to wyglądać jak się do tego zabrać. Czy przy wysyłaniu składaniem ramki i liczeniem CRC zajmuje się funkcja z biblioteki czy nalezy to do zadań programisty ?.
Wykonuje pewien projekt. Na samym końcu okazało się, że trzeba dołożyć obsługę Modbus problem w tym że nigdy nie potrzebowałem używać tego rodzaju komunikacji. Na początek ściągnąłem bibliotekę Freemodbus skompilowałem ją pod Atmege 16 przestawiłem zegar na 16Mhz i odpaliłem(pliku porttimer.c nie modyfikowałem choć chyba powinienem?).
Do testów wykorzystałem program Modbus Tester w ustawieniach. Wyglada na to że wszystko działa.
Problem polega na tym ze w przykładzie z biblioteki to ja wysyłam dane do PC . Chciałbym by było na odwrót tzn PC ( w przyszłości PLC ) wysyła stale np 5 bajtów chciałbym je odbierać i wykorzystać w procesorze.
Z tego co zrozumiałem do odbierania danych z PC powinienem wykorzystać raczej "Holding register" ?.
Czy mógł by mi ktoś podpowiedzieć jaka funkcja jest za to odpowiedzialna jak powinno to wyglądać jak się do tego zabrać. Czy przy wysyłaniu składaniem ramki i liczeniem CRC zajmuje się funkcja z biblioteki czy nalezy to do zadań programisty ?.
Kod: C / C++