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

reload

Участник
  • Постов

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

  • Посещение

Репутация

0 Обычный

Информация о reload

  • Звание
    Участник
    Участник

Посетители профиля

865 просмотров профиля
  1. При срабарывании шлейфа тревога "защелкивается" в самом приборе, поэтому восстановление шлейфа не должно приводить к пропаданию тревоги. Вам поможет только перепостановка. Хотя, _basile прав. Что за прибор у вас? Не кустарный, часом?
  2. Up. За прошедшее время: -появился опыт работы с USB Mass Storage и FAT16 (в том числе, эмуляция файловой системы); -разработан прибор управления автоматикой, работающий в составе радиоканальной охранно-пожарной системы; -разработан автономный программатор, предназначенный для прошивки микроконтроллеров без использования ПК. Готов выслать по Вашему запросу список и краткое описание разработанных мной электронных устройств.
  3. Предложу и свои услуги. Е-маил: job_uc гав bk точка ru Скайп: job_uc
  4. Появилось свободное время. Обращайтесь.
  5. adnega, а скайп поднимается при включении компьютера. Сам! Правда, я эту его функцию отключаю сразу, мешает он сильно. Возникает другой вопрос (не говоря о фантастичности самого "пальца"): компьютер включился, скайп запустился - что дальше? КАК заставить скайп взять трубку при входящем видеозвонке? Чтобы что-то там наблюдать в веб-камеру? Если ТС так приспичило именно глядеть через интернет, что творится у него дома (а истинной цели его изобретения мы до сих пор не знаем), то для этого есть дешевые роутеры, веб-камеры и OpenWRT.
  6. Можно считать это намеком, что я отношусь к категории "остальные"?
  7. Как с Вами связаться? ЛС не работают.
  8. 7 вакансий инженер-электроник, связанных с разработкой электроники... для полуторомиллионного города... Как минимум, найти хорошую работу тяжело.
  9. Опыт разработки устройств, работающих по радиоканалу (433 МГц), для охранно-пожарных систем. На данный момент в первую очередь ищу удаленку, но также готов рассмотреть варианты постоянной работы в Новосибирске. Если не найду подходящего варианта в Новосибирске в ближайшее время - готов рассмотреть варианты работы с переездом в Москву.
  10. Разработка электронных устройств на базе микроконтроллеров AVR, PIC, STM8 и ARM Cortex M3 (STM32), практический опыт работы с интерфейсами USART, SPI, I2C, I2S, USB, RS485, аналоговая и цифровая схемотехника, создание библиотек компонентов и схем в P-CAD, небольшой опыт разводки печатных плат в P-CAD. Разработка программ для микроконтроллеров на языке C в средах IAR, WinAVR, MPLAB. Моделирование узлов электронных схем в Micro-CAP. Математическое моделирование и расчеты в Math-CAD. Опыт работы 7 лет. Подробно о завершенных проектах - в личной переписке. Ищу подработку или постоянную работу. Проживаю в Новосибирске. Весной готов рассмотреть варианты с переездом в Москву. Подробности в личном сообщении или по почте job_uc (собака) bk.ru
  11. Недавно переделал Micro-Menu под dsPIC (MPLAB C30 v2.04). Делюсь опытом: Все изменения в файле Menu.h Во-первых, выбрасываем #include <avr/pgmspace.h> Во-вторых, вместо typedef struct { void *Next; void *Previous; void *Parent; void *Sibling; FuncPtr SelectFunc; FuncPtr EnterFunc; const char Text[]; } Menu_Item PROGMEM; должно быть typedef const struct { void *Next; void *Previous; void *Parent; void *Sibling; FuncPtr SelectFunc; FuncPtr EnterFunc; char Text[]; }Menu_Item; и в-третьих, вместо #define PREVIOUS *((Menu_Item*)pgm_read_word(&CurrMenuItem->Previous)) #define NEXT *((Menu_Item*)pgm_read_word(&CurrMenuItem->Next)) #define PARENT *((Menu_Item*)pgm_read_word(&CurrMenuItem->Parent)) #define SIBLING *((Menu_Item*)pgm_read_word(&CurrMenuItem->Sibling)) #define ENTERFUNC *((FuncPtr*)pgm_read_word(&CurrMenuItem->EnterFunc)) #define SELECTFUNC *((FuncPtr*)pgm_read_word(&CurrMenuItem->SelectFunc)) должно быть #define PREVIOUS *((Menu_Item*)(CurrMenuItem->Previous)) #define NEXT *((Menu_Item*)(CurrMenuItem->Next)) #define PARENT *((Menu_Item*)(CurrMenuItem->Parent)) #define SIBLING *((Menu_Item*)(CurrMenuItem->Sibling)) #define ENTERFUNC *((FuncPtr*)(CurrMenuItem->EnterFunc)) #define SELECTFUNC *((FuncPtr*)(CurrMenuItem->SelectFunc)) Вроде, всё. Надеюсь, кому-нибудь поможет.
  12. Опыт показывает: программирование МК в программаторе до пайки не исключает потребности в разъеме под внутрисхемное программирование. Или бутлудере (и, опять же, разъеме) ;)
  13. Все тоже самое можно сделать и для Pony Prog c помощью файла .e2s с несложным скриптом +1 Чем пользоваться - дело привычки. Но у PonyProg скрипты позволяют много чего сделать (помимо основной функции - упрощения процесса программирования). Например, есть возможность сериализации - с помощью скрипта можно заменить байты (по указанному адресу) с помощью команды SERIALNUMBER. Это удобно для задания идентификатора устройства. Пример: SERIALNUMBER 0 0x0100 2 PROG LITTLEENDIAN YES По адресу 0x0100 в памяти программ заменить 2 байта числом 0, использовать автоинкремент (при следующих программированиях будет записано 1, 2, 3 и тд), формат числа - LITTLEENDIAN. PonyProg вроде как теперь не обновляют (последняя версия 2.07c), новые контроллеры не поддерживаются. Как с этим делом у AVReal?
  14. режим ping-pong в USB - CDC

    Собственно, разобрался (уже несколько недель назад). Если кому интересно, ошибка была в том, что я инвертировал DTS и задавал его для того же дескриптора, по которому принимал (even-even, odd-odd), а надо инвертированное зачение DTS задавать для дескриптора, по которому БУДУ принимать (even-odd, odd-even). Toggle = (CDC_BULK_EVEN_BD_IN.Stat._byte & _DTSMASK) ^ _DTSMASK; CDC_BULK_ODD_BD_IN.Stat._byte = _USIE|_DTSEN|Toggle;
  15. режим ping-pong в USB - CDC

    Задача - наладить обмен между компьютером (USB) и устройством (RS485), посредником в обмене выступает этот контроллер (по сути - мост). Взял за основу CDC "Microchip USB C18 Firmware - CDC Version 1.0". Основная часть программы уже написана. Возникла проблема с недостаточной скоростью обмена. Добавил пинг-понг: выбрал 3 режим - пинг-понг для всех конечных точек кроме нулевой и прописал BD для EVEN и ODD для конечной точки EP3. В usbdrv.c в USBDriverService() добавил чтение USTAT и определение, в какой буфер записывались данные в последней транзакции для EP3 (выставляю флаг even/odd для IN и OUT буферов), в cdc.c в функциях getsUSBUSART() и CDCTxService() проверяю состояние этих флагов и в соответствии с ним читаю/пишу в нужный буфер. Для отладки вывожу в ком-порт состояние флага и значение USTAT. Проблема заключается в том, что часть передаваемых по USB пакетов не вызывает поднятие флага TRNIF. Это происходит когда even-буфер заполнен и Serial Interface Engine по идее должен писать в odd-буфер, поднимать флаг и помещать USTAT в FIFO-буфер. Но этого, по-видимому, не происходит. Однако, следующий пакет благополучно помещается в odd-буфер. Встречался ли кто-нибудь с подобной проблемой?
×
×
  • Создать...