реклама на сайте
подробности

 
 
> Событие EVENT_INTR по двум выводам не работает, фильтр по отдельным выводам. Помогите разобраться.
Димон Безпарольн...
сообщение Mar 16 2014, 05:48
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 734
Регистрация: 29-11-10
Пользователь №: 61 247



Конфигурирую выводы:

Цитата
ebdat6_08pinConfigureToUnused(FL_PIN_37); //Вывод конфигурируется на прерывание
ebdat6_08pinConfigureToUnused(FL_PIN_38); //Вывод конфигурируется на прерывание
ebdat6_13IntSubscribe(FL_PIN_37,FL_GPIO_TRIG_ON_FALLING_EDGE, 500);
ebdat6_13IntSubscribe(FL_PIN_38,FL_GPIO_TRIG_ON_FALLING_EDGE, 500);



Далее обрабатываю:
Цитата
case EVENT_INTR:
{if (flEventBuffer.eventData.intr_evt.pinName == FL_PIN_37) //Фильтр по номеру вывода
DAT |= 1; //Сработал датчик 1
CntDAT1++;} //Увеличить число срабатываний датчика
{if (flEventBuffer.eventData.intr_evt.pinName == FL_PIN_38) //Фильтр по номеру вывода
DAT |= 2; //Сработал датчик 2
CntDAT2++;} //Увеличить число срабатываний датчика
break;


Несмотря на то, что землю даю на один вывод одномоментно, срабатывают сразу два события - по 37 и 38 выводу.

Может кто пояснит, чего я неправильно дклаю?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 2)
Димон Безпарольн...
сообщение Mar 17 2014, 02:39
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 734
Регистрация: 29-11-10
Пользователь №: 61 247



Ну раз никто отвечать не хочет, напишу как переделал в итоге.

Цитата
void SendSMS(void){
s8 *cikl=0;
ebdat9_01SendToModem((u8*)"AT+CMGS=\"+79653749528\"\r",23);
//ожидание ">"
while (!cikl){ //Выполняется пока cikl = 0
eat1_02GetEvent(&flEventBuffer);
if(flEventBuffer.eventData.modemdata_evt.type == MODEM_CMD)
{cikl = (s8*)strstr((const char *)flEventBuffer.eventData.modemdata_evt.data,">");} //Если есть, cikl = 1
}
ebdat9_01SendToModem((u8*)"123456\x1A\r",8);
Go to the top of the page
 
+Quote Post
Димон Безпарольн...
сообщение Mar 21 2014, 05:03
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 734
Регистрация: 29-11-10
Пользователь №: 61 247



Разобрался. Не там скобки ставил перед IF. Вопрос закрыт.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 21:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.01361 секунд с 7
ELECTRONIX ©2004-2016