Например TDA7294

Форум РадиоКот • Просмотр темы - Котуинко
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пн июл 28, 2025 03:57:36

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 2246 ]     ... , , , 62, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Сб ноя 14, 2020 10:42:41 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
Относительно iostream - собственно пока не могу себе представление о "потоке" построить...

взять и пробовать и будет представление:
Цитата:
Если вы хотите использовать STL из популярной IDE Arduino, все, что вам нужно сделать, это скопировать все файлы из каталога avr-stl / include в подкаталог hardware / tools / avr / avr / include установки Arduino. Например, в моей системе я бы скопировал все файлы заголовков сюда: C: Program Files (x86)\arduino-1.0.1\hardware\tools\avr\avr\include.

https://andybrown.me.uk/wk/2011/01/15/t ... c-streams/


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Сб ноя 14, 2020 10:48:14 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1472
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15108
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Это не то...
Имеется ввиду понимание сути того "абстрактного понятия" в отношении железа...
У каждого по-своему.
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Сб ноя 14, 2020 11:47:12 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
Так там пример реального железа есть, правда LCD, но и семисегментник так же можно. Только зачем, если есть ардуиновая семисегментная библиотека.
LiquidCrystal поток
Это позволяет вам писать на ЖК-дисплей символьный, используя потоки.
Код:
#include <LiquidCrystal.h>
#include <lcdostream>

LiquidCrystal lcd(2,3,4,5,6,7);


/*
 * Test the LCD output stream
 */

struct TestLcdOstream {

  static void RunTest() {

    lcd.begin(20,4);

    std::olcdstream stream(lcd);

    stream << std::clear()
           << std::move(5,1) << "Hello World";
  }

};


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Сб ноя 14, 2020 12:52:20 
Поставщик валерьянки для Кота

Карма: 20
Рейтинг сообщений: 256
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 2089
Рейтинг сообщения: 0
Я бы потоков на мк избегал, они более тяжеловесные и форматирование там не самое удобное.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Сб ноя 14, 2020 13:35:40 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1472
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15108
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
У адуринки все последовательные протоколы сведены к потокам...
"Stream
Stream is the base class for character and binary based streams. It is not called directly, but invoked whenever you use a function that relies on it.
Stream defines the reading functions in Arduino. When using any core functionality that uses a read() or similar method, you can safely assume it calls on the Stream class. For functions like print(), Stream inherits from the Print class.
Some of the libraries that rely on Stream include :

Serial
Wire
Ethernet Client
Ethernet Server
SD
..."

собственно для единства наименования применяемых методов...
Только вот... суть - буферизация массива последовательно принимаемых/отсылаемых данных?..
Или чего иного?... Чего собственно "ПОТОК"?
(или что подразумевает термин ПОТОК по отношению к более понятным методам ассемблера/Си)...
:dont_know:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Сб ноя 14, 2020 18:57:09 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
Только вот... суть - буферизация массива последовательно принимаемых/отсылаемых данных?

смысл, имхо в наглядности текста программы, могу ошибаться - пусть поправят местные знатоки С++.
Обычно пограмисты потоки так делают:
Код:
lcd.print("GPS #");
lcd.print(gpsno);
lcd.print(" date: "); 
lcd.print(day);
lcd.print("-");
lcd.print(month);
lcd.print("-");
lcd.println(year);

с потоками С++ так будет:
Код:
lcd << "GPS #" << gpsno << " date: " <<
day << "-" << month << "-" << year << endl;


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Сб ноя 14, 2020 19:03:15 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18403
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
oleg110592 писал(а):
Обычно пограмисты потоки так делают:
возможно, это какие-то особые программисты... не особые на Си делают так:
Код:
printf(LCD, "GPS #%d\tdate:%.2d-%.2d-%.4d\n", gpsno, day, month, year);

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Сб ноя 14, 2020 19:11:46 
Поставщик валерьянки для Кота

Карма: 20
Рейтинг сообщений: 256
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 2089
Рейтинг сообщения: 0
У меня будет практически как с новым std::format() из С++20, только шаблонный вариант, зато с полным контролем ошибок на стадии компиляции.
Код:
lcd.printf<"GPS #{} date: {0>2}-{0>2}-{}">(gpsno, day, month, year);


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Сб ноя 14, 2020 19:12:34 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
мы тут про программирование ардуино - stdio and hence printf() isn't built into the Arduino environment


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Сб ноя 14, 2020 19:17:13 
Поставщик валерьянки для Кота

Карма: 20
Рейтинг сообщений: 256
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 2089
Рейтинг сообщения: 0
Там много чего не встроено... Написание либы форматирования - точно такое же развлечение, как и написание любой другой либы :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Сб ноя 14, 2020 20:47:49 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1472
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15108
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
За варианты print(), println() и соответствующего форматированного вывода особо ничего нового...
8)
Вопрос каким боком это к ПОТОКУ соотносится - обработкой данных буфера или пакетом пересылки?
Куда там чего "течет"...
:dont_know:
А за расшифровку понимания содержимого термина "ПОТОК" ....
НИЧЕГО...
жаль... снова придется самому разбираться...
:(
Это как в прошлый раз - термин ПАРСИНГ - оказался всего-то анализом и сортировкой входных данных по мере их поступления - я когда прожку загрузки КОТУИНКО делал даже и не подозревал, что можно анализ символов строк *.hex файла тем мудреным термином назвать! (а может еще и обматюкать как "парсинг потока данных файла формата intel hex8 для бутлоадера").
:tea:
Да и насчет "чего встроено" в ардуинке... - там за последнее время много чего понапихали - для той версии, что под 7-10ку расчитана (1.8.13 к примеру со всеми "обновлениями платформ"). Только те обновления (и в части компиляторов) сидят в "скрытом каталоге", а не в основном каталоге в program files.
Я в те дебри не лезу - анализ IDE и ее компиляторов - это уже задача КОТОВ ПОМАТЕРЕЕ (а оные все еще ДРЕМЛЮТЬ).
:beer:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Сб ноя 14, 2020 20:59:17 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
первоисточник уже не раз предлагался
Цитата:
Цель создания С++ была в том, чтобы пользователь мог определить новые
типы данных, работа с которыми была бы столь же удобна и эффективна как
и со встроенными типами. Таким образом, кажется разумным потребовать,
чтобы средства ввода-вывода для С++ программировались с использованием
возможностей С++, доступных каждому. Представленные здесь потоковые
средства ввода-вывода появились в результате попытки удовлетворить
этим требованиям.
Основная задача потоковых средств ввода-вывода - это процесс
преобразования объектов определенного типа в последовательность символов
и наоборот.

http://www.tdoc.ru/c/programming/cpp/cp ... age20.html


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Сб ноя 14, 2020 21:09:00 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1472
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15108
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Да я то уже много раз перечитывал (и не только того автора)...
СУТЬ самого понятия в приближении к более примитивному виду - обмен данными из буфер массива или какая еще ....
А там только поток ввода и поток вывода.
Но ввод/вывод производятся таки не непрерывно, а по соответствуюшщим заросам...
Или поток принимается как еще один вид данных всего лишь как абстрактное обобщение...
ВОТЬ...
Вобщем... пока то отложимс... до прояснения в той части, которая моим представлением требуется.
Я ж не СИшник по "начальной базе знаний".
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Сб ноя 14, 2020 21:25:04 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
да в принципе то же самое что и printf, только круче.
Данные разных типов можно смешивать:
Код:
int nAge;
..
cout << "You entered " << nAge << " years old" << endl;

для микроконтроллера вместо cout - lcd или segment7


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Сб ноя 14, 2020 21:30:54 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1472
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15108
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Вобщем похоже таки на "разновидность типа/класса данных" - ибо "базовый класс Stream" относится практически ко всем последовательным коммуникационным протоколам... :roll:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Сб ноя 14, 2020 21:47:52 
Поставщик валерьянки для Кота

Карма: 20
Рейтинг сообщений: 256
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 2089
Рейтинг сообщения: 0
СУТЬ самого понятия в приближении к более примитивному виду - обмен данными из буфер массива или какая еще ....

Суть в буферизации, которой может и не быть. Выводишь строку через Uart, если там наследование от класса Stream, то должен быть виртуальный метод добавляющий в буфер по одному символу. Если в буфер влезла вся строка, значит можно заниматься чем-то другим, а Uart будет отправлять данные по прерываниям. Если речь о дисплее, то буфера наверно нет и будет блокирующий вывод по одному символу сразу на экран.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Вс ноя 15, 2020 16:06:12 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1472
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15108
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Загрузчик КОТУИНКО обрабатывает "поток данных" побайтово "на лету"... Плюс буфер размером в одну строку *.hex файла для последующего прикладного размещения в ОЗУ ВПД/ВПП.
Т.е. один реальный входной поток по RS232 на скорости 9600 совмещенный с анализом и преобразованием для последующего размещения в оперативном буфере и второй - сброс данных в соответстви с указанными для них адресами в ВПП/ВПД...
Неуж-то и "поток" и "парсинг" уже в дальнем прошлом изучен...?... Правда под ассемблером...
Чтой-то не особо в то верится... Гдей-то ПОДВОХ...
:roll:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Вс ноя 22, 2020 18:24:14 
Сверлит текстолит когтями

Карма: 12
Рейтинг сообщений: 124
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 1217
Рейтинг сообщения: 0
Это у вас такая фантазия буйная? Потоки, парсинги, подвохи...
Как не вспомнить старинный анекдот: "Пэрэбудова, прискорэння, гластнисть...
- Бидна пташина, опъять москалив найилась!"


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Вс ноя 22, 2020 18:45:11 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1472
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15108
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Это не фантазия, а типичная в С++ терминология, суть которой пока не во всем понятна...
Однако по причине применения в ардуино IDE (там таки С++) требует хотя-бы ознакомительного восприятия.
8)
А насчет "анекдотов с намяком"- пожалте в соответствующий раздел:
https://www.radiokot.ru/forum/viewtopic ... 7&t=101261
:wink:
Разбор технических вопросов с примесью предвзятого отношения к оппоненту, не относящегося к теме обсуждения, часто приводит к ошибочным результатам.
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Вс ноя 22, 2020 18:52:57 
Сверлит текстолит когтями

Карма: 12
Рейтинг сообщений: 124
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 1217
Рейтинг сообщения: 0
Дядя! При всём уважении. Ну если вы ахинею несёте, ну чё ж вам на это не указать то.
Самокритичнее нужно быть! И люди к вам потянуться...


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 2246 ]     ... , , , 62, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y