Jump to content

    

yashok

Участник
  • Content Count

    60
  • Joined

  • Last visited

Community Reputation

0 Обычный

About yashok

  • Rank
    Участник
  • Birthday 01/04/1987

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array
  1. LPC1768 USB DMA

    Передаеться пакет 512 байт, потом ответ на команду 13 байт. РАзмер точки 64. Так вот иногда вместо передачи 512 байт передается 461. Т.е. пердаеться 448 байт данных и 13 байт ответа на команду. Уже все прошерстил, ничего не понимаю. В статусе dma все правильно, и нужное количество байт перегнал, и адрес последнего переданного байта правильный (именно когда передаеться не полный 512 байтовый пакет). В проверках свободна ли точка контролировал и первый и второй буфер точки. НИЧЕГО НЕ ПОМОГАЕТ!!! На счет того что не передаються именно последнии данные это я написал неверно. Из эксперементов стало видно, что могут не передоваться обсолютно любые 64 байта внутри 512-ти байтового пакета.
  2. LPC1768 USB DMA

    Всем добрый день. Ситуация следующая. Пытаюсь запустить в своем проекте usb mass storage device. Использую библиотеку nxpusblib. Ранее был опыт работы с USB CDC и USB RNDIS, так же пользовался этой библиотекой. Все сделал на основе примера из этой библиотеке, дискрипторы взял из радного примера от LUFA. Вообщем при передачи, парой передаються не все данные, не передается последняя часть данных равная размеру точки. Менял размер точек и в usb анализаторе видел, что всегда не хватает количества данных, которое равняеться размеру точки. Причем все может работать долго (пару минут) не наступит такая ситуация, а бывает и 10 секунд не проработает. Может кто-нибудь сталкивался с таким. Испульзую IAR.
  3. stm32f103 USB CDC

    Проверял и на разных сторонних терминалах. Ничего, данные от контролера не приходят. Заметел такую вещь. Если после заливки кода напрямую, выкл/вкл питание и зайти в дебаг режим тоже работать не будет , а если рестартануть контролер из дебага все работает. Также заметил, что когда данные не отправляются, также в регистре соответствующего endpoint'а не выставляется бит отправки.
  4. stm32f103 USB CDC

    Всем добрый день. Появилась следующая проблема. Есть тестовый проект, где происходит элементарное общение контролера с программой на компьютере. Программа шлет пару байт, контролер принимает и отвечает (также пару байт). Использую стандартную библиотеку для USB от STM. В дебаге все работает - появляется com порт, до контролера доходят данные, он отвечает и ответ доходит до программы на компьютере. Но стоит просто залить прошивку (без дебага), как все перестает нормально работать, а именно до программы на компе данные дойти не могут. Com порт определяется, контролер получает корректные данные (проверел по светодиодам), а вот программа на компе ничего не получает. Мож кто подскажет вчем дело.
  5. Я шифрую по алгоритму Triple DES (3DES). При заливке на ходу расшифровывается и пишется во флэш. Процы из серии lpc 17xx с прошивкой ~500 kB прошиваются чуть меньше чем за 6 мин. Вся эта защита необходимо если перепрошивкой занимается конечный пользователь.
  6. Все разобрался. Оказывается когда IPCP отправлял ему запрос по пораметрам сети модем отвечал, что не нужно спрашивать его DNS (такая симка попалась). IPCP видит что ответ не с параметрами, говорит что пришла ерунда и повторно дает запрос на параметры. Когда подключил модем к компу увидел, что он также при подключении запрашивает параметры, модем ему отвечает, что DNS запрашивать не нужно, винда повторно запрашивает параметры только уже без DNS и все впорядке. Убрал в lwIP запрос на DNS (ppp_settings.usepeerdns = 0;) и корпаративная симка заработала. Но почему работал TM1 НЕ ПОНЯТНО!
  7. Доброго времени суток, форумчане. Столкнулся со следующей проблемой. На форуме пока не нашел ответа. Есть две платы с разными процессорами и модемами. Модемы Sim300 и TM1. Для установки ppp соединения используется lwIP. Код залитый в микропроцессоры практически едентичен (отличия по части железа). Проблема заключается в следующем. При подключении по GPRS, когда в дело вступает IPCP протокол (LCP), сеть шлет параметр настраиваемых опций - 4 (Mobile-IPv4). К сожелению lwIP поддерживает только первых 3 (IP адреса, Протокол сжатия IP, IP адрес). Это выяснилось при дебаге платы где стаит SIM300. На плате где стоит модем Teltonika TM1 подключение проходит нормально, но возможности дебажить эту плату нет. Может как-то можно настроить GPRS, что бы сеть не работала с Mobile-IPv4?? Зарание благодарен.
  8. Еще бы не плохо в прерывании смотреть то ли это символ пришел, то ли тайм-аут сработал.
  9. I2C в LPC2378

    А линии к питанию подтянуть не забыли??
  10. I2C в LPC2378

    VIC у lpc21xx и lpc23xx отличается. Для 23-х необходимо VICIntSelect &= ~(1 << 9); VICVectAddr9 = (uint32_t)&I2CISR; VICVectPriority9 = 13; VICIntEnable |= (1 << 9);
  11. Была недавно похожая ситуация. При измерении АЦП иногда выдовал 0. Измерения проводились сразу на нескольких каналах и на всех этих каналах проскакивал ноль. Удалось определить, что АЦП начинает глючить, когда происходит передача данных через GSM модем, установденный на плате. Последовательность измерений была такая. 1. По прерыванию от таймера запускался на измерение первый нужный канал. 2. По прерыванию от АЦП выяснялось, какой канал преобразовался, бралось его значение, этот канал выключался и включался на преобразование следующий нужный канал. 3. Когда преобразовались все каналы, опять ждалось прерывание от таймера. Помагло следующая вещь. Когда случается прерывание от АЦП, записываю в управляющий регистр ADCR в биты 24:26 три нуля, указывая что измерения не производятся. Аномалия с нулями исчезла.
  12. Посмотреть бы ваш код работы с АЦП.
  13. В железе в прерывания попадаете?? Линии к плюсу подтянуты??
  14. I2C в LPC2378

    I20CONCLR = 0x000000FF; Может лучше придерживаться советов из мануала и очистить только нужные биты I2CONCLR= 0x6С;
  15. I2C в LPC2378

    Вы компилируете со смещением адресов и прошивку в ram заливаете?? Если не, то это лишнее MEMMAP = 0x02;