привет,
нужна програма в С чтобы включить и выключить 2 LED на платине ngw100 от atmel(Port PA Pin 19 и Port PB Pin 19) через клавиатурую. с этой програмкой диод А мaргает:
#include <avr32/io.h>
void simpleDelay (void) {
volatile unsigned int i;
for (i = 0; i != 1000000; i++);
}
int main (void) {
// PORTA 19
AVR32_PIOA.per = 1 << 19;
AVR32_PIOA.oer = 1 << 19;
while (1) {
AVR32_PIOA.codr = 1 << 19;
simpleDelay();
AVR32_PIOA.sodr = 1 << 19;
simpleDelay();
}
}
как правельно управлять диод через клавиатуру (например клавиша ENTER).
зарание спасибо
avr32 в С програмир. (микроконтролер аp7000)
Модератор: Модераторы разделов
-
RasenHerz
- Сообщения: 1341
- ОС: Arch Linux amd64
Re: avr32 в С програмир.
vad1 писал(а): ↑04.06.2008 21:42привет,
нужна програма в С чтобы включить и выключить 2 LED на платине ngw100 от atmel(Port PA Pin 19 и Port PB Pin 19) через клавиатурую. с этой програмкой диод А мaргает:
#include <avr32/io.h>
void simpleDelay (void) {
volatile unsigned int i;
for (i = 0; i != 1000000; i++);
}
int main (void) {
// PORTA 19
AVR32_PIOA.per = 1 << 19;
AVR32_PIOA.oer = 1 << 19;
while (1) {
AVR32_PIOA.codr = 1 << 19;
simpleDelay();
AVR32_PIOA.sodr = 1 << 19;
simpleDelay();
}
}
как правельно управлять диод через клавиатуру (например клавиша ENTER).
зарание спасибо
а добавить функцию getchar(), получать символ и обрабатывать банальным switch не пойдет?
-
vad1
- Сообщения: 2
Re: avr32 в С програмир.
RasenHerz писал(а): ↑04.06.2008 21:50vad1 писал(а): ↑04.06.2008 21:42привет,
нужна програма в С чтобы включить и выключить 2 LED на платине ngw100 от atmel(Port PA Pin 19 и Port PB Pin 19) через клавиатурую. с этой програмкой диод А мaргает:
#include <avr32/io.h>
void simpleDelay (void) {
volatile unsigned int i;
for (i = 0; i != 1000000; i++);
}
int main (void) {
// PORTA 19
AVR32_PIOA.per = 1 << 19;
AVR32_PIOA.oer = 1 << 19;
while (1) {
AVR32_PIOA.codr = 1 << 19;
simpleDelay();
AVR32_PIOA.sodr = 1 << 19;
simpleDelay();
}
}
как правельно управлять диод через клавиатуру (например клавиша ENTER).
зарание спасибо
а добавить функцию getchar(), получать символ и обрабатывать банальным switch не пойдет?
mozet i poidet. ja poprobuju, no ja nowichok w programirowanie, mne b@ primer. pozaluisto!!!
za schrifft ja izwenjaus russkala klawiatura ne razreschaetsja, eto ne moi PC.
-
RasenHerz
- Сообщения: 1341
- ОС: Arch Linux amd64
Re: avr32 в С програмир.
Код: Выделить всё
#include <avr32/io.h>
#include <stdio.h>
void simpleDelay (void) {
volatile unsigned int i;
for (i = 0; i != 1000000; i++);
}
int main (void) {
char ch;
for(;1;) {
if (ch = getchar() == 0xa) { //если нажали <ENTER>
AVR32_PIOA.codr = 1 << 19;
simpleDelay();
AVR32_PIOA.sodr = 1 << 19;
simpleDelay();
continue;
}
else if(ch = getchar() == 0x20){ //если <SPACE>
AVR32_PIOA.per = 1 << 19;
AVR32_PIOA.oer = 1 << 19;
continue;
}
return 0;
}
}примерно так.
P.S. я понятия не имею что делает эта программа так как AVR никогда не занимался, но принцип работы думаю вам понятен.