Jump to content
    

cybersonner

Свой
  • Posts

    167
  • Joined

  • Last visited

Reputation

0 Обычный

About cybersonner

  • Rank
    Частый гость
    Частый гость
  • Birthday 01/19/1985

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

2,670 profile views
  1. В общем пока результаты не прочитаю- флаг не сбросится. Итого: void ADC_InterruptHandler(void) { static uint16_t temp[16]; uint8_t i; for(i=0; i<16; i++) temp[16]=ADC_ResultGet(i); TEST_Set(); IFS1CLR = _IFS1_AD1IF_MASK; TEST_Clear(); if (ADC_CallbackObj.callback_fn != NULL) { ADC_CallbackObj.callback_fn(ADC_CallbackObj.context); } }
  2. Спасибо, очень похоже на то, что флаг не сбрасывается. Весь обработчик прерывания (уж проще сложно придумать): TEST_Set(); IFS1CLR = _IFS1_AD1IF_MASK; TEST_Clear(); Завтра в железе проверю отладчиком, сбрасывается ли флаг.
  3. Таймеры заняты в проекте. Проблема не в том, что частоты неточная, а в том, что она даже близко не та, которая задумана. Даже в теории 734 кГц получиться никак не должно.
  4. Контроллер PIC32MX795F512L, дописываю проект. Пытаюсь запустить АЦП на прерываниях, 16 каналов (auto sampling), прерывания на каждый 16 результат (когда готовы результаты всех каналов). Частота CPU 80 МГЦ, PCLK делитель на 8 (10 МГц). Хочу получать частоту дискретизации 500 Гц для каждого канала (8 кГц для всего ацп). В обработчике прерывания ацп сбрасываю флаг прерывания, дергаю ногой вверх и вниз, которую смотрю осциллографом. По итогу получаю частоту прерываний 734 кГц, что выглядит странно. Пытался менять ADCS и SAMC регистры- частоты эта не меняется. Текущие настройки (в отладчике проверял- так и есть): AD1CON1 = 0xe4; AD1CON2 = 0x243c; AD1CON3 = 0xc18; Пробовал накидать проект (вся программа: в обработчике прерывания ацп ногой дергаю) на Harmony3 (тут версия xc32 другая, пробовал даже на другом экземпляре контроллера)- та же проблема. В какую сторону смотреть?
  5. Травил перекисью и лимонной кислотой. Отлично получалось. Перекись из аптеки, лимонная кислота из магазина- большая пачка. Травит несколько часов при комнатной температуре. Мне понравилось больше, чем хлорным железом- труднее испачкаться.
  6. Приблизить к вращающимся лопастям что-нибудь, например установить металлический уголок.
  7. Поймал на фото тот самый момент: на одном фото все хорошо, на втором- после этого фото светодиод был установлен со смещением. Я считаю, что софт фокусируется не на том сопле, не на той детали. Хотя вариант с маркером возможно рабочий- если на нужном сопле какое-то расплывчатое пятно (деталь+ пятна светлые на сопле), то соседняя деталь выглядит лучше (четче), на ней софт и фокусируется. Проверить не могу- уже поменял работу. Скорее всего все как у топикстартера. Детали в таком случае ставятся ровненько, но с одинаковым смещением в сторону. В настройках сопел все хорошо- в начале выполнения программы сопла находятся очень точно.
  8. Он смотрит на сопла нижней камерой и фокусируется не на том сопле. В момент этот даже фото сопла чуть меньше. Детали ставит левее или правее. Не помню точно. Общался с дилером: "поиграйтесь с подсветкой, там рядом с подсветкой нижней камеры переключатели, пощелкайте ими". То ещё шаманство, у меня в итоге не получилось. Можно ещё попробовать, чтобы раскладчик центровал сразу все компоненты, делая снимок всех сопел с деталями(как включается это не скажу, сейчас под рукой раскладчика нет). В теории должно помочь. Меня это сильно достало и я просто использовал два сопла по диагонали.
  9. Куча плат отладочных, на которых только PHY со штырями. Гуглить "Модуль Ethernet phy".
  10. Взять другую библиотеку? не libMPSSE.a, а libMPSSE.lib (и то и другое есть в файликах LibMPSSE). (это чисто в теории)
  11. А зачем семафор? По результату все это сложное работает как если бы задача poll_button просто проверяла состояние входов кнопок.
  12. вроде "?" -один символ, а "*"- любое количество символов
  13. я предположил, что возможно у используемых ног (например на шине данных) неправильно выставлены биты, определяющие скорость работы.
×
×
  • Create New...