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

alm_

Свой
  • Постов

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

  • Посещение

Репутация

0 Обычный

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

  • Звание
    Участник
    Участник
  1. Спасибо за помощь. Действительно, SPI интерфейс наиболее удачен в моей ситуации. Проблема заключается в том, что все устройства должны быть гальванически развязаны (это помимо протокола). Кто-нибудь пробовал передавать через оптроны информацию на скрости 115200 и какие именно опртроны были использованы ?
  2. Расчёт CRC16 - на С с оптимизацией по скорости (таблица 512 байт) - на С с оптимизацией по длине - на Pascal/Delphi crc16.zip
  3. Модуль для работы с текстовым дисплеем 16x2 При всей изученности (если не сказать избитости) темы хочу предложить свое решение. Его особенности: - для использования в своем проекте достаточно переписать функции чтени/записи данных и чтения команд с контроллера индикатора - перекодировка из кодовой таблицы 1251 происходит runtime, так что можно вводить текстовые строки в своей привычной кодировке - предварительный буфер дисплея можно заполнять, используя форматированный вывод sprintf - для записи обработанных данных в контроллер дисплея достаточно вызывать быструю подпрограмму только в одном месте (прерывании таймера с частотой около 34 Гц) - не загружает параллельные задачи (например подсчёт входных импульсов) buff16x2.txt
  4. Вопрос по С по AVR

    Как контролтровать стек ? Не знаю как в AVR, но для 51 я делал так: при старте программы, еще до установки stack pointer'a, заполняешь всю область стека специальным кодом, например 0x55. Затем в процессе работы программы (после вызова наиболее вложенных фенкций), идешь с конца стека на начало (в направлении, противоположному росту стека), и там, где специальный код кончается, и есть максимальная вершина стека. Таким образом можно проверять и остальные области памяти, которые выделяет программа в процессе выполнения
  5. Адрес code:27h - это адрес вектора прерывания serial0. Очевидно у тебя два обработчика прерывания на этот порт (interrupt 4) Но самое главное - бросай этот процесоор. Он не приспособлен для написания больших программ (с размером кода больне 64К) - просто не хватает сегмена data для автоматических переменных (туда помещаются аргументы функций и переменные внутри функция). Те, кто используют для этих целей сегмент xdata/hdata - извращенцы. И прочих дыр там полно - загрузчик, таймеры, выборка периферии. Для проектов с размером коа меньше 64К Используй AVRMega, для большего - ARM7
  6. Потому что оригинал требует много памяти в data_group. Пробуешь вызывать printf/sprintf из особо глубокого вложения - сразу segment overflow. Еще бы этот - сегмент забит под завязку, осталься один свободный байт. Процессор DS80C400 - для тех кто понимает :).
  7. Собираюсь делать систему - один процессор ведущий и четыре ведомых (149 серия) с интенсивным обменом между ними. Посоветуйте, как наиболее эффективно организовать взаимодействие между ними. Следует ли использовать собственный протокол на UART или использовать встроенный протокол для многопроцессорных систем. Буду благодарен за конкретные примеры.
  8. С чего начать?

    В Butterfly есть несколько возможностей программирования. Если используешь бутлоадера (по последовательному порту), то естественно, он остается на месте. В комплекте софта идут исходные тексты программы под IAR (правдо версии 2.xx), и hex программы и бутлоадера. Несколько дней назад я лично залил свою программу через AVRStudio, а затем вернул оригинал на место. Если ты не дружишь с паяльником, то Butterfly самое оно. Примечание: оригинальная цена $19.99, не вздумай платить $35 !
  9. Есть дисплей 4 на 8 сегментов, где десятичная точка является 8-м сегментом. Требуется вывести число в формате с плавающей (не фиксированной) запятой без использования финкций из string.h, stdio.h, stdlib.h (ограничение по размеру кода). При использовании формата с фиксированной запятой задача банальна, но нужно, чтобы десятичнай точка меняла свою позицию. Заранее благодарен.
  10. Ключевая особенность: (пред)оплата по системе MIGOM, пересылка по почте (или наложенным платежом).
  11. WinMerge

    Если у вас в нескольких каталогах расположены исходники разных версии программы, и вы уже не помните, чем они отличаютя, то эта программа для вас. Система контроля версий - дешево и сердито. WinMerge is an Open Source visual text file differencing and merging tool for Win32 platforms. It is highly useful for determing what has changed between project versions, and then merging changes between versions. http://winmerge.org/
  12. ищу исходники для AT26 DataFlash

    Ищу исходники, позволяющие использовать новые команды AT26 по сравнению с AT45 Заранее благодарен
  13. Подскажите, чем отличаются протоколы MMC и SanDisk. Встречаю сообщения, что они-де совпадают (в SPI режиме), но мне нужен четкий ответ. Кстати, SanDisk и SecureDigital имеют одинаковую аббревиатуру SD ? Или я чего-то не понимаю ?
  14. спасибо за ответ но у меня идет одновременная работа с WinAVR и IAR и хотелось бы чего-нибудь универсального
  15. Хочу подключить обыкновенный USB-флэшдиск к AVR. Уверен, что до меня это делали сотни людей :). Посоветуйте примеры харда (FTDI - иное трудно достать) и софта (обязательно FAT - данные записывается с компьютнра, читаются контроллером) Заранее спасибо !
×
×
  • Создать...