Jump to content

    

mich.bil

Участник
  • Content Count

    11
  • Joined

  • Last visited

Community Reputation

0 Обычный

About mich.bil

  • Birthday 08/03/1985

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array
  1. Проблема именно с проверкой счета. Какую задержку надо ставить после получения USSD ответа? Когда я удаляю 2 последние строчки, система начинает запускаться абсолютно нормально. Serial->println("Forcing echo off"); gsm.SendATCmdWaitResp("ATE0", 500, 50, "OK", 5); delay(1000); gsm.SendCmdWaitSTR("ATD*111#",13000); delay(10000); Поднял задержку после получения USSD до 20 секунд, стало гораздо лучше....
  2. Версия: 1137B01SIM900R64_ST_ENHANCE_EAT Убрал проверку счета при загрузке, и система начала стартовать с каждого раза... возвращаю проверку - начинает виснуть... Какие особенности могут быть, связанные с USSD запросом?
  3. Добрый день! SIM900R внезапно начал замолкать при попытке установления GPRS соединения, хотя до этого работал нормально. Когда модуль не отвечает, светодиоды STATUS и NETLIGHT работают штатно, после перезагрузки модуль успешно соединяется с GPRS и начинает обмен данными. Модуль замолкает после комманды AT+CSTT Напряжение питания GSM 4.0В, питание микроконтроллера 2.9В. Помогите разобраться, где у меня косяк, лог прилагаю.
  4. Похоже на глюк компилера, у других людей похожие проблемы : microchip forums
  5. Всем привет, имею очень странные глюки с компилятором XC8 1.32, глюки повторяются в платном и не платном режиме. Глюк - неправильная работа функции sprintf, sprintf(text,"W %2dим %2d.%.2dл",counter,FORMAT_VOLUME_CL(counter_l)); при обработке формата %.2d, printf зависает, и забивает всю память пробелами. раскопал dotprnt.c, ошибка происходит в куске #ifdef WIDTH if(width > c) width -= c; else width = 0; #endif условие (width > c) периодически срабатывает не правильно, полез дизассемблер. Вот кусок сравнения sint8 и sint16: width = 0x1F0 (16 знак бит) с = 0x1F2 (8 бит знак) !#ifdef WIDTH ! if(width > c) 00 0xA3C: MOVLW 0x80 // w=0x80 01 0xA3E: MOVLB 0x1 // bank = 1 02 0xA40: BTFSC 0xF2, 7, BANKED // если с < 0 03 0xA42: MOVLW 0x7F //w = 0x7f 04 0xA44: MOVWF 0xE7, BANKED /// *(0x1E7) = w запись временного значения 05 0xA46: MOVF 0xF0, W, BANKED // w = LOW(width) 06 0xA48: SUBWF 0xF2, W, BANKED // w = LOW(width) - c 07 0xA4A: MOVF 0xF1, W, BANKED // w = HIGH(width) 08 0xA4C: XORLW 0x80 // w = w ^ 0x80 09 0xA4E: MOVLB 0x0 // bank = 0 10 0xA50: SUBWFB 0xE7, W, BANKED // w = w - *(0x0E7) 11 0xA52: BC 0xA64 // переход если Сarry ! width -= c; Проблема с кодом, в том что промежуточная переменная пишется в банк 1 [строка 4], а читается из уже из банка 0 [строка 10]. соответсвенно результат сравнения зависит не от операндов, а от предыдущего состояния памяти. Помогите разобраться, очень похоже на глюк компилятора.
  6. Можно поинтересоваться каким обазом сделана зеленка в этой самодельно плате?
  7. PCB редактор Вопрос: Как в Altium задать зазор (fixed backoff в PCAD2000) между полигоном и другими цепями. Ответ: Заходим в Design-> Rules Создаем новое правило Сlearance(Зазор), например Clearance_poly. В поле Full Query первого объекта вводим InPoly. Задаем нужный зазор в поле Minimum clearance. Убеждаемся что правило Clearance_poly, имеет более высокий приоритет чем правило по умолчанию Clearance при помощи кнопки Priorities. Если надо правим приоритет.
  8. Я обычно для вывода прототипов на печать делаю экспорт в pcad2006, и дальше печатаю через интерфейс pcad
  9. B каждом пакетике от АБС приходит, грубо говоря, количество пройденых метров автомобилем, панель считывает эти метры и увеличивает пробег. Но никто не мешает посылать пакетики чаще чем шлет их абс. Щиток мотает, все довольны. А насчет процессора - пик с каном стоит меньше пяти баксов, зачем городить огород с не предназначенными для этого контроллерами?
  10. Конечно. Сам сделал себе PICkit2 на 4550. Работает отлично.
  11. Подтверждаю. Работать и учиться в аспирантуре практически невозможно нормально. В основном обычно страдает аспирантура :( Пока за год учебы особых научных открытий сделано не было.