/* * Print.c * * Created on: Aug 19, 2024 * Author: DashyFox */ #include "Print.h" void print(char* str){ unsigned int size = 0; while (str[size] != '\0') { size++; } CDC_Transmit_FS((unsigned char*)str, size); } void int_to_str(int number, char *str, int base) { static const char digits[] = "0123456789ABCDEF"; char buffer[32]; char *ptr = buffer + sizeof(buffer) - 1; int is_negative = 0; if (number < 0 && base == 10) { is_negative = 1; number = -number; } *ptr = '\0'; do { *--ptr = digits[number % base]; number /= base; } while (number); if (is_negative) { *--ptr = '-'; } // Дополнение ведущим нулем для шестнадцатеричных чисел if (base == 16 && (buffer + sizeof(buffer) - 1 - ptr) == 1) { *--ptr = '0'; } strcpy(str, ptr); } void printNumber(long int number) { char buffer[BUFFER_SIZE]; // Преобразование числа в строку int_to_str(number, buffer, 10); // 10 — это основание системы счисления (десятичная система) strcat(buffer, "\r\n"); // Добавление новой строки // Отправка строки через USB CDC CDC_Transmit_FS((uint8_t*)buffer, strlen(buffer)); }