-
- А зачем это нужно? fprintf это функция записи в <i>стандартный< 8051(400 знак., 02.03.2019 18:52, )
- А зачем плодить лишние сущности, когда можно использовать готовые? Почему UART не стандартный поток? Во времена vt100 он был очень даже стандартным. - Mebius(02.03.2019 19:02)
- их здесь нет. UART не стандартный поток, стандартный поток - это консоль, которая м.б. направлена в uart. 8051(66 знак., 02.03.2019 19:47, )
- Так и запишем: 8051 запрещает слать printf'ом в UART. A мы не знали и последние 10 лет слали. Теперь всё переделывать! - fk0(02.03.2019 22:04)
- Всегда АТ-команды модему через printf слал... - fk0(02.03.2019 19:21)
- их здесь нет. UART не стандартный поток, стандартный поток - это консоль, которая м.б. направлена в uart. 8051(66 знак., 02.03.2019 19:47, )
- А зачем плодить лишние сущности, когда можно использовать готовые? Почему UART не стандартный поток? Во времена vt100 он был очень даже стандартным. - Mebius(02.03.2019 19:02)
- Структуру FILE вообще трогать не нужно, это детали реализации libc. Твоё дело только реализовать функции замещающие ОС: open, read, write, close... Вызов printf, putc, puts для буферизированных файлов может не вызывать немедленного вызова write -- fk0(121 знак., 02.03.2019 15:14)
- Ну вот функция open должна возвращать указатель на структуру FILE. Когда я буду писать функцию open для своего UARTa, как мне заполнить структуру FILE? Она же не может быть пустой? - Mebius(02.03.2019 15:39)
- Фунцкция open (google://man 2 open) должна возвращать дескриптор файла типа int, а принимать имя файла. Структуру типа FILE возвращает fopen (google://man 3 fopen). Функция open -- это функция ОС и её ты должен реализовать, функция fopen -- fk0(246 знак., 02.03.2019 16:21, ссылка)
- Ага, что-то начинает проясняться :) - Mebius(02.03.2019 16:55)
- коллега подобное делал для ретаргетинга printf-а (GCC в EmBitz) Vit(2138 знак., 03.03.2019 12:20)
- Ага, что-то начинает проясняться :) - Mebius(02.03.2019 16:55)
- Фунцкция open (google://man 2 open) должна возвращать дескриптор файла типа int, а принимать имя файла. Структуру типа FILE возвращает fopen (google://man 3 fopen). Функция open -- это функция ОС и её ты должен реализовать, функция fopen -- fk0(246 знак., 02.03.2019 16:21, ссылка)
- Ну вот функция open должна возвращать указатель на структуру FILE. Когда я буду писать функцию open для своего UARTa, как мне заполнить структуру FILE? Она же не может быть пустой? - Mebius(02.03.2019 15:39)
- А зачем это нужно? fprintf это функция записи в <i>стандартный< 8051(400 знак., 02.03.2019 18:52, )