Изменены входные параметры функций с int на long

This commit is contained in:
giezz 2023-06-07 16:26:43 +03:00
parent 9d2b754941
commit 6e38ba1494
3 changed files with 9 additions and 12 deletions

8
func.c
View File

@ -29,7 +29,7 @@ int count_digits(long number) {
return count; return count;
} }
void split_digits(long number, int* digits, int size) { void split_digits(long number, long* digits, int size) {
int digit; int digit;
int index = 0; int index = 0;
@ -57,7 +57,7 @@ static char map(int digit) {
return 0x01; return 0x01;
} }
void map_digits(char* arr, int *digits, int size) { void map_digits(char* arr, long *digits, int size) {
int idx = 0; int idx = 0;
for (int i = size - 1; i >= 0; i--) { for (int i = size - 1; i >= 0; i--) {
arr[idx] = map(digits[i]); arr[idx] = map(digits[i]);
@ -65,8 +65,8 @@ void map_digits(char* arr, int *digits, int size) {
} }
} }
void prepare_data(char *arr, int number, int size) { void prepare_data(char *arr, long number, int size) {
int digits[size]; long digits[size];
split_digits(number, digits, size); split_digits(number, digits, size);
map_digits(arr, digits, size); map_digits(arr, digits, size);
} }

6
func.h
View File

@ -7,7 +7,7 @@
void delay(); void delay();
void split_digits(long number, int* digits, int size); void split_digits(long number, long* digits, int size);
int count_digits(long number); int count_digits(long number);
void map_digits(char* arr, int *digits, int size); void map_digits(char* arr, long *digits, int size);
void prepare_data(char *arr, int number, int size); void prepare_data(char *arr, long number, int size);

View File

@ -7,7 +7,7 @@
#define MAX_DIGITS 11 #define MAX_DIGITS 11
#define F_CPU 16000000UL #define F_CPU 16000000UL
#define DELAY_MS 3000 #define DELAY_MS 2000
void output_on_display(struct calculator *calc) void output_on_display(struct calculator *calc)
{ {
@ -45,7 +45,7 @@ void output_on_display(struct calculator *calc)
SPI_MasterTransmit(buffer, b_size); SPI_MasterTransmit(buffer, b_size);
char symbol[] = {0x01}; char symbol[] = {0x01};
// îïåðàöèÿ // Îïåðàöèÿ
switch (calc->operation) switch (calc->operation)
{ {
case NO_OP: case NO_OP:
@ -123,9 +123,6 @@ void output_on_display(struct calculator *calc)
b_size = display_add_simbol(mapped_digits1, size, buffer); b_size = display_add_simbol(mapped_digits1, size, buffer);
SPI_MasterTransmit(buffer, b_size); SPI_MasterTransmit(buffer, b_size);
// ëèíèÿ
// ðåçóëüòàò // ðåçóëüòàò
b_size = display_set_page(0x03, buffer); b_size = display_set_page(0x03, buffer);
SPI_MasterTransmit(buffer, b_size); SPI_MasterTransmit(buffer, b_size);