feat: переписано все, что не ассемблер
This commit is contained in:
@ -1,4 +1,5 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <sys/io.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
@ -14,6 +15,7 @@ void delay(unsigned int ms)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int main(void) {
|
int main(void) {
|
||||||
|
|
||||||
long int lCnt = 0;
|
long int lCnt = 0;
|
||||||
int iA = 0x1234;
|
int iA = 0x1234;
|
||||||
|
|
||||||
@ -29,9 +31,12 @@ int main(void) {
|
|||||||
printf("\n Читаем содержимое порта с адресом 40 с помощью функции Си \n");
|
printf("\n Читаем содержимое порта с адресом 40 с помощью функции Си \n");
|
||||||
printf("\n Для выхода из цикла - нажмите любую клавишу \n");
|
printf("\n Для выхода из цикла - нажмите любую клавишу \n");
|
||||||
|
|
||||||
|
// Линуксу не сильно нравится, что ты насилуешь порты ввода и вывода процессора, поэтому нужно выдать ему на это дело разрешение
|
||||||
|
|
||||||
|
ioperm(PortCan0, 1, 3); // Что означает тройка напишу позже
|
||||||
set_input_mode();
|
set_input_mode();
|
||||||
while (isKeyPressed() == 0) {
|
while (isKeyPressed() == 0) {
|
||||||
printf("\n Порт40 = %d", inp(PortCan0));
|
printf("\n Порт40 = %d", inb(PortCan0));
|
||||||
delay(500);
|
delay(500);
|
||||||
}
|
}
|
||||||
reset_input_mode();
|
reset_input_mode();
|
||||||
@ -102,8 +107,8 @@ int main(void) {
|
|||||||
beep(400, 200);
|
beep(400, 200);
|
||||||
}
|
}
|
||||||
|
|
||||||
void beep(unsigned iTone, unsigned iDlit) {
|
//void beep(unsigned iTone, unsigned iDlit) {
|
||||||
sound(iTone);
|
// sound(iTone);
|
||||||
delay(iDlit);
|
// delay(iDlit);
|
||||||
nosound();
|
// nosound();
|
||||||
}
|
//}
|
||||||
|
|||||||
Reference in New Issue
Block a user