Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: XML и микроконтроллер
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
radist
Посоветует ли кто-нибудь простенький и бесплатный XML парсер для микроконтроллера (AVR, HC12) написанный на С? Смысл затеи в том, чтобы слать в микроконтроллер команды (и принимать их) в каком-нибудь стандартном формате, а не придумывать каждый раз свой формат. Представьте, как было бы удобно, например:
"
<?xml version='1.0' encoding='ISO-8859-1' ?>
<port3>
<id>2
</id>
<command>write
</command>
<value>0xFF
</value>
</port3>
"
makc
Вы только представьте, сколько памяти отъест этот парсер только лишь для того, чтобы распознавать команды. Ведь нужны будут все шаблоны тегов, для того чтобы распознавать их... Мне это кажется очень не экономным. huh.gif
=AK=
Цитата(radist @ Jul 6 2005, 22:57)
Смысл затеи в том, чтобы слать в микроконтроллер команды (и принимать их) в каком-нибудь стандартном формате, а не придумывать каждый раз свой формат.

Если честно, то особого смысла в этой затее не вижу. Не говоря уж о ее расточительности, замечу, что XML - это только разметка, а не формат. Стоит сменить имена тегов - и формат изменится, хоть при этом он и останется XML.

Тем не менее, в порядке обсуждения, могу предложить такую идею. Поставьте на свой мелкоконтроллер форт, и заведите в нем слова, соответствующие тегам вашего XML. Форт при этом и будет тем самым парсером. Единственное ограничение - теги надо будет разделять пробелами, т.е. писать
Код
 <port3>
   <command> write  </command>
   <value> 0xFF  </value>
 </port3>


Хотя на самом форте, безо всех этих XML-замутнений, то же самое можно было бы записать примерно так:
Код
 0xFF port3 !  

Что гораздо понятнее, имхо... smile.gif
radist
Смысл в том, что разрабатыватся некое изделие, аналоги которого уже есть на рынке. И эти аналоги общаются с хостом посредством как раз XML. Через ethernet. Желательно сделать также. ethernet уже сделан.
Вариант " 0xFF port3 ! " рассматривался и уже принят к исполению, но хочется сделать как у людей.

А команд у меня будет не так много, как их операндов smile.gif .

Какие-то парсеры для встраиваемых систем я нарыл в инете, но они на Java сделаны.
acex2
Ну вот к примеру стандартный вариант обмена с реализацией для однокристалки: интрепретатор Бейсика :-)

http://users.cableaz.com/~cappels/dproj/AB/atb.htm

Шлешь в микроконтроллер команды Бейсика, он их интрепретирует и выполянет. Ввод-вывод, включая peek/poke и print, там реализован. Работает все это чудо на ATtiny2313.
radist
А что-нибудь ещё, типа питона, перла и т.д. нигде не водится? А то засмеют с бёйсиком wink.gif
proba
В бейсике можеш на заднем плане запустить несложныи контроллер что иногда очень полезно. в качестве исходного мбейсик предлагаю.
IgorKossak
Готовый XML парсер есть в application note AVR911 AVROSP от Atmel.
Написан на C++, и если применять в среде IAR EWAVR, то и адаптация не слишком сложная.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.