|
|
|
Помогите разобраться с PRINTF, Большой обьем выводимой информации - 5К |
|
|
|
Feb 17 2018, 12:18
|
Гуру
Группа: Свой
Сообщений: 2 223
Регистрация: 3-03-06
Из: Tomsk
Пользователь №: 14 925
|
Цитата(jcxz @ Feb 17 2018, 17:23) Видимо автору не нужна реальная помощь, а просто хочется потрепаться... Для меня автор выглядит школьником, который прочитал книгу как программировать STM32, да в школе недавно программирование изучали - нафантазировал перспективы, а тут и задачка подвернулась крутая - но нам всё по плечу, вот и взялся делать. Просто я лет в 14 понял как работают логические схемы, прочитал книгу японца про компьютеры и в своих фантазиях строил крутейшие компьютеры, если бы тогда предложили его построить - я бы взялся. Это сейчас я понимаю что в одиночку облажался бы. Но у автора есть интернет и там множество форумов по всем темам, и специалистов хватает - помогут же, вот и заваливает он всех дилетантскими вопросами по различным темам.
|
|
|
|
|
Feb 17 2018, 13:15
|
Гуру
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713
|
Цитата(Димон Безпарольный @ Feb 17 2018, 14:56) FT232. Странное дело. Вроде компов - то с комом не осталось... Действительно странное. На домашнем компе - 2x COM на MB, на работе - COM на MB + мультипортовка-PCI, на старой работе - мультипортовка-PCI. Видимо это глюки это у меня. Видимо их всё-таки нет Если у Вас чего-то нет, то не нужно думать, что все такие бедные. Цитата(Димон Безпарольный @ Feb 17 2018, 14:56) Слушай, хочешь потрепаться - иди в другую тему. Слушай те - не нужно меня посылать. И мы с вами на брудершафт не пили. Цитата(Димон Безпарольный @ Feb 17 2018, 14:56) Через сутки я разберусь в чем проблема и сотру этот код вместе с задержками. ну-ну. ...и слепите новые костыли. PS: Не нужны советы - нафига тогда вообще сюда писать? Не умеете прочитать и понять советы - это ваша проблема, а не тех кто советует.
|
|
|
|
|
Feb 17 2018, 14:54
|
Гуру
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702
|
Цитата(Димон Безпарольный @ Feb 17 2018, 16:34) А ты загаживаешь мою тему хламом, расходуя на это самое дорогое что у человека есть - время. Еще раз, для непонятливых - мне не нужны ТВОИ советы. Они не содержат информации. Еще в посте #9 уважаемый jcxz посоветовал проверить консерваторию. Я полностью поддерживаю его совет, а от себя посоветовал бы не переходить на необоснованное хамство в отношении людей. Подход, который вы используете не годится для решения коммерческих задач, а поскольку у вас есть руководство, то осмелюсь предположить, что ваша задачка не поделка выходного для. Если вы для себя или для начальства хотите получить подтверждение "эта задача не может быть решена", то вы ошибаетесь - задача элементарная, но вы решаете ее не с того края, отсюда и сложности. Попробуйте успокоиться и понять, что вам советуют. Я сам в том месяце работал с ESP8266 и МК уровня STM32F0. От сервера приходят UDP-пакеты и я на каждый должен ответить. Но пока я отвечаю на предыдущий, ко мне может прилетесь еще несколько новых. Памяти на всех нет в принципе. Поэтому, получив и обработав пакет, я помечаю, что нужно отправить ответ (один флаг). Получив другие пакеты - обрабатываю их и устанавливаю соответствующие флаги. Когда есть возможность отправить ответ, смотрю первый попавшийся флаг и отправляю соответствующий ответ сбросив флаг. Расход памяти минимальный, все пакеты обрабатываются, никто не теряется, никаких задержек нет. Предыдущий код требовал, чтобы сервер не отправлял UDP-пакет, не получив ответ на предыдущий, т.к. буфера перетерались. Все решает грамотная архитектура, а необходимость задержек, зависимость от размера буферов и т.п. являются свидетельством неграмотной архитектуры или ее отсутствия. Кто-то называет это консерваторией. Подход "через сутки разберусь, а дальше меня не волнует" тоже не признак профессионализма. Завтра начальство захочет новую фичу, и вы с большой вероятностью не сможете ее добавить, т.к. ваш подход обладает плохой масштабируемостью. Пару раз по банальным фичам ответите начальству отказом - на вашем месте будет работать другой программист. Оно вам надо?
|
|
|
|
|
Feb 18 2018, 02:38
|
Знающий
Группа: Участник
Сообщений: 734
Регистрация: 29-11-10
Пользователь №: 61 247
|
Мне этот подход знаком - самое главное не замечать что хамство и переход на личность начался с 29 поста и обвинять в этом только меня. Терпел до последнего, но господин принял вежливость за слабость и не унялся.
Здесь вполне уважаемые люди, но без гнильцы не обходится ни один форум. У товарища гонору как у Циолковского, а желания разбираться нет. Видимо и знаний тоже нет.
Здесь только один человек придрался к задержкам не пожелав разобраться в сути. Даже когда я написал, что проблема УЖЕ не в контроллере, пакеты теряются за ним - он не унялся. Число байт ушедших в DR больше чем выплюнул терминал на 1-3байта на 8Кб информации. Поскольку данные не искажаются, я склонен полагать что частоты не смещены. И только ЗАДЕРЖКА в некритичных во времени местах решила эту проблему, я думаю что Вы уже догадались почему.
У Вас желания тоже не нашлось. У меня другая ситуация чем то, что Вы написали. Замечательно что Вы обошлись без памяти и у Вас просто все это работает. Рад за Вас. Вы просто герой.
Я НЕ могу ничего отложить. В меня последовательно выплевывают тремя пакетами - таков алгоритм HANDSHAKE. Я должен их обработать в реальном времени. Задержка между пакетами - милисекунды. Поэтому если я занимаюсь выводом DEBUG информации с ОЖИДАНИЕМ появления в буфере свободного места - я ПРОСТО ТЕРЯЮ ПАКЕТЫ.
ЗДЕРЖКА в некритичных во времени местах помогает снизить размер кольцевого буфера PC порта с 8 до 2кБ. Предложите другой способ - обсудим.
Ну как до "светочей" разума и всяких свидомитов донести эту простую мысль? Третий раз пишу. А мне намекают на консерваторию. Зачем тартить жизнь на написание глупостей особенно если считаешь себя Циолковским?
Сообщение отредактировал Димон Безпарольный - Feb 18 2018, 04:41
|
|
|
|
|
Feb 18 2018, 07:11
|
Гуру
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702
|
Цитата(Димон Безпарольный @ Feb 18 2018, 05:38) Я должен их обработать в реальном времени. Дык, вы же их обрабатываете без проблем. Просто вы хотите параллельно зачем-то сгенерить гораздо большую по объему отладочную информацию и успеть ее выплюнуть. Старайтесь в отладку выкидывать только ошибки и результат обработчика HardFault. Что вам мешает подключиться к uart от модема и записывать весь обмен, а затем его обрабатывать (в том числе и с помощью спецутилит)? Цитата(Димон Безпарольный @ Feb 18 2018, 05:38) Ну как до "светочей" разума и всяких свидомитов донести эту простую мысль? Третий раз пишу. Дык, попытайтесь писать суть, а не "много букв". Не всегда, чем длиннее текст, тем там больше информации. Как называется ваша тема? И при чем тут printf, когда причина у вас в совершенно другом месте? Боюсь, если вы не поменяете манеру общения, то заработаете на этом форуме себе такую репутацию, что большинство профи откажутся вам помогать. У меня позиция, что отвечая на форуме - помогаешь не ТС, а всем, т.к. кто-то может столкнуться с аналогичной проблемой в будущем.
|
|
|
|
|
Feb 18 2018, 08:42
|
Гуру
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095
|
QUOTE (Димон Безпарольный @ Feb 18 2018, 04:38) Предложите другой способ - обсудим. Неа. Тут уже правильно писали: проблема в консерватории. Прислушайтесь к этому совету: QUOTE (adnega @ Feb 18 2018, 09:11) Боюсь, если вы не поменяете манеру общения, то заработаете на этом форуме себе такую репутацию, что большинство профи откажутся вам помогать.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Feb 18 2018, 09:09
|
Знающий
Группа: Участник
Сообщений: 734
Регистрация: 29-11-10
Пользователь №: 61 247
|
Цитата(adnega @ Feb 18 2018, 10:11) Дык, вы же их обрабатываете без проблем. Просто вы хотите параллельно зачем-то сгенерить гораздо большую по объему отладочную информацию и успеть ее выплюнуть. Старайтесь в отладку выкидывать только ошибки и результат обработчика HardFault. Что вам мешает подключиться к uart от модема и записывать весь обмен, а затем его обрабатывать (в том числе и с помощью спецутилит)?
Дык, попытайтесь писать суть, а не "много букв". Не всегда, чем длиннее текст, тем там больше информации. Как называется ваша тема? И при чем тут printf, когда причина у вас в совершенно другом месте? Боюсь, если вы не поменяете манеру общения, то заработаете на этом форуме себе такую репутацию, что большинство профи откажутся вам помогать. У меня позиция, что отвечая на форуме - помогаешь не ТС, а всем, т.к. кто-то может столкнуться с аналогичной проблемой в будущем. Если такие "профи" перестанут тут "помогать", я скажу им спасибо. Пролистайте страницу выше. Первый пост. Зачем этот кирпич тут? Если Вы отвечаете для других, должны понимать что тему с этим говном будет сложно читать. Сюда заходят разные люди за советом. И профи и новички. Я себя поофи никогда не считал. Но здесь за ошибки некоторые считают себя обязанным наказать человека изрядно ему нахамив. И очень обижаются на ответное хамство. Зачем нужно не разобравшись в сути писать кирпичи про консерваторию? Тема о правильной организации вывода debug информации. Она выводится через printf. Эта информация генерится библиотекой mbedtls. Вывод раскидан в три файла по 5-7 тысяч строк каждый. В общей сложности 150 точек вывода примерно. Ей Богу, править и раскидывать по уровням debuglevel - не лучший выход. Не я что - то там выкидываю отладочное в порт, а автор библиотеки. Ну и я потом печатаю принятый дамп уже в некритичном по времени месте. Сейчас это работает и очень помогает мне разобраться в сути.
Сообщение отредактировал Димон Безпарольный - Feb 18 2018, 09:17
|
|
|
|
|
Feb 18 2018, 11:30
|
Гуру
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713
|
Цитата(adnega @ Feb 18 2018, 09:11) Боюсь, если вы не поменяете манеру общения, то заработаете на этом форуме себе такую репутацию, что большинство профи откажутся вам помогать. У меня позиция, что отвечая на форуме - помогаешь не ТС, а всем, т.к. кто-то может столкнуться с аналогичной проблемой в будущем. Не утруждайте себя, коллега. Товарищ уже показал тут во всей красе кем он является - тут уже ничего не исправимо. У него все вокруг виноваты: и не правильно советуют, и автор некоей "библиотеки" неправильно что-то там делает. И сплошной поток хамства в ответ на попытки помочь ему... Товарищ уже в игнор-листе.
|
|
|
|
|
Feb 18 2018, 13:34
|
Гуру
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702
|
Цитата(Димон Безпарольный @ Feb 18 2018, 16:26) Попытки "помочь" как раз и начались у этого "помошника" с хамства в 29-м посту. Остальное - чистая ложь. Ное ему не привыкать. Перечитал пост #29. Кроме Цитата Видимо автору не нужна реальная помощь, а просто хочется потрепаться все остальное по делу и справедливо. Хотя, и процитированное предположение имеет право на жизнь.
|
|
|
|
|
|
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|