Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С
Шрифт:
switch (temp) {
case L_BUTTON:
*direction = LEFT;
break;
case R_BUTTON:
*direction = RIGHT;
break;
case U_BUTTON:
*direction = UP;
break;
case D_BUTTON:
*direction = DOWN;
break;
}
}
break;
}
}
//********************************************************************
// randomize_board:
ВЫБОР СЛУЧАЙНОГО ИСХОДНОГО СОСТОЯНИЯ ФИШЕК
//********************************************************************
void randomize_board(int board_array[]) {
int temp = 0;
int i;
unsigned char temp2 = 0x00;
for (i=0; i<ARRAY_MAX+1; i++) {
temp2 = TCNTL;
temp = mod(temp2,15); //случайное значение using the TCNT counter
swap2(i,temp, board_array);
}
}
//********************************************************************
// MOD: МАТЕМАТИЧЕСКАЯ ФУНКЦИЯ
//********************************************************************
unsigned char mod(unsigned char num, int modulus) {
while ((num - modulus) > 0) num = num - modulus;
return num;
}
//********************************************************************
// display_board2: Выводит табло, как одну колонку значений
//********************************************************************
void display_board2(int board_array[ARRAY_MAX+1]) {
int = 0;
int n;
for (i=0; i<ARRAY_MAX+1; i++) {
n = board_array[i];
int2char(n);
}
LCD_output("\n");
}
//********************************************************************
// display_board: Выводит табло как массив 4x4
//********************************************************************
void display_board(int A[SIZE][SIZE], int row, int col, int direction) {
#pragma abs_address 0x0800
int i;
int j;
int num;
#pragma end_abs_address
newline;
LCD_output("| Column ");
LCD_output("| 1 2 3 4 ");
LCD_output("-------------------");
for (i=0; i < SIZE; i++) {
j=0;
switch(i) {
case 0:
LCD_output("R 1 |");
break;
case 1:
LCD_output("o 2 |");
break;
case 2:
LCD_output("w 3 |");
break;
case 3:
LCD_output(" 4 |");
break;
}
for (j=0; j < SIZE; j++) {
num = A[i][j];
if (num == 0) LCD_output(" ");
else int2char(num);
if ((i+1 == row) && (j+1) == col))
LCD_output("*");
else LCD_output(" ");
}
}
newline;
LCD_output("You are at (R,C)");
LCD_output(" (");
int2char(row);
LCD_output(",");
int2char(col);
LCD_output(") =");
int2char(A[row-1];
LCD_output(" ");
newline;
}
//********************************************************************
// INT2CHAR:
задается как integer и выводится на ЖКД в виде
// двух символов
//********************************************************************
void int2char(int i) {
if (i > 9) {
LCD_output("I");
i -= 10;
} else {
LCD_output('; ");
}
switch(i) {
case 0:
LCD_output("0");
break;
case 1:
LCD_output("1");
Поделиться:
Популярные книги
Измена. Тайный наследник
1. Тайный наследник
Фантастика:
фэнтези
5.00
рейтинг книги
Инквизитор Тьмы
1. Инквизитор Тьмы
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Наследник
3. Династия
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Ротмистр Гордеев 3
3. Ротмистр Гордеев
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
(Не)нужная жена дракона
5. Хроники Драконьей империи
Любовные романы:
любовно-фантастические романы
6.89
рейтинг книги
Идеальный мир для Лекаря 28
28. Лекарь
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Сыночек в награду. Подари мне любовь
1. Суровые отцы
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Инквизитор Тьмы 2
2. Инквизитор Тьмы
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Генерал Скала и ученица
2. Генерал Скала и Лидия
Любовные романы:
любовно-фантастические романы
6.30
рейтинг книги
Искатель 1
1. Валинор
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Сердце Дракона. Том 10
10. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
7.14
рейтинг книги
Печать мастера
6. Гибрид
Фантастика:
попаданцы
технофэнтези
аниме
фэнтези
6.00
рейтинг книги
Выстрел на Большой Морской
4. Сыщик Его Величества
Детективы:
исторические детективы
полицейские детективы
8.64
рейтинг книги
Кодекс Крови. Книга VII
7. РОС: Кодекс Крови
Фантастика:
боевая фантастика
попаданцы
аниме
5.00