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

 
 
> SIM900, работа через DEBUG
ap77
сообщение Sep 19 2011, 16:16
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 63
Регистрация: 18-01-11
Из: Новосибирск
Пользователь №: 62 313



Может кто сталкивался с такой проблемой.
В SIM900 EAT прошиваю простой тест (код ниже).
Работаю через DEBUG, скорость 115200, настройки порта стандартные.
Все посылки "туда" режутся по 4 символа (лог ниже).
Т.е. если послать строку 5 байт, 4 из них будут возвращены по прерыванию, а пятый символ "застрянет" в буфере до следующей посылки.
Первая плата такого глюка не имела, а вторая макетка стала вести себя так сразу после запуска.
Код
void fl_entry()
{
  bool  keepGoing = TRUE;
  FlEventBuffer  flEventBuffer;

  ebdat7_00EnterDebugMode();
  ebdat9_04SetUartdataToFL(TRUE);
  ebdat9_03SetModemdataToFL(TRUE);

  ebdat7_01DebugTrace( "test2\r\n");

  while (keepGoing == TRUE)
  {
    memset((u8*)&flEventBuffer,0x00,sizeof(flEventBuffer));
    eat1_02GetEvent(&flEventBuffer);
      
    switch(flEventBuffer.eventTyp) {
    case EVENT_MODEMDATA:  {
      flEventBuffer.eventData.modemdata_evt.data[flEventBuffer.eventData.modemdata_evt.length] = 0;
      ebdat7_01DebugTrace( "M:[%s]", flEventBuffer.eventData.modemdata_evt.data );
      break;
    }

    case EVENT_UARTDATA: {
      flEventBuffer.eventData.uartdata_evt.data[flEventBuffer.eventData.uartdata_evt.length] = 0;
      if ( DATA_SERIAL == flEventBuffer.eventData.uartdata_evt.type )    {
        ebdat7_01DebugTrace( "U:[%s]", flEventBuffer.eventData.uartdata_evt.data );
      }
      else {
        ebdat7_01DebugTrace( "D:[%s]", flEventBuffer.eventData.uartdata_evt.data );
        ebdat9_01SendToModem(flEventBuffer.eventData.uartdata_evt.data, flEventBuffer.eventData.uartdata_evt.length);
      }
      break;
    }

    case EVENT_INTR: {
      ebdat7_01DebugTrace("EVENT_INTR:\r\n");
      break;
    }
...


Включаю, подаю в порт DEBUG несколько раз строку "AT+CRWP=1\r\n"
Имею, такой лог:

Код
IIIIÿÿÿÿtest2
M:[
+CFUN: 1

+CPIN: READY
]EVENT_SERAILSTATUS:
M:[
Call Ready
]EVENT_SERAILSTATUS:
D:[AT+C]M:[AT+C]D:[RWP=]M:[RWP=]D:[1
A]M:[AT+CRWP=1
A]M:[1
A]D:[T+CR]M:[T+CR]D:[WP=1]M:[WP=1]D:[
AT]M:[
AT]D:[+CRW]M:[+CRW]D:[P=1
]M:[AT+CRWP=1
]M:[P=1
]D:[AT+]M:[AT+]D:[CRWP]M:[CRWP]D:[=1
]M:[AT+CRWP=1
]M:[=1
]D:[AT+C]M:[AT+C]D:[RWP=]M:[RWP=]D:[1
A]M:[AT+CRWP=1
A]M:[1
A]D:[T+CR]M:[T+CR]D:[WP=1]M:[WP=1]


В каком случае порт ввода\вывода может ограничивать длину ввода?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 3rd August 2025 - 17:40
Рейтинг@Mail.ru


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