diff --git a/GccApplication3_6_2.atsuo b/GccApplication3_6_2.atsuo new file mode 100644 index 0000000..615802d Binary files /dev/null and b/GccApplication3_6_2.atsuo differ diff --git a/func.c b/func.c index 762904c..b1ffda1 100644 --- a/func.c +++ b/func.c @@ -66,7 +66,7 @@ void map_digits(char* arr, long *digits, int size) { } void prepare_data(char *arr, long number, int size) { - long digits[size]; + long digits[12]; split_digits(number, digits, size); map_digits(arr, digits, size); } \ No newline at end of file diff --git a/keyboard.c b/keyboard.c index 2dc69df..3cc2e8b 100644 --- a/keyboard.c +++ b/keyboard.c @@ -39,7 +39,6 @@ void get_logical_keys(struct key *undc_keys) { } } else { undc_keys[i].time = timestamp; - } } } diff --git a/spi_master.c b/spi_master.c index 771f1db..bd487fb 100644 --- a/spi_master.c +++ b/spi_master.c @@ -4,6 +4,7 @@ #include #include "spi_master.h" #include "func.h" +#include #define MAX_DIGITS 11 #define F_CPU 16000000UL @@ -22,10 +23,11 @@ void output_on_display(struct calculator *calc) b_size = display_set_page(0x01, buffer); SPI_MasterTransmit(buffer, b_size); - int size = count_digits(calc->num1); - char mapped_digits[size]; - prepare_data(mapped_digits, calc->num1, size); - b_size = display_add_simbol(mapped_digits, size, buffer); + //int size = count_digits(calc->num1); + char mapped_digits[12]; + //prepare_data(mapped_digits, calc->num1, size); + ltoa(calc->num1 , mapped_digits, 10); + b_size = display_add_simbol(mapped_digits, 12, buffer); SPI_MasterTransmit(buffer, b_size); break;