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

Mikhail1954

Свой
  • Постов

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

  • Посещение

Репутация

0 Обычный

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

  • Звание
    Частый гость
    Частый гость

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

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

1 793 просмотра профиля
  1. Дело в том, что мешают неконтролируемые помехи в зоне прохождения кабеля, а не шумы источника питания, про которые все известно и понятно, как их учитывать. Поэтому сверхмалошумящий источник питания не актуален. Передача питания по согласованной витой паре с экранированием и фильтрацией является основным вариантом. Но оптика решила бы вопрос радикально, а цена $300 вполне устроит.
  2. Большое спасибо за обсуждение, вообще-то конечно задача описана невнятно, но надеялся на чудо. Речь идет о датчике, основным является помехозащищенность. Помехи и ВЧ и НЧ. Сделан вариант с передачей сигнала по волокну, но теперь помеха пролезает по проводам питания. Конечно тут хорошая фильтрация помогает. А затем возникает бредовая идея с питанием по волокну, раз сигнал уже оптический. Реально ток меньше 50 мА, от 14 до 35. При этом опрос не постоянный и можно поставить аккумулятор, через волокно подзаряжать его током, скажем, 10 мА. Место, правда, ограничено, и если нельзя вписаться в плату порядка 50х50 мм, то конечно остается только к датчику крепить батарейки и регулярно их менять, что не очень удобно. По стеклу красивее было бы.
  3. Очень желательно питать малопотребляющее устройство - 5В х 50 мА - по оптоволокну. Расстояние несколько метров. КПД не принципиально. Источник, вероятно, можно сделать из одного или нескольких мощных излучающих диодов. А вот какой тут пойдет фотоэлектрический преобразователь, и вообще, реальна ли эта затея? Максимально у фотодиода можно получить порядка 100 микроампер, если не ошибаюсь, как-то мало. Даже из 10 штук получается только 1мА.
  4. Спасибо. Это то, что хотелось. Правда, успел уже сам разобраться. Все это, включая определения функций, отлично описано в мануале "16-Bit Language Tools Libraries", в который, признаться, только теперь заглянул. Главное, не забыть #include <libpic30.h>.
  5. Спасибо за совет. Ваш метод, как я понимаю, состоит в размещение по абсолютному адресу указателя на начало массива или структуры. Потом можно считывать (если уже есть, что). Есть еще пара мелких вопросиков. 1. Данные на момент компиляции отсутствуют и появятся после, в run time. Так что главное - операции стирания и записи блоков флеш. А их-то как на С30 реализовать? 2. А нельзя отказаться от прописывания абсолютного адреса и сделать так, чтобы линкер сам размещал массив? А то ведь при линковке код еще наедет на этот адрес и будет ерунда. Придется вручную подгонять адрес. Или это бессмысленные мечтания? Успехов!
  6. Есть PIC24FJ256 , используется C30, хочется выделить в памяти программ место под данные (100Кбайт), которые будут генерироваться постепенно в процессе работы устройства, записываться и затем использоваться. Цеплять внешнюю память конечно можно, но нецелесообразно. Как сделать это на С30? Для PIC18 на PICC удавалось. Есть AN1095, но уж больно там накручено. Ресурс перезаписи не беспокоит, так как перезапись будет только в единичных количествах. Спасибо.
  7. Спасибо, порт действительно решает вопрос. Просто я плохо знаком с идеологией пикада, а хочется рисовать подключения к питанию красивыми стрелками.
  8. Допустим, есть компонент VCC типа POWER , а мне нужно на схеме много аналогичных - VDD, VEE, +3.3V и т.д. Можно ли в Library Executive копировать VCC с переименованием и изменением цепи подключения, а не создавать каждый раз заново? Как-то у меня не выходит.
  9. Обманывает, конечно. Вот кусок call frame, каждый повторный вызов RenderStringDisplay смещает стек на 4, пока дело не дойдет до "приличных" функций, которые стек не отгрызают. FUNCALL main, RenderStringDisplay LOCFRAME CSTACK, 12, STACK FUNCALL main, RenderStringDisplay LOCFRAME CSTACK, 16, STACK FUNCALL main, RenderStringDisplay LOCFRAME CSTACK, 20, STACK ............................................. FUNCALL main, RenderStringDisplay LOCFRAME CSTACK, 32, STACK FUNCALL main, RenderCursor LOCFRAME CSTACK, 32, STACK FUNCALL main, WaitNonBusy LOCFRAME CSTACK, 32, STACK Удивительно, но через какое-то время стек "вдруг" отдается. FUNCALL main, EnableRXInterrupts LOCFRAME CSTACK, 32, STACK FUNCALL main, RenderCursor LOCFRAME CSTACK, 8, STACK Т.е. как бы все само излечивается. Однако факт переполнения стека отладчиком отмечается, что не есть хорошо. Вот такая странность. Ну и если reduce stack usage, что, вроде, ухудшает код, то этих фокусов не наблюдается. FUNCALL main, ClearDisplayImageBuffer LOCFRAME CSTACK, 8, STACK FUNCALL main, RenderStringDisplay LOCFRAME CSTACK, 12, STACK FUNCALL main, RenderStringDisplay LOCFRAME CSTACK, 12, STACK .................................................... FUNCALL main, RenderStringDisplay LOCFRAME CSTACK, 12, STACK FUNCALL main, RenderCursor LOCFRAME CSTACK, 8, STACK
  10. EW430-4.21 Утекает стек

    Всем доброго времени суток! Просветите, пожалуйста. Есть такая функция, которая чинно-благородно вызывает другую функцию, а та еще одну, а та еще одну - и рисует буковку. void RenderStringDisplay(const char *pString, const CharInfo *pFont, uint16 row, uint16 column, uint16 spacing, uint16 address) { uint16 x, y, initColumn; const CharInfo *pCharInfo; initColumn = column; // Loop through characters until NULL (0) found. while (*pString) { if (*pString == '\n') // Newline character? { column = initColumn; row += spacing; } else // Not new line. { // Compute pointer to font information for current character. pCharInfo = &pFont[(unsigned char)*pString]; // Compute origin of character bounding box. x = column + pCharInfo->offsetX; y = row - pCharInfo->offsetY - pCharInfo->height + 1; // Display the character DrawDisplayCharacter(pCharInfo, y, x, address); // Advance along line by appropriate horizontal spacing. column += pCharInfo->dwidth; } // Advance to next character. pString++; } } Все это прекрасно работает в отладчике, однако при возврате указатель стека уменьшается на 4. После нескольких вызовов уже начинает ругаться отладчик на переполнение стека. Впрочем, программа никуда не улетает и продолжает работать. Все прерывания запрещены. Если выбрать опцию reduce stack usage, то это дело прекращается, SP при возврате возвращается точно назад. Что бы это значило? При этом более простенькии функции с меньшей иерархией вложений стек отдают.
  11. EW430-4.21 Download Active Application

    Вопрос чайника - начал работать с EW430-4.21 и вижу в меню Project опцию Download с вариантами Download Active Application/Download File/Erase Memory, похоже на программатор, только эти функции не активизируются и в user guide их не нашел. Я использую jtag, из ew получается загрузить только конфигурацию debug, а release приходится загружать другой программой, что не очень удобно, хотя беды большой нет. Судя по названию, эта почему-то не активизируемая функция как раз все и должна загружать. Поясните, пожалуйста, как это работает и вообще, можно ли загружать release из EW?
  12. Похоже, вы правы. Ну я затеял скачать CCS 4.0 по совету rezidenta, но и тут оказалась засада: пришлось заполнять анкету, где надо поклясться, что вы не из Кубы, Ирана, Ирака и Сев. Кореи, и сообщить корпоративный мэйл и корпоративный сайт, после чего автомат сказал, что такой сложный запрос обрабатывается вручную, ждите ответа 48 часов. Вона как. А я-то думал по-быстрому разобраться...
  13. Э-хе-хе... Ведь ожидал же я ответа типа - RTFM!.. CCE бяка!.. И вот получил. Ну да, пишут, что есть утилита для генерации hex. Но вот про симулятор ни слова. Может кто уточнит все-таки, есть он там или нет?
  14. Симулятор в CCE

    Доброго времени суток! Лежит у меня development kit от Kent Display, управляется MSP430F1611, к нему в комплекте идут исходники, Code Composer и LPT-JTAG адаптер. Надо дописать несколько функций к исходной прошивке. Поскольку с MSP вообще дела не имел, возникла мысль попробовать поупражняться именно с прилагаемым ССЕ, тут же возникли вопросы. 1. А есть ли вообще здесь симулятор? В меню только дебагер, который требует подсоединения платы, а иначе ругается на отсутствие связи даже при suppress download. 2. Выходной файл линкера в каком-то своем формате, а как же получить hex?
  15. Спасибо, действительно нашел в мануале 2006 года. Я то все рылся в мануале 2004, который у меня шел с дистрибутивом, а там именно эти символы не описаны, хотя компилятор их понимает.
×
×
  • Создать...