roboforum.ru

Технический форум по робототехнике.
Текущее время: 03 дек 2024, 19:06

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Помогите "переписать" код из Ардуино в WinAvr
СообщениеДобавлено: 13 фев 2012, 15:29 
Не в сети
Аватара пользователя

Зарегистрирован: 05 июл 2010, 05:36
Сообщения: 72
Помогите "переписать" код из Ардуино в WinAvr

Цитата:
//ADKeyboard Module
int adc_key_val[5] ={50, 200, 400, 600, 800 };
int NUM_KEYS = 5;
int adc_key_in;
int key=-1;
int oldkey=-1;

void setup()
{
pinMode(13, OUTPUT); //we'll use the debug LED to output a heartbeat
Serial.begin(9600); // 9600 bps
}

void loop()
{
adc_key_in = analogRead(0); // read the value from the sensor
digitalWrite(13,LOW);
key = get_key(adc_key_in); // convert into key press

if (key != oldkey) // if keypress is detected
{
delay(50); // wait for debounce time
adc_key_in = analogRead(0); // read the value from the sensor
key = get_key(adc_key_in); // convert into key press
if (key != oldkey)
{
oldkey = key;
if (key >=0){
digitalWrite(13,HIGH);
switch(key)
{
case 0:Serial.println("S1 OK");
break;
case 1:Serial.println("S2 OK");
break;
case 2:Serial.println("S3 OK");
break;
case 3:Serial.println("S4 OK");
break;
case 4:Serial.println("S5 OK");
break;
}
}
}
}
delay(100);
}

// Convert ADC value to key number
int get_key(unsigned int input)
{
int k;
for (k = 0; k < NUM_KEYS; k++)
{
if (input < adc_key_val[k])
{
return k;
}
}
if (k >= NUM_KEYS)k = -1; // No valid key pressed
return k;
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите "переписать" код из Ардуино в WinAvr
СообщениеДобавлено: 13 фев 2012, 16:27 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
Arduino это и есть winavr. Так что ничего переписывать не надо.

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите "переписать" код из Ардуино в WinAvr
СообщениеДобавлено: 14 фев 2012, 04:38 
Не в сети
Аватара пользователя

Зарегистрирован: 05 июл 2010, 05:36
Сообщения: 72
Действительно?! Спасибо, если так...

Добавлено спустя 3 часа 17 минут 26 секунд:
WinAvr при компиляции "ругается" практически на все строки... Похоже, что надо "переписывать" на нормальном C...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите "переписать" код из Ардуино в WinAvr
СообщениеДобавлено: 14 фев 2012, 07:35 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Ругается, потому что надо подцепить arduino-библиотеки.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите "переписать" код из Ардуино в WinAvr
СообщениеДобавлено: 14 фев 2012, 10:35 
Не в сети
Аватара пользователя

Зарегистрирован: 05 июл 2010, 05:36
Сообщения: 72
=DeaD= писал(а):
Ругается, потому что надо подцепить arduino-библиотеки.

Ок, понял, спасибо.

Добавлено спустя 1 час 30 минут 28 секунд:
Я в программировании микроконтроллеров новичок, поэтому и пишу в ветку для новичков.
Подскажите, пожалуйста, можно ли написать вышеуказанный код только средствами языка Си?

Очень нужна обработка нажатия кнопок вот такой клавиатуры http://www.domko.ru/item.php?code_id=684356

Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите "переписать" код из Ардуино в WinAvr
СообщениеДобавлено: 14 фев 2012, 10:42 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
можно.
найди любой простой пример АПЦ под винавр и простой пример передачи через компорт
ну и объедини их.

смысл кнопок в том что нажатие каждой кнопки даст определённое значение с АЦП, каждая кнопка имеет свой резистор.
соответсно сравнив значение с эталонным узнаем какая кнопка нажата

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите "переписать" код из Ардуино в WinAvr
СообщениеДобавлено: 14 фев 2012, 11:27 
Не в сети
Аватара пользователя

Зарегистрирован: 05 июл 2010, 05:36
Сообщения: 72
Попробую


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO