return 0;
}
Задание 2.
Модифицировать программу обработку прерываний от кнопок таким образом, чтобы первый светодиод включался при нажатии на кнопку 1 и выключался при нажатии на кнопку 2
void InitExternalInterrupts()
{
IO0INTENF = 0x3EF; //Прерывание по срезу - кнопка на порту P0.5
//Внешнее прерывание устанавливается на EINT3
InstallIRQ( EINT3_INT, (void *)ExternalInterruptsHandler3, 0x02 );
}
__irq __nested __arm void ExternalInterruptsHandler3(void)
{
if(IO0INTSTATF & 0x0020)
{
k=0x00;
}
if(IO0INTSTATF & 0x0040)
{
k=0x01;
}
FIO2PIN = k;
IO0INTCLR = 0xFFFFFFFF; // Î÷èñòêà ïðåðûâàíèé îò GPIO PORT0
VICADDRESS = 0;
}
int main (void)
{
K=0;
}
Задание 3.
Модифицировать программу обработку прерываний от кнопок таким образом, чтобы визуализировать количество срабатываний кнопок при однократном нажатии (проверка наличия эффекта дребезга контактов). Для этого необходимо добавить в программу переменную «счетчик дребезга», которую необходимо увеличивать на единицу в каждом прерывании и выводить полученное число на светодиоды в двоичном формате. Для обнуления «счетчика дребезга» необходимо использовать одну из кнопок, например первую.
__irq __nested __arm void ExternalInterruptsHandler3(void)
{
if(IO0INTSTATF & 0x0020)
{
k=k+1
}
FIO2PIN=k;
Delay(100);
K=0;
IO0INTCLR = 0xFFFFFFFF; // Î÷èñòêà ïðåðûâàíèé îò GPIO PORT0
VICADDRESS = 0;
}
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.