Jump to content

    

Yaumen

Свой
  • Content Count

    190
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Yaumen

  • Rank
    Частый гость
  • Birthday 06/08/1971

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

2207 profile views
  1. Использовал ли кто-нибудь Petit FatFS для работы с USB Flash? Насколько оправдано использовать эту библиотеку, какие есть подводные камни!? Или однозначно лучше использовать старшего брата - Elm Chan's FatFs ?
  2. Может у кого завалялся готовый компонент для микрофонов HMO-0603 (особенно) и HMO-1003 для Altium или хотя бы footprint!? Заранее, огромное спасибо!
  3. К сожалению, я такие разъемы так и не смог найти. Есть другой вариант, на Алике многие продают модули с похожими разъемами, но что за оно и продается ли это отдельно, не в модулях, так и не смог узнать. Может кто-нибудь сталкивался с такими разъемами:
  4. Спасибо, не думал, что это авторское изделие от производителя XBEE
  5. Помогите опознать разъем!!! Разъем типа PLD2- однако один из контактов является этакой упрощенной пружиной для подключения модулей с торцевыми контактами, как в данном случае модуля XBee
  6. Добрый день. Столкнулся с проблемой. Невозможно запрограммировать PIC16F883 при питании схемы от внутреннего источника. Т.е. если я выключаю питание и в программаторе PICKIT3 выставляю питание от PICKIT3, то кристалл шьется. Если я пытаюсь запрограммировать при включенном питании устройства, то PICKIT3 не видит кристалла. Ругается на то, что ID не распознан: Питание: +5V MCLR/Vpp: подтянут к +5 через 4к7 (больше в схеме никуда не подключен, используется только для программирования) ICSPDAT и ICSPCLK: подключены ТОЛЬКО к PICKIT3! Помогите разобраться, что не так, что надо сделать, чтобы шить код при включенном питании устройства и, что самое главное, иметь возможность отлаживать код на реальном устройстве.
  7. Да!!! Так и есть, каждый байт надо обязательно стробировать импульсом CS. Можно ли это отключить - не знаю, перепробовав различные режимы, так и не смог заставить работать как надо. Придется связываться с разработчиком МАСТЕРА, чтобы узнать возможно ли изменить его программу, чтобы каждый передаваемый байт стробировался CS. Если кто-то знает способ как заставить LPC2366 работать без этой фичи или еще лучше вообще без использования SSEL, буду весьма признателен!!! Пробовал делать и так и так. Коду в принципе все равно, сколько байт пришло 1 или несколько, примет столько сколько есть в буфере. Когда подключил к своему МАСТЕРУ и начал стробировать данные, все заработало как часы. Кстати в UserManual тоже нарисовано на графике Fig.93, что каждый байт должен стробироваться CS-ом. Вот засада!!! Кто же знал!?
  8. Похоже, что проблема в том, что каждый байт передаваемый МАСТЕРОМ должен стробироваться сигналом SSEL, т.е. после каждого байта необходимо подымать SSEL в высокий, а затем опять ставить его в низкий. Мне такой режим не подходит, так как МАТЕР выставляет SSEL на время передачи всех 4-х байт и не стробирует каждый из них. Возможно надо использовать какой-либо другой режим работы SSP0, чтобы он был нечувствителен к стробированию сигналом SSEL? А что тут стремного, для SSP есть буфер FIFO, пока я работаю с обработкой одного прерывания, по SSP может уже прийти несколько байт, вот и вычитываю, пока входной буфер не опустеет. Нормальная практика!!!
  9. Есть некое устройство (МАСТЕР) которое каждые 20 мс по SPI (частота SCK = 50кГц) посылает команду состоящую из 4-х байт: [HEADER = 0x69] [СОСТОЯНИЕ 1] [СОСТОЯНИЕ 2] [КОНТРОЛЬНАЯ СУММА] В моем устройстве, выполненном на LPC2366, эта команда поступает на интерфейс SSP0, который я настроил на режим SLAVE. SSP0CPSR = ...; SSP0CR0 = 0x107; //8bit, SPI, CPOL=CPHA=0, SCR=1 install_irq(SSP0_INT, (void*)SSP0Handler, HIGHEST_PRIORITY); SSP0CR1 = SSP0CR1_SSE|SSP0CR1_MS; //SSP enabled in slave mode SSP0IMSC = 0x04; // Enable Receive Interrupt (RXIM only) Прерывания от SSP срабатывают, однако сколько бы я не вычитывал SSP0DR, вычитывается только байт HEADER = 0x69, т.е весь массив bySpiData заполняется значениями 0x69 volatile BYTE bySpiData[256]; volatile BYTE bySpiIndex = 0; volatile DWORD dwSpiReceived = 0; void SSP0Handler (void) __irq { while (SSP0MIS_RXMIS & SSP0MIS) { bySpiData[bySpiIndex++] = m_SSP0.Read() & 0xFF; dwSpiReceived++; } VICVectAddr = 0; // Acknowledge Interrupt } Что я делаю не так?
  10. Действительно, интересует законченный модуль типа SIM20 (снятого с производства) или модулей Radicraft (которые дешевыми не назовешь). Посмотреть конечно можно, но вот оценить их стоимость и доставаемость нет. EFIND не находит на складах, ни у одной из контор. С AnyData в этой части всегда были проблемы, помню времена, когда искал модуль для CDMA 450, которые выпускал AnyData. К сожалению - это не модуль, а чип, под который необходимо делать обвязку. Конечно можно тупо из Datasheet скопировать топологию разводки и надеяться, что все волшебным образом заработает, а если нет!? Да и какие характеристики модуля получатся из этого, тоже вопрос. Что касается антенны, то меня не пугает использование антенны типа ANT 868 CW-HW SMA LINX. Габариты устройства позволяют. Частота тоже любая в пределах разрешенных: 433, 868, ...
  11. Посоветуйте надежный и недорогой приемопередатчик с устойчивой связью на расстоянии до 1 км в зоне прямой видимости (минимум 300-400 м). - питание 3.3V - интерфейс UART со скоростью не ниже 9600, а лучше 38400-57600. - приемопередатчик должен быть самодостаточным, т.е., чтобы небыло необходимости связываться собственно с разводкой высокочастотной части (с одной стороны подключил антенну, с другой питание и интерфейс для связи и все). - желательно не "noname", так как необходмимо использование модулей в мелкосерийном производстве с постоянными характеристиками, интерфейсами и габаритами на протяжении нескольких лет. - приемопередатчик должен использовать только разрешенные чатотные диапазоны. - желательно наличие встроенной фильтрации адресации, чтобы один мастер мог работать с несколькими абонентами
  12. Спасибо. Совершенно запутался во всех этих кодировках. Забыл, что тут считается не символами, а тетрадами, поэтому получается 18-ть тетрад, т.е. 0x12.
  13. Пишу свой код, работающий с СМС в PDU формате. В определенный момент модуль принял СМС от оператора, в котором номер отправителя (ОА) был закодирован не цифрами, а символами: "12D0CEE0942A7D265BCB20". Разбирая такую СМС, вижу: 12 - длина сообщения - 12 байт D0 - алфавитно-цифровое представление CEE0942A7D265BCB20 - адрес отправителя в 7-ми битной кодировке: "NASTROI-KA" И все вроде бы понятно, за исключением того, почему длина 12 байт, если длина строки "NASTROI-KA" всего 10 байт ?
  14. Сейчас попробую перепрошиться, посмотрим. Спасибо P.S. Перепрошился. По включению отправил 7-м СМС, все удачно, раньше такого не бывало. Ох, и подыму я себя СМСками на деньги сегодня ;) Спасибо, будем считать, что вопрос снялся!