Исправление переполнения

This commit is contained in:
mrnek 2023-06-08 15:41:54 +03:00
parent 987e25ab3e
commit a766efb8a9
4 changed files with 7 additions and 6 deletions

BIN
GccApplication3_6_2.atsuo Normal file

Binary file not shown.

2
func.c
View File

@ -66,7 +66,7 @@ void map_digits(char* arr, long *digits, int size) {
} }
void prepare_data(char *arr, long number, int size) { void prepare_data(char *arr, long number, int size) {
long digits[size]; long digits[12];
split_digits(number, digits, size); split_digits(number, digits, size);
map_digits(arr, digits, size); map_digits(arr, digits, size);
} }

View File

@ -39,7 +39,6 @@ void get_logical_keys(struct key *undc_keys) {
} }
} else { } else {
undc_keys[i].time = timestamp; undc_keys[i].time = timestamp;
} }
} }
} }

View File

@ -4,6 +4,7 @@
#include <util/delay.h> #include <util/delay.h>
#include "spi_master.h" #include "spi_master.h"
#include "func.h" #include "func.h"
#include <stdlib.h>
#define MAX_DIGITS 11 #define MAX_DIGITS 11
#define F_CPU 16000000UL #define F_CPU 16000000UL
@ -22,10 +23,11 @@ void output_on_display(struct calculator *calc)
b_size = display_set_page(0x01, buffer); b_size = display_set_page(0x01, buffer);
SPI_MasterTransmit(buffer, b_size); SPI_MasterTransmit(buffer, b_size);
int size = count_digits(calc->num1); //int size = count_digits(calc->num1);
char mapped_digits[size]; char mapped_digits[12];
prepare_data(mapped_digits, calc->num1, size); //prepare_data(mapped_digits, calc->num1, size);
b_size = display_add_simbol(mapped_digits, size, buffer); ltoa(calc->num1 , mapped_digits, 10);
b_size = display_add_simbol(mapped_digits, 12, buffer);
SPI_MasterTransmit(buffer, b_size); SPI_MasterTransmit(buffer, b_size);
break; break;