Запутался в конец ))). 1) Функции ввода-вывода, работающие со стандартными потоками ввода-вывода( printf, putchar и т.д.) - как они используются для embedded-приложений? Насколько понимаю, поток ввода, например, - это просто буфер, область памяти, обслуживаемая как FIFO? И в случае "Hello, World!" для Windows стандартные потоки ввода-вывода - это буферы, созданные операционной системой, а их размеры и указатели передаются приложению (моему "Helo, World!"). Значит в случае программы для микроконтроллера можно сделать свой поток - выделить область в ОЗУ (буфер), сделать указатели записи-чтения, определить размер буфера и тогда, скажем printf будет писать данные в этот буфер? И потом из этого буфера, скажем, передавать в UART? Я правильно понимаю? Или нет? Как все это правильно делается? У Т.Мартина в книге есть мелкий пример по использованию STDIO, где пишется своя функция putchar. После чего уже можно юзать printf(). Но у меня это вроде как сомнения вызывает... Без таких "доработок" нельзя? 2) Функции, работающие с файловыми потоками... Во-первых, что есть fopen для embedded? Во-вторых, структура FILE? В-третьих, функциями типа frintf, fwrite можно пользоваться для работы с собственными буферами? Если да, то как? Вообщем, как правильно использовать библиотеку STDIO для embedded-приложений? Собственно вот ))). Немного путано получилось... Если кто найдет время мне это все объяснить - буду очень признателен!
|