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

BSVi

Свой
  • Постов

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

  • Посещение

Весь контент BSVi


  1. Во-первых отключи программатор, во вторых - все выводы, которые используются как входные - должны быть подтянуты кудалибо, все неиспользуемые выводы ставятся как выходы. Если этого не сделать - от наводок выводы могут весеть посередине между логическими уровнями, или переключаться - оба варианта плохи. Еще можешь потыкать пальцем по плате - если потребление меняется, гдето точно висяты выводы в воздухе.
  2. Даже, если FTDI будет выдавать тактовый сигнал (VCO без управления будет работать), то о стабильности выходной частоты без USB-подключения стоит сразуже забыть.
  3. Еще позволю себе добавить, что не RELE, a relay - во-первых мешать транслитерацию (RELE) и английские (OFF) слова - это плохо, во-вторых заглавными буквами обычно обзывают задефайненые константы (ну ладно, это спороный пункт), лично я перечисления и структуры начинаю с подчерка, в-третьих не хорошо сокращать одну букву. В итоге я бы написал так С - вариант в хереде typedef enum { relay_off, relay_on } _relay_state; в си-файле _relay_state relay1_state = relay_off; опять в хидере extern _relay_state relay1_state; С++ - вариант в хереде enum _relay_state { relay_off, relay_on } ; в с++ -файле _relay_state relay1_state = relay_off; опять в хидере extern _relay_state relay1_state;
  4. Флуда многовато. Из дельных ответов пока только uCOS.
  5. Вот это я и имел ввиду. Скорость и обем в современных условиях - впонятия вторичные. Надежность - когда нужна, когда нет. Я лично убежден, что читать чужой код нужно - на своих ошибках учитсья дорого.
  6. Хотелось бы посмотрить на исходники действительно качественно написанного софта (в особенности на C и для встроенных применений). Может у вас бывало такое - читаешь прогу и понимаешь - да, это очень хорошо написанно. Хочется поучится на чужом хорошем примере.
  7. AT91SAM7S

    Частая причина - висячие выводы. Я делаю так - беру пинцетом щуп осцила (при этом на осциле получается синусоида от наводок от сети) и тыкаюсь в ножки. При прикосновении к ножке должны быть нули. Еще есть способ - тупо полапать пальцами плату. Если потребление растет - гдето висячие ножки.
  8. Тут сложность в том, что сложно передать свой опыт проектирования. Он приходит с годами. Каждый кто тянется к клавиатуре уже в мыслях строит что нужно написать примерно. Более того даже хорошо спроектированный софт не будет легко модифицироваться из "танка в самолет" как автор упомянул в первом посте. Такчто XP рулит О_о
  9. Спасибо большое, я эту кнопку видел, но думал, что и дебагвайр и SPI работают одновременно. Оказалось - нет.
  10. Сегдня превый раз баловался с драгоном. Вообщем написал программку (atmega48), отладил исполюзуя debugWire, потом решил фюзы поменять (с внутреннего RC переключиться на внешний кварц). Запустил программатор из avr studio, а он пишет Entering programming mode... FAILED. Запускаю отладчик. По debugwire шьет и отлаживает отлично. Как бы исправить это недорозумение и запрограммировать фузы по ISP?
  11. Оживить AT91SAM7A3

    Было такое с 64 кристаллом. Дело оказалось в плохом кварце. После замены все заработало.
  12. Бороться с дребезгом программным способом очень легко - читаем состояние кнопки - обрабатываем что нужно - если обработка занимает больше 10мс (ио повторной реакции на нажатие кнопки за это время не предвидется), просто оставляем как есть, если меньше 10мс добавляем ожидание на это время без опроса кнопок
  13. Дак в том то и дело, что в разных копиях одной и той-же библиотеки есть разные новые компоненты. Library splitter wizard предлагает просто разделить библиотеку на отдельные компоненты, можно конечно потом туда-же зажделить другую библиотеку, а потом из полученных файлов собрать обратно, но имхо не очень хороошо это. >Там нужно указать опции добавления только новых элементов в основную библиотеку Что-то я там такого не нашел ((
  14. Такая задача. Работают нескуолько человек, добавляют компоненты в библиотеки. Как бы засинхронизировать локальные копии библиотек, чтобы все созданные компоненты были у всех? Пробовал Show Differences. Вроде, получил правдоподобный результат, но при попытке создать ECO, альтиум сказал "Differences found, but no ECO created. Review Project Options" в проджект опшинс везде стоят Generate ECO. Как бы решить эту проблему? С базой данных связываться не хочется.
  15. Спасибо больше за статью. Написал свой первый проектик в слике. Очень удобно. Он сам подстраивается под твой стиль кодирования и иногда спрашивает что-то типа "я вижу, что вы обычно не далаете пробелов после названия функций - изменить шаблон автоподстоновки?" после первого проекта он полностью под меня подстроился без никаких настроек. Количество вряких менбшечек и рюшечек режет глаза О_о. Остался непонятен вопрос - у меня несколько тулчейнов - как скомпилировать таг файлы для них по отдельности, а потом говорить слику какой тулчейн использовать будем? Не понравилось, что из слика компилируется ЗНАЧИТЕЛЬНО медленее IDE IAR'а, почему - непонятно. В любом случает штука стоящая. Еще бы отладку в него и чтобы при добавлении нового файла сам в проект иара добавлял его, было бы вообще супер.
  16. А квадратурный сигнал не с энкодера? Может контакты там звенят?
  17. Я предпочитаю шкурку. Во-первых стирает и тонер и фоторезит, во-вторых если шкурить после сверловки, выравнивает неровности отверстия и припой ложится ровнее.
  18. нет, я не делаю ОС - просто программа, где будет много тайм-аутов, для них хочется иметь хороший (удобный) таймер. При этом программа будет работать на msp430, LPC2000 и PC. Это просто пример. Про (_*_) не обижаюсь, я намного младше по возрасту (скорее всего) и по навыками, чем вы, поэтому надеюсь на наставление на путь истинный ) Про заголовки я так и делаю. Таймеру не нужно много констант, и поэтому там один хедер. Там где нужно их много - типа стеков протоколов связи - так и делаю. Дугое дело вот в чем - где та граница, когда функционал нужно выносить в HAL? Сейчас я решил, что вообще весь модуль таймера нужно вынести в HAL. Те переписать его для всех платформ так, чтоб HAL экспортировал одинаковые функции для таймеров. Может есть какие-нибуть рекомендации по этому поводу?
  19. Я немного другой "таймер" имел ввиду - у меня модуль, который из одного аппаратного таймера делает до 255 виртуальных, которые могут быть использованны таким образом myTimer timer1, timer2 timer1.start( 100, &my_func1 ); // 100 - задержка в миллисекундах timer2.start( 200, &my_func2 ); когда истекает время, вызывается нужная функция. Да, действительно тут тонкая граница которую чувствовать нужно ) Скорее всего, это приходит с опытом которого у меня маловато. Да, может подскажете (или покажите) образцово - показательные исходники на тему - резделение HAL и не HAL )
  20. Народ - вот интересно - кто выносит код для работы с аппаратурой в другие файлы? Вот к примеру есть модуль для работы с таймером. Можно прямо в модуле таймера написать #pragma vector = TIMERA1_VECTOR __interrupt void TimerA_CMP1_Interrupt() { TACCR1+=TIMER_1MS_CONST; ... А можно сделать так void timer_interrupt() { halSetTimerCCR1 ( halGetTimerCCR1() + 1 ); Где timer_interrupt() будет вызываться их interrupts.h в который собрать все прерывания, halSetTimerCCR1 и halGetTimerCCR1() соответственно гдето в модуле для работы с таймером A. Второй подход кажется мне более првильным, но до неприличия разбухает программа всякими .с и .h - это-же на каждую переферию такое нуно. Как бы сделали вы?
  21. Спасибо, прийдется использовать FTшку вместе с LPCхой )
  22. Сабж собственно, может немного и не потеме, но всеже. Контроллер LPC2148, у NXP есть AppNote насчет USB->COM. Легально ли будет использовать филлипсовский vendorid и productid в коммерческом устройстве при том, что юсб часть будет полностью сответствовать AppNote?
  23. Кад - AD 6.9, гербер открывается камтастиком. Правки подразумеваются - ибо там только разводка трансивера (я в вч-дизайне очень мало понимаю, поэтому хочется тупо скопировать разводку) к трансиверу нуно будет еще приристовать контроллер и прочую мелочь ) А как его подложить ищу- найти не могу. Может слепой )) Вроде нашел. Есть документ AR0121 в котором про это рассказывают. Может кому пригодиться.
  24. Работаю с радиоканалом CC2420. У TI есть пример лайаута под эту миркосхемку, в том числе и полосковой линии. Пример в гербере. Возможно ли подложить гербер под плату и "обвести" разводку? Может еще как-нибуть это можно сделать (кроме как измерять все длинны и перенести вручную)?
×
×
  • Создать...