#include #include #include "hdlc_frame.h" void print_frame(uint8_t* frame_data, size_t frame_length) { printf("Сформированный кадр:\n"); for (size_t i = 0; i < frame_length; i++) { printf("%02X ", frame_data[i]); } printf("\n"); } int main() { uint8_t address = 0x01; uint8_t control = 0x02; uint8_t data[] = {0x10, 0x20, 0x30}; size_t data_length = sizeof(data) / sizeof(data[0]); HDLCFrame* u_frame = create_u_frame(address, control, data, data_length); uint8_t u_frame_data[MAX_FRAME_LENGTH]; size_t u_frame_length; create_frame(u_frame, u_frame_data, &u_frame_length); print_frame(u_frame_data, u_frame_length); HDLCFrame* s_frame = create_s_frame(address, control, data, data_length, 0x01, 0x02); uint8_t s_frame_data[MAX_FRAME_LENGTH]; size_t s_frame_length; create_frame(s_frame, s_frame_data, &s_frame_length); print_frame(s_frame_data, s_frame_length); HDLCFrame* i_frame = create_i_frame(address, control, data, data_length, 0x03); uint8_t i_frame_data[MAX_FRAME_LENGTH]; size_t i_frame_length; create_frame(i_frame, i_frame_data, &i_frame_length); print_frame(i_frame_data, i_frame_length); free(u_frame); free(s_frame); free(i_frame); return 0; }