Pull to refresh
-1
0
Send message

Столько повторов в разделе про линейный поиск, а так-же "воды" в тексте, что кажется никто не вычитывал книгу и не занимался редактурой.

Книга написана чтобы было больше знаков и соответственно выросла стоимость работы.

Читать такое нет никакого желания.

Никто не может запретить людям городить "велосипеды" ради интереса. Я сам подобным занимался не раз. Но обычно домочадцы не готовы долго терпеть провода торчащие от всюду и "умный дом" работающий кое как или сегодня так, а завтра по другому.
Из недостатков шины упомянутой в журнале Радио 6/2016, имеем:

  1. Не совместимая ни с чем другим, что ведет к дороговизне конечных устройств, т.к. каждый их новый тип необходимо разработать и изготовить самостоятельно, а время = деньги. Ситуацию не спасает даже дешевый микроконтроллер, т.к. стоимость комплектующих - это лишь малая часть готового устройства;

  2. Очень низкая скорость обмена данными, ведущая к большим задержкам при передаче состояний от устройств к контроллеру и обратно. В типовом "умном доме" более десятка устройств на шине. Т.е. 80мс * 10 = 800 мс в идеале, а в реале будет больше. Это очень заметная и раздражающая задержка. А контроллер всё равно понадобится рано или поздно т.к. захочется какого нибудь хитрого функционала на который встроенные в конечные устройства скрипты будут не способны.

Можно конечно пользоваться и SMbus, если сильно хочется, что не утерпеть. Но зачем?

Используя же RS485+MODBUS RTU, можно воспользоваться кучей готовых датчиков и исполнительных устройств созданных именно для "умного дома".

А для SMbus еще попробуй найди эти устройства в продаже.

Не передергивайте. Я вам про "самолет АН-2", вы мне про "Airbus".

SMbus - это не тоже самое, что I2C. Из общего у них только трех-проводная шина (SCL, SDA, GND).
SMbus 1.1 имеет Packet Error Checking в протоколе, а I2C нет.

Длина линий передачи в серверной стойке не сравнима с длиной линий в "умном доме". И сами же про усилители (повторители) шины написали.

Преимущества МODBUS RTU поверх шины RS-485 перед шиной I2C:

  1. Дифференциальная шина. Отсюда и повышенная помехоустойчивость.

  2. Контроль ошибок с помощью CRC.

    В общем, когда достаточно долго потопчетесь по граблям с I2C, SMbus, то поймете, что не годятся эти шины для передачи данных на длинные дистанции (в "умном доме").

Не стоит возлагать на шину I2C больших надежд для передачи данных по длинным линиям.

Она рассчитана на линии 5-10 см.

Еще протоколы передачи данных 99,9% I2C устройств не имеют контроля целостности данных.

Если всё же не послушаете совета, то получите кучу разнообразных проблем возникающих со случайной периодичностью и отсутствием возможности их решить без костылей. Частенько можно даже не заметить, что по шине I2C данные передаются с ошибками.

Применяйте RS-485 с протоколом MODBUS RTU и всё у вас будет хорошо на длинных линиях.

А зачем привыкать к чему-то неудобному?

Не пойму, откуда у автора любовь к ribbon меню в MS Office?

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

Если честно, то мне безразлично, что ели те бактерии и как они туда попали.
Независимо от этого, результат не хороший.

Так, что безопаснее покупать воду в автоматах по розливу очищенной воды. Там уж точно не будет застойных явлений.
После осмотического фильтра риск заражения воды очень мал, но не нулевой.
Мне пришлось выбросить осмотическую установку целиком после того, как ей не пользовались всего пару недель.
Все фильтры до осмотической мембраны и накопительный бачек после нее, были покрыты слизью.
Так, что реальность гораздо суровее нежели теория.
Сразу видно, что Вы никогда не занимались ремонтом водопроводных сетей и не видели трубы изнутри.
По своему опыту, знаю, что в водопроводных трубах имеется толстый нарост из ржавчины, минеральных отложений и налипшей ко всему этому грязи.
Не смотря на хлорирование воды, я никак не могу допустить отсутствие бактерий в этой каше.
Если вода не имеет цвета, запаха и привкуса, то это еще не значит, что она стерильна. Лужи после дождя выглядят так-же, но что то мне кажется, что из них мало кто станет пить воду без кипячения.
Это Вы теоретизируете или есть реальные данные подтвержденные опытами?
В водопроводной воде и трубах достаточно грязи и бактерий.
Кроме водорослей есть еще масса различных бактерий.
Я бы не стал пить воду из бассейна простоявшую три года.
Я не специалист по борьбе с водорослями.
Свой накопительный бак на 40 литров, я мыл руками, с использованием средства для чистки унитазов и губки.
Первоначально поверхность бака казалась чистой, но при прикосновении рукой ощущалась слизь на стенках.
Хорошо отмыть бак было непросто, не смотря на довольно широкое горлышко бака — 16 см.
Я думаю, что простое полоскание химикатами без механического воздействия толку даст мало.

Накопительный бак обязательно покроется микроводорослями и бактериями, а нормально его отмыть очень сложно.

Спасибо за ссылку!
Я когда то давно, когда работал с AVR, подобное уже читал.
К сожалению, от моего подхода, приведенного выше, это не сильно отличается в плане сложности поддержки кода.
Для STM32 я использую код, как в примере ниже, но приходится ручками каждый раз поддерживать соответствие между новыми строками в idx2msg[][] и новыми LOGMSG_* в msg_idx. Это не удобно и есть возможность ошибиться. Может ваш способ как то лучше?
static const char idx2msg[][LOG_MSG_SIZE] = {
	{"I'm_still_alive"},
	{"Event_Offset_SRCppm_Trim_Jitter_DSPppm"},
	{"--------------------------------------"},
	{"ARM_MATH_LENGTH_ERROR"}
};

enum msg_idx {
	LOGMSG_IM_ALIVE = 0,
	LOGMSG_PPS_HDR0,
	LOGMSG_PPS_HDR1,
	LOGMSG_PROC_RATIO
};

Со строками в progmem я знаком, а вот с таблицей указателей на эти строки, нет.
Не могли бы Вы привести коротенький пример как это реализуется?

Америкосы давно поняли то, что людям не требуются факты и доказательства и всегда правда на стороне того, кто первый начнет обвинять.
Правила из детского сада работают и со взрослыми обывателями.

Я не заметил C20 на 100 мкФ.
Тогда получается, не 2,75 мс, а 21.5 мс.

При батарее потерявшей емкость, но еще сохраняющей напряжение около 3 В, имеющейся суммарной емкости в 14,7 мкФ по цепи питания и токе потребления 8 мА, просадка напряжения питания с 3 В до 1,8 В, произойдет примерно за 2,75 мс.
Если МК успевает проделать все операции за это время и перейти в режим сна, то схема должна нормально работать некоторое время без проблем.
А вообще, да, стоит значительно увеличить емкость блокирующих конденсаторов по цепи питания. Схема будет более надежная.

Information

Rating
Does not participate
Registered
Activity