|
|
|
Помогите разобраться с PRINTF, Большой обьем выводимой информации - 5К |
|
|
|
Feb 18 2018, 15:23
|
Гуру
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702
|
Цитата(Димон Безпарольный @ Feb 18 2018, 17:54) то сколько тут местные "помощники" ни надрывались, ничего нового не придумали - не можешь ждать, делай буфер шире. Ровно так же никто из профи не сможет ничего придумать, чтобы по вашему желанию "2х2=5". Грамотное решение - попросить вторую сторону не присылать данные, к обработке которых вы не готовы. TCP позволяет это делать, причем очень гибко и грамотно. Если вы не хотите разобраться как это сделать, то да - увеличивайте буфер, но не надо в код вставлять задержки, даже если сейчас это работает. И точно не нужно хамить людям, которые считают такой подход дурным тоном программирования.
|
|
|
|
|
Feb 18 2018, 15:32
|
Знающий
Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250
|
Цитата(Димон Безпарольный @ Feb 18 2018, 17:54) Хоть тут мне и приписали что я обвиняю в чем - то авторов MBED TLS (вероятно тоже "по делу"), хочу отдать должное - ребята грамотные, постарались на славу. Да ладно! То-то чрез одно место оно работает… Хотя, надо еще уточнить, по чьей вине: то ли вы, товарищ, неправильно документацию читаете, то ли авторы этой библиотеки...
|
|
|
|
|
Feb 18 2018, 15:59
|
Знающий
Группа: Участник
Сообщений: 734
Регистрация: 29-11-10
Пользователь №: 61 247
|
Цитата(adnega @ Feb 18 2018, 18:23) Ровно так же никто из профи не сможет ничего придумать, чтобы по вашему желанию "2х2=5". Грамотное решение - попросить вторую сторону не присылать данные, к обработке которых вы не готовы. TCP позволяет это делать, причем очень гибко и грамотно. Если вы не хотите разобраться как это сделать, то да - увеличивайте буфер, но не надо в код вставлять задержки, даже если сейчас это работает. И точно не нужно хамить людям, которые считают такой подход дурным тоном программирования. Никто и не собирался изначально хамить. Хамство и переход на личности начался с 29 поста. Я лишь вежливо просил не гадить в этой теме. Но "помошник" так и не понял о чем его просят. Что касается 2х2 =5, люди предлагают иногда нестандартные решения. На это и надеялся. Но нарвался на хама . знал бы - не начинал бы сюда писать. На стадии handshake сервер ждать не будет. Так обьяснили инженеры IBM. Связано с загрузкой серверов. Да и я не представляю сейчас как это сделать через M95 в котором TCP реализован внутри. Цитата(Эдди @ Feb 18 2018, 18:32) Да ладно! То-то чрез одно место оно работает… Хотя, надо еще уточнить, по чьей вине: то ли вы, товарищ, неправильно документацию читаете, то ли авторы этой библиотеки... Ну Вам конечно виднее. Вы же код писали - не я. Работает нормально. Третий час - без сбоев.
Сообщение отредактировал Димон Безпарольный - Feb 18 2018, 16:03
|
|
|
|
|
Feb 18 2018, 17:32
|
Гуру
Группа: Свой
Сообщений: 2 223
Регистрация: 3-03-06
Из: Tomsk
Пользователь №: 14 925
|
Цитата(Димон Безпарольный @ Feb 18 2018, 23:43) Вы наверно стандарт не читали. Весь мир работает с серверами MQTT IBM. В России кучу железа понаделали. Откуда столько страхов? А мне и не надо читать. Если в программе требуется подбор задержек - значит программа неправильно построена. И эта неправильность внезапно вылезет в самый неподходящий момент. Вы же сами писали: Цитата(Димон Безпарольный) На стадии handshake сервер ждать не будет. Так обьяснили инженеры IBM. Связано с загрузкой серверов. А завтра у инженеров IBM что-нибудь еще возникнет и они еще чего-нибудь поменяют.... Вот в этом и состоит разница между между профессиональным и дилетантским(читай начинающего) подходом, профессионал во-первых руководствуется правилами и стандартами при разработке, во-вторых он видит и понимает "подводные камни" которые могут возникнуть или точно проявятся и смотрит в перспективу. А дилетант говорит - у меня всё работает отлично, остальное меня не волнует. У меня студенты на практику приходят, типичные дилетанты, я им это сразу говорю и они делятся на две группы - одних ничего не интересует, главное чтобы заработало, они начинают подбирать в программах задержки, в схемах резисторы и конденсаторы, а другие пытаются разобраться и потом осознанно применяют.
|
|
|
|
|
Feb 19 2018, 01:51
|
Знающий
Группа: Участник
Сообщений: 734
Регистрация: 29-11-10
Пользователь №: 61 247
|
Стандарт как раз такое допскает. Задержка нужна была на стадии отладки как временное решение. Ее уже нет, как и вывода массива DBUG информации. Стандарт на TLS допускает такую работу сервера. Дилетант как раз и говорит: Цитата А мне и не надо читать. и не разобравшись в сути делает вывод: Цитата Если в программе требуется подбор задержек Ничего подбирать не требовалось. Читайте выше. Не делайте глупых выводов раз Вы кого - то там учите. Цитата(adnega @ Feb 18 2018, 20:32) Вам же для отладки нужно. Киньте проводком. Когда все отладите - отключите debug-вывод портянок и уберете провод. Так уже. DEBUG отключен. Библиотека TLS работает AS - IS, без изменения кода библиотеки.
Сообщение отредактировал Димон Безпарольный - Feb 19 2018, 01:48
|
|
|
|
|
Feb 26 2018, 16:34
|
Знающий
Группа: Участник
Сообщений: 734
Регистрация: 29-11-10
Пользователь №: 61 247
|
Может кому пригодится - когда начал дорабатывать вывод в порт заметил что контроллер виснет на строке Код while(PC_TxHead != PC_TxTail) если переменные объявлять без volatile. Получается так: Если объявлять: Код volatile uint8_t PC_TxHead=0; volatile uint8_t PC_TxTail=0; То получается совсем другая картина: Оптимизация Level 3.
Сообщение отредактировал Димон Безпарольный - Feb 26 2018, 16:35
|
|
|
|
|
|
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|