Перейти к содержанию
    

Палыч

Свой
  • Постов

    2 477
  • Зарегистрирован

  • Победитель дней

    2

Весь контент Палыч


  1. При включенной зарядке у меня Siemens'ы показывали и больше 100% заряда - при проверке заряда, заряд надо отключать.
  2. Вот здесь кое-что по включению по проводам телефонов Siemens Mob_PC.htm Заряд батареи контролируют командой AT+CBC Можно применить такой алгоритм включения-отключения заряда: при падении заряда ниже N% - включаем заряд, при превышении заряда М% - отключаем.
  3. Обычно, в этом нет необходимости. Симки продаются с прописанным номером сервисцентра. В PDU указывают номер "по-умолчанию".
  4. USART ATTINY2313

    Такое устройство называется не USART, а Serial Peripheral Interface (SPI) или Universal Serial Interface (USI) в tiny2313.
  5. ИМХО, с помощью того же окна Memory Window, только в адресе необходимо поставить спецификатор памяти, которую Вы желаете посмотреть B Bit–addressable RAM memory (BIT). C Code memory (CODE). CO Memory range for constants (251 CONST). D Internal directly-addressable RAM memory of the 8051 (DATA). EB Extended bit-addressable RAM memory (251 EBIT). ED Extended data RAM memory (251 EDATA). HC Huge memory range for constants (251 HCONST). I Internal indirectly-addressable RAM memory of the 8051 (IDATA). X External RAM memory (XDATA). т.е. место D поставить X
  6. Навскидку - длина номера телефона 11 ( т.е. 0B), а не 12 (0С) как у Вас: т.к. добавок до четного числа (F) - не считаем
  7. ИМХО, в телефоне для Билайна номер сервисного центра не установлен "по-умолчанию" в настройках
  8. Возможно, Вы находитесь вблизи базовой станции. У меня были такие же проблемы... Если отключить антенну - с модулем (скорее всего) ничего плохого не случится - сам так пробовал, но, при близкорасположенной станции модуль не теряет связи со станцией даже при отсутствии антенны - ловит на пустой разъем... Пришлось опуститься в подвал...
  9. IMHO, в WinAVR получить что-либо из памяти программ можно только функциями pgm_read_****() См. < avr/pgmspace.h >
  10. UDL - всегда (!) два символа (октет). Его значение - см. предыдущий пост. Число символов (знаков) в пакете на символ сообщения зависит от кодировки, причем это распространяется только (!) на поле UD. При "обычной" кодировке - семь бит на символ сообщения упаковываются в октеты и в результате имеем примерно 7/4 символа (знака) поля UD на символ сообщения, при UCS2 - 4 символа (знака) поля UD на символ сообщения. Чтобы прояснить всякие детали - найдите в сети программу PDUspy. Она генерит и декодирует PDU в различных настройках/кодировках- всё это на экране дисплея, и для её работы ничего более не требуется
  11. DCS задает кодировку поля UD. Длина (UDL): для 7-мибитных данных -число символов (семибитных), для 8-мибитных и UCS2 - число октетов в UD. Возможные значения DCS (группа 00хх) биты 7,6 = 0 бит 5 = 1 - текс SMS сжат (0 - не сжат) бит 4 = 0 - биты 0,1 - не несут смысловой нагрузки (1 - биты 0,1 - класс сообщения) биты 3,2 - используемый алфавит (00 - по умолчанию, 01 - 8бит, 10 - UCS2) биты 1,0 - класс сообщения (если бит 4 = 1) PS. Значение DCS=08 при кодировке UCS2 - это то, что нужно
  12. Так делать можно, но 1. Сбрасываете TXC, а контролтруете UDRE 2. Сброс TXC осуществляется после загрузки данных в UDR, и, если приведенная процедура выполняется при открытых прерываниях, то возможно длительное по времени прерывание после записи в UDR. И, возможно, Вы сбросите выставленный (и нужный Вам) флаг.
  13. Не понял вопроса... Этот вопрос - к команде "AT+CLCC" ? Для того, чтобы получить номер звонящего по команде AT+CLCC - принимать звонок - не нужно. Более того, если это - нежелательный звонок (по результатам ответа на команду AT+CLCC ), то можно его (звонок) и отклонить.
  14. Воспользуйтесь командой AT+CLCC которая называется "Список текущих соединений оконечного устройства".
  15. Нет под рукой DS на at90can128, но, по-моему, Вы настраиваете внешние прерывания INT6-INT7, а, обработчики прерываний INT1-INT0 PS. Нашел DS - так и есть: настраиваются одни прерывания, обрабатываются - другие. Кроме того, EIFR = 0x00 - бессмыслено. Флаги в EIFR сбрасываются аппаратно при выполнении обработчика, а, для программного сброса флагов (если это необходимо) нужно прописывать в него единицы(!) для разрядов, которые желаете сбросить.
  16. Можно, наверное, воспользоваться каким-нибудь редактором, в котором реализован поиск. Загружаете Ваш исходник в редактор, и пытаетесь найти имя первой программы-кандидата на вычеркивание. Если нашли только один раз (нет вызова), этим же редактором можно поправить исходник - выкинуть подпрограмму. Такая процедура будет длинной - необходимо будет пройти в несколько проходов: программа, вызов которой обнаружился в выброшенной программе, может уже и не использоваться!
  17. Для отправки СМС Вы включаете режим PDU. В служебной информации PDU указываете, что текст сообщения имеет кодировку UCS2, далее идет само сообщение в указанной кодировке. К модему все это - не имеет отношения. ЗЫ. Всё текстовое сообщение - в одной кодировке, той, что указана в служебной части PDU. Если в тексте только символы из основного набора применяйте для этого сообщения семибитную кодировку, ну, а если в тексте присутствует хоть один символ кириллицы - UCS2 (для всего сообщения, и для символов из основного набора тоже).
  18. Лучше для этих целей воспользоваться программой PDUspy
  19. Что за данные? Настройки устройства? Протоколирование нажатий кнопок клавиатуры?.. Ответ: Ну, например, использовать 512 байт EEPROM. Вопрос, конечно, сформулирован очень расплывчато...
  20. "Быстро и красиво"... Хм... При отправке SMS на русском альтернативы для "PDU - UCS2" - нет. Отсюда следует и плясать.
  21. mega128+VMLAB+TTY

    В m128 UART0 имеет выводы на РЕ0-РЕ1
  22. IDA этот тип процессора - поддерживает. Но, ему (IDA) нужно немного помочь - благо это интерактивный дизассемблер. У Вас IDA какой версии? Для версии 4.7.0.830 (которая есть у меня) необходимо: -при запуске указать Disassemble a new file и выбрать дизассемблируемый hex -В окне "Load a new file" выбрать тип процессора Intel 51 series 8051 и нажать Set; убрать все галки из Options; выбрать тип файла Intel Hex object format; жмем ОК -в вывалившемся окне выбираем подходящий девайс (можно по-умолчанию) и ОК; не обращаем внимание на то, что IDA не вожет определить точку входа -создаем сегмент кода:Edit->Segments->Create segment name: code start: 0 end: оставляем, что было base: 0 class: code -в окне IDA View A находим code:0000 ставим туда курсор и жмем латинскую С (или Edit->Code) Получили НЕ бессмысленный набор команд, который еще можно поправить дополнительными командами... PS Все сказанное выше для начала дезассемблирования. Все Ваши "подсказки" будут сохранены при выходе из IDA в базе (расширение файла idb). При дальнейшей работе над дезассемблируемой программой необходимо выбрать ее (базу для дезасемблирования программы) при старте IDA двойным щелчком мыши в окне Welcome to IDA.
  23. Да, что Вы мучаетесь? Умножте float на 100...1000...10000... да преобразуйте к int (или long), а уж для целых чисел можно найти пример преобразования в BCD или самому уж написать.
  24. Для CADiLO Подскажите, пожалуйста, можно ли для определения уровня сигнала использовать значение rssi, полученное командой "AT+CSQ" ? Если - нет, то почему?
×
×
  • Создать...