Jump to content

    

UniBomb

Свой
  • Content Count

    148
  • Joined

  • Last visited

Community Reputation

0 Обычный

About UniBomb

  • Rank
    Частый гость

Контакты

  • Сайт
    http://
  • ICQ
    0
  1. Nikson1200, со вчерашнего дня я нашёл даташит. Но по вашим двум последним ссылкам я не вижу как скачать даташит. И я был на этом сайте, и страницы эти изучал долго и упорно. Ссылки Locate Part LTM035A776C и Locate DataSheet никуда меня не ведут, других ссылок я не нашёл. Спасибо всем откликнувшимся
  2. Как бы то нибыло, а на LTM035A776С я тоже ничего не нашёл
  3. oldparrot, спасибо. А это аналог? Просто на моём экземпляре нет такого обозначения
  4. Добрый день. Долго у меня валялся нерабочий кпк HP Jornada 560, мозолил глаз и всем своим видом напрашивался на экзекуцию. В общем самое полезное что я оттуда вытащил - дисплей с маркировкой F1865-80021. Но вот беда - никак не могу найти на него даташит. Если кому попадется - скажите мне пожалуйста
  5. Профайлер

    SasaVitebsk, в моей пока ещё недолгой карьере я был доволен кодом всего один раз Прошивку для предыдущего прибора я писал довольно долго, менял методы решений, оптимизировал, сокращал и т.д. Зато когда я закончил - налюбоваться не мог (не то, что бы я бахвальством любил заниматься ). Ничего не прибавить, ничего не убавить, лепота А так в принципе любой инженер устроен - будь то программист или схемотехник (или ещё кто). И я считаю, что это здорово когда есть желание стремится к лучшему
  6. Профайлер

    RA3WUM, за HAPSIM спасибо, не знал о такой примочке))) А вот второе... Я не программирую на бейсике по религиозным причинам.... zltigo, да я сам проповедую такой подход, просто ситуация такая сложилась. Поставленную задачу я решал впервые, опыта проектирования программ подобного рода у меня мало да и решить задачу требовалось в самые кратчайшие сроки. Сейчас вроде всё работает, но мне жутко не нравится реализация. Чувствую сопровождать такую программу будет очень сложно. Сейчас пока времени более-менее хватает и пока я ещё помню что и зачем я делал я решил улучшить качество кода... sitafern, он платный ): В общем я так понял, что искомого мне не найти... Жаль. Поставил себе в блокнотик в разделе "долгосрочные задумки" заметку "сделать что-то подобное", авось у меня что-нибудь получится...
  7. Профайлер

    SasaVitebsk, вот как раз из-за того, что прогресс шагает и шагает я и предложил что такая утопия уже воплощена в каком-либо объёме. На самом деле я не написал ничего экстрасложного, разные части уже реализованы для того или иного языка программирования/интегрированной среды/etc. Многое из того, что я перечислил можно вообще получать на этапе компиляции. Но раз уж такая постановка задачи не нравится, то перефразирую её - "А есть ли в природе ещё профайлеры кроме gprof?". С другой стороны - система системе рознь и проектирование для каждой (по крайней мере у меня) существенно различаются подходы. Отлаживать программу всем форумом - это глупо Скажу просто - есть достаточно громоздкая система с кучей функций. Декомпозиция проведена не очень хорошо и надо это дело оптимизировать. Профайлер gprof может сказать сколько времени выполнялась та или иная функция и зависимость вызовов функций. Всё. Но порой этой информации мало. Описывать конкретнее в двух словах у меня всё равно не получится, да и потом выглядеть такое описание будет как глупая абстракция... В общем вот...
  8. Профайлер

    Добрый день. Не знал куда запостить тему, посему пусть тут повисит. Итак, во время очередной затяжной отладки программы я понял что чего-то мне не хватает в этой жизни для полного счастия. Я понял, что считать быстродействие функций по тактам это зло. Я понял, что следить за переменными ставя точки останова по всей программе это от лукавого. Я понял, что отлавливать вхождения одних функций в другие по загоранию светодиода это тоже не очень хорошо. И я в конце концов пришёл к выводу, что мне нужен хороший профайлер. Единственное что я пока обнаружил - это avr-gprof.exe тихо спящим в папке bin моего WinAVR. Вот пока копаю в эту сторону и что-то оно меня пока не впечатляет. Посему вопрос знатокам - а есть ли в природе альтернативы этому чуду? Что бы мог указать зависимость вызовов функций, что бы мог указать время выполнения каждого куска кода, что бы мог сказать где и как переменные используются, что и зачем храниться в стеке и т.д. И при всём при этом что бы он имел хоть какой-нибудь графический интерфейс...
  9. Работа с обоими USART в ATMega64

    Да, насчёт таймера я был неправ... Сейчас попробую))) зы: кстате, бонус вопрос. Если скорость обмена 38400Кбод/сек, то время приёма 3,5 символов будет (1/38400)*3,5 ?
  10. Работа с обоими USART в ATMega64

    MrYuran, я думал так сделать, но у меня всего один свободный таймер остался. А с одним таймер на два усарта не очень то и получается...
  11. Добрый день. У меня есть девайс на 64-ой меге, в которой задействованы оба усарта. Реализован протокол ModBus RTU (самолично). По описанию протокола все посылки данных начинаются и оканчиваются интервалом времени, равное времени приёма 3,5 символов. Не мудрствуя лукаво я реализовал это условие в лоб - при приёме первого символа мк уходит в прерывание и не выходит из него до тех пор, пока не примет всю посылку. До недавнего времени использовался только один усарт и всё было хорошо. Но вот буквально вчера возникла необходимость использования и второго усарта. Естетсвенно вышеописанный подход неверен, т.к. из-за большой частоты посыла запроса и соответсвенно получения ответа два прерывания по приёму данных мешают друг другу. Т.е. если в данный момент уже идёт приём данных по первому усарту и в это время начали приходить данные на второй усарт, то часть посылки со второго усарта просто теряется. Такого быть недолжно.... Сократил об прерывания до самого минимума: Кодuint8_t data_recv0[128]; uint8_t cur_data_recv0; /*...*/ ISR(SIG_UART0_RECV) {   data_recv1[cur_usart1_recv] = UDR0;   cur_data_recv++; } Но я никак немогу сообразить, как же в этом случае вести отсчёт времени, как отделять посылки друг от друга и вообще как определить конец посылки. Пробовал через таймер, но что то невыходит. Получается либо слишком большой промежуток времени, либо приходится делать период срабаотывания таймера настолько маленьким, что одна посылка разбивается на несколько. Какие ещё есть решения? Кто как обходил эту ситуацию?
  12. Цитата(Олег Хохлов @ Apr 20 2009, 21:28) Таким образом, 40001 - означает доступ к регистру 0 с возможностью чтения командой 3 и записи командами 6 или 16. Если нужен номер регистра больше чем 10000 (например 20000), то в скаде этот номер должен быть записан как 420001 (То есть первая цифра - именно служебный символ, в протоколе он не используется!). Если SCADA-системы не применяются, можно этим не заморачиваться В том то и дело, что до этого никакую SCADA мы не использовали. А правильно ли я понял, что если в SCADA прописать опрос регистра с номером 40001, то фактически будет послан такой запрос: [xx][03][00][01]...[crcH][crcL] где [00][01] - это и есть адрес регистра?
  13. Добрый день. Использую Modbus RTU по интерфейсу rs-485. Краем уха слышал где-то, что в зависимости от того, какую разновдность протокола и по какому интерфейсу я использую это безобразие регистры хранения имеют разные адреса. Т.е. в одном случае адрес первого регистра 1, а в другом 40001. В стандарте я это либо пропустил, либо действительно об этом не сказано, так что просветите пожалуйста
  14. Проблемы с TWI

    Цитата(sensor_ua @ Apr 8 2009, 00:06) Выключается ли модуль TWI перед сном? Нет. Цитата(sensor_ua @ Apr 8 2009, 00:06) Как GPIO настроены? Не на выход ли и порты в нуле? Как высокоимпендансные входы. Цитата(sensor_ua @ Apr 8 2009, 00:06) Если модуль не выключается, то что в статусе первое после сна? Незнаю. Сейчас посмотрю Цитата(sensor_ua @ Apr 8 2009, 00:06) (не знаю, можно ли вообще модуль TWI использовать в слипе) В слипе я модуль не использую. Две функции не вызываются в одно время и следовательно работают либо функции TWI, либо функции АЦП.
  15. Проблемы с TWI

    вопрос - как связаны между собой модуль TWI и спящий режим? Методом исключения я выяснил причину сбоев шины - её оказалась команда sleep. Незнаю почему, но если хоть раз мк был переведён в спящий режим, то TWI сбоит вышеописанным способом... Теперь ломаю голову почему так происходит.... зы: используемый мной режим спящего режима - ADC Noise Reduction.