Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 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");
Поделиться:
Популярные книги
Цветы сливы в золотой вазе, или Цзинь, Пин, Мэй
Старинная литература:
древневосточная литература
7.00
рейтинг книги
Кодекс Охотника. Книга XIX
19. Кодекс Охотника
Фантастика:
фэнтези
5.00
рейтинг книги
70 Рублей - 2. Здравствуй S-T-I-K-S
Вселенная S-T-I-K-S
Фантастика:
боевая фантастика
постапокалипсис
5.00
рейтинг книги
Мастер 3
3. Мастер
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Лучше подавать холодным
4. Земной круг. Первый Закон
Фантастика:
фэнтези
8.45
рейтинг книги
Имперец. Земли Итреи
11. Путь
Фантастика:
героическая фантастика
боевая фантастика
5.25
рейтинг книги
Адвокат империи
1. Адвокат империи
Фантастика:
городское фэнтези
попаданцы
фэнтези
5.75
рейтинг книги
Ваше Сиятельство 2
2. Ваше Сиятельство
Фантастика:
фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Не грози Дубровскому!
1. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Отмороженный 7.0
7. Отмороженный
Фантастика:
рпг
аниме
5.00
рейтинг книги
Лолита
Проза:
классическая проза
современная проза
8.05
рейтинг книги
Энфис 5
5. Эрра
Фантастика:
героическая фантастика
рпг
аниме
5.00
рейтинг книги
Опасная любовь командора
1. Проклятые луной
Фантастика:
фэнтези
5.00
рейтинг книги
Найди меня Шерхан
3. Ямпольские-Демидовы
Любовные романы:
современные любовные романы
короткие любовные романы
7.70