Форум по микроконтроллерам: Обработка кнопок - Форум по микроконтроллерам

Перейти к содержимому

  • 5 Страниц +
  • 1
  • 2
  • 3
  • 4
  • 5
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Обработка кнопок

#41 Пользователь офлайн   Alex 

  • Убиватель МК
  • PipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 891
  • Регистрация: 15 Февраль 11

Отправлено 30 Сентябрь 2012 - 01:29

Очень приятно видеть человека, способного так хорошо разобраться в чужом коде, понимать что он делает, ещё и менять его по своему усмотрению.
:clapping:
Не говорите что мне делать, и я не скажу куда Вам идти !
-1

#42 Пользователь офлайн   anywhere 

  • Знаток
  • PipPip
  • Группа: Пользователи
  • Сообщений: 56
  • Регистрация: 19 Март 11

Отправлено 03 Январь 2013 - 08:40

Скажите а дирректива "##" поддерживается всеми версиями HI-TECH ?
У меня стоит HI-TECH 9.80 и почему то ругается неприлично красным цветом на этот участок :
Прикрепленное изображение: cod.jpg
И при объявлении кнопки выдает вот такую ошибку:
Error   [285] O:\MPLAB IDE\Alarm\main.c; 37.8 no identifier in declaration
Error   [314] O:\MPLAB IDE\Alarm\main.c; 37.8 ";" expected

При этом указывает на строку в объявлениях :
Butt_Init(SET,PORTB,0); 

Библиотека очень понравилась универсальностью - подскажите как ее применить правильно.
P.s. К проэкту вроде все присоединил:
Прикрепленное изображение: incl.jpg
Без объявления кнопок все компилируется.

Сообщение отредактировал anywhere: 03 Январь 2013 - 08:41

0

#43 Пользователь офлайн   medved 

  • Завсегдатай
  • PipPipPip
  • Группа: SuperMod
  • Сообщений: 366
  • Регистрация: 15 Февраль 11
  • ГородЕкатеринбург

Отправлено 03 Январь 2013 - 12:23

Подключаемые файлы лежат в папке с проектом?
0

#44 Пользователь офлайн   anywhere 

  • Знаток
  • PipPip
  • Группа: Пользователи
  • Сообщений: 56
  • Регистрация: 19 Март 11

Отправлено 03 Январь 2013 - 13:19

Просмотр сообщенияmedved (03 Январь 2013 - 12:23) писал:

Подключаемые файлы лежат в папке с проектом?

Да, все лежит в одной папке с проектом.
При запуске проекта Мр-lab выдает вот такое предупреждение:
Прикрепленное изображение: pred.png
но остальной проект компилирует (без применения кнопок)
0

#45 Пользователь офлайн   medved 

  • Завсегдатай
  • PipPipPip
  • Группа: SuperMod
  • Сообщений: 366
  • Регистрация: 15 Февраль 11
  • ГородЕкатеринбург

Отправлено 03 Январь 2013 - 14:41

Пишет, что не поддерживается выбранное устройство. Хотя с PIC16F628A такого не может быть. Выложите проект посмотрим что ему не нравится
0

#46 Пользователь офлайн   anywhere 

  • Знаток
  • PipPip
  • Группа: Пользователи
  • Сообщений: 56
  • Регистрация: 19 Март 11

Отправлено 03 Январь 2013 - 17:37

Просмотр сообщенияmedved (03 Январь 2013 - 14:41) писал:

Выложите проект посмотрим что ему не нравится

Проект еще до конца не доделан.Вот то, что есть(без установок параметров):
Прикрепленный файл  Alarm.rar (191,33К)
Количество загрузок:: 154
Если начинаю объявлять кнопки в файле "main.c" - компиляция не получается.
0

#47 Пользователь офлайн   medved 

  • Завсегдатай
  • PipPipPip
  • Группа: SuperMod
  • Сообщений: 366
  • Регистрация: 15 Февраль 11
  • ГородЕкатеринбург

Отправлено 03 Январь 2013 - 18:37

1. Ругается при открытии проекта на открытое окно Segmented Display Designer. Закройте его и ругань прекратится
2. В подключенной библе задержки опредены как DelayUs() и DelayUs(). Вы почему-то в библе OneWire Library и в main используете __delay_us() и __delay_ms(). У меня из-за этого не компилировалось.
3. Не увидел в main инициализацию button

PS у меня компилятор HT 9.60
0

#48 Пользователь офлайн   anywhere 

  • Знаток
  • PipPip
  • Группа: Пользователи
  • Сообщений: 56
  • Регистрация: 19 Март 11

Отправлено 03 Январь 2013 - 19:13

Просмотр сообщенияmedved (03 Январь 2013 - 18:37) писал:

1. Ругается при открытии проекта на открытое окно Segmented Display Designer. Закройте его и ругань прекратится
Спасибо - помогло.

Просмотр сообщенияmedved (03 Январь 2013 - 18:37) писал:

2. В подключенной библе задержки опредены как DelayUs() и DelayUs(). Вы почему-то в библе OneWire Library и в main используете __delay_us() и __delay_ms(). У меня из-за этого не компилировалось.

Это стандартные библиотеки HT

Просмотр сообщенияmedved (03 Январь 2013 - 18:37) писал:

3. Не увидел в main инициализацию button

Вот здесь :Прикрепленное изображение: gf.jpg
Уберите знаки комментариев и попробуйте скомпилировать

HI-TECH C Compiler for PIC10/12/16 MCUs (Standard Mode)  V9.80

Сообщение отредактировал anywhere: 03 Январь 2013 - 19:18

0

#49 Пользователь офлайн   Alex 

  • Убиватель МК
  • PipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 891
  • Регистрация: 15 Февраль 11

Отправлено 03 Январь 2013 - 19:37

anywhere, у Вас компилятор PRO. Видимо, он чем то отличается от STD.
Вообще, не советуют их использовать, по причине их глючности.
Не говорите что мне делать, и я не скажу куда Вам идти !
0

#50 Пользователь офлайн   medved 

  • Завсегдатай
  • PipPipPip
  • Группа: SuperMod
  • Сообщений: 366
  • Регистрация: 15 Февраль 11
  • ГородЕкатеринбург

Отправлено 03 Январь 2013 - 19:44

Изменил названия кнопок на UST, PLUS, MINUS и все с компилировалось без проблем. Возможно эти слова зарезервированы компилятором.
Прикрепленное изображение: button.JPG
0

#51 Пользователь офлайн   medved 

  • Завсегдатай
  • PipPipPip
  • Группа: SuperMod
  • Сообщений: 366
  • Регистрация: 15 Февраль 11
  • ГородЕкатеринбург

Отправлено 03 Январь 2013 - 20:28

Просмотр сообщенияanywhere (03 Январь 2013 - 19:13) писал:

Это стандартные библиотеки HT

Насколько я знаю эти библиотеки есть в версии PRO. Вы же пишете:

Просмотр сообщенияanywhere (03 Январь 2013 - 19:13) писал:

HI-TECH C Compiler for PIC10/12/16 MCUs (Standard Mode)  V9.80


Или я чего-то не так понимаю. По крайней мере у меня их нет (HI-TECH C Compiler for PIC10/12/16 MCUs (Standard) V9.60)
1

#52 Пользователь офлайн   anywhere 

  • Знаток
  • PipPip
  • Группа: Пользователи
  • Сообщений: 56
  • Регистрация: 19 Март 11

Отправлено 03 Январь 2013 - 21:15

Просмотр сообщенияAlex (03 Январь 2013 - 19:37) писал:

компилятор PRO
Вообще, не советуют их использовать, по причине их глючности.

У меня в настройках выставляется "Lite","Standard","PRO".Прикрепленное изображение: ver.png
Сейчас стоит в "Standard". Или это я не о том говорю?
Если не трудно, дайте ссылку на "не глючный"

medved сказал:

.... эти слова зарезервированы компилятором.

Вот где собака зарыта !!! (В моей невнимательности)
Большое спасибо за помощь и извините за бестолковость - только пытаюсь постигнуть суть программирования.(в 43 уже учиться трудновато :wall: , но я стараюсь :moil: )

Сообщение отредактировал anywhere: 03 Январь 2013 - 21:18

0

#53 Пользователь офлайн   medved 

  • Завсегдатай
  • PipPipPip
  • Группа: SuperMod
  • Сообщений: 366
  • Регистрация: 15 Февраль 11
  • ГородЕкатеринбург

Отправлено 04 Январь 2013 - 00:46

Ну вот. Компилятор у Вас версии PRO. В версии STD и ниже нет стандартных библиотек.
А в настройках Вы указываете лишь уровень оптимизации
0

#54 Пользователь офлайн   Al_Kuz 

  • Знаток
  • PipPip
  • Группа: Пользователи
  • Сообщений: 132
  • Регистрация: 20 Февраль 11
  • ГородКадников Вологодская обл

Отправлено 22 Февраль 2013 - 08:42

Вопрос: Возможно ли применение либы для обработки кнопок, если кнопки в проекте подключены следующим образом:

Изображение
0

#55 Пользователь офлайн   Alex 

  • Убиватель МК
  • PipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 891
  • Регистрация: 15 Февраль 11

Отправлено 22 Февраль 2013 - 09:14

Невозможно.
У Вас другой принцип опроса - динамический. Т.е. нужно перебирать выводы, подавая на них 1-чки.
Не говорите что мне делать, и я не скажу куда Вам идти !
0

#56 Пользователь офлайн   Al_Kuz 

  • Знаток
  • PipPip
  • Группа: Пользователи
  • Сообщений: 132
  • Регистрация: 20 Февраль 11
  • ГородКадников Вологодская обл

Отправлено 22 Февраль 2013 - 10:40

Я пытаюсь что-то типа такого применить:

//----------------------------------------------------------//
Butt_Init(Plus_Butt, PORTA, 5);
Butt_Init(Go_Butt, PORTA, 5);
Butt_Init(Set_Butt, PORTA, 5);
Butt_Init(Minus_Butt, PORTA, 5);

//-------------------------------------------------------------------------//

/***************Обработка прерывания период 10 мс ********/
void interrupt _isr(void)
{
    if(TMR0IF)	{         
        TMR0IF=0;       
        TMR0=100;
		fl_tik=1;
		if(cnt<0)       // Если таймер запущен
           cnt++;
}
//*******************************************************//

while(1){	// Основной цикл

//------------------------------------------------------------------//
if(fl_tik){fl_tik=0;//Каждые 10мс делаем
	Scan_button();	  
}}}

//********************обработка кнопок**********************/
void Scan_button (void){
						
LCD4 =1;NOP();	//Проверка кнопки Plus
	if(LCD4)Butt_Tick(Plus_Butt);        // Если была кликнута кнопка
LCD4=0;
//---------------------------------------------------------//
LCD5=1;NOP();			//Проверка кнопки Go
	if(LCD5)Butt_Tick(Go_Butt);      // Если была кликнута кнопка
LCD5=0;
//---------------------------------------------------------//
LCD6 =1;NOP();	//Проверка кнопки Set
	if(LCD6)Butt_Tick(Set_Butt);       // Если была кликнута кнопка
LCD6=0;
//---------------------------------------------------------//
LCD7=1;NOP();			//Проверка кнопки Minus
	if(LCD7)Butt_Tick(Minus_Butt);         // Если была кликнута кнопка
LCD7=0;return;
}
//------------------------------------------------------------//

0

#57 Пользователь офлайн   Alex 

  • Убиватель МК
  • PipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 891
  • Регистрация: 15 Февраль 11

Отправлено 22 Февраль 2013 - 11:11

Ну можно и так.
Не говорите что мне делать, и я не скажу куда Вам идти !
0

#58 Пользователь офлайн   strannik 

  • Знаток
  • PipPip
  • Группа: Пользователи
  • Сообщений: 124
  • Регистрация: 02 Февраль 12
  • ГородКиев

Отправлено 03 Апрель 2013 - 23:07

Просмотр сообщенияdosikus (09 Март 2012 - 22:29) писал:

Есть отличный обработчик у tester'a сразу на 8 кнопок .
Если есть желание могу разжевать...

Если на ASM, дайте посмотреть.
0

#59 Пользователь офлайн   Alex 

  • Убиватель МК
  • PipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 891
  • Регистрация: 15 Февраль 11

Отправлено 03 Апрель 2013 - 23:16

У него тоже на Си.
Не говорите что мне делать, и я не скажу куда Вам идти !
0

#60 Пользователь офлайн   Алексей 

  • Завсегдатай
  • PipPipPip
  • Группа: SuperMod
  • Сообщений: 243
  • Регистрация: 15 Февраль 11

Отправлено 04 Апрель 2013 - 07:35

Покажите хоть что за обработчик то у Тестера?
Не ищи лучшее, а ищи свое. Ведь лучшее не всегда станет твоим, зато твое - всегда лучшее...
0

Поделиться темой:


  • 5 Страниц +
  • 1
  • 2
  • 3
  • 4
  • 5
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей