Перейти к содержанию

Рекомендуемые сообщения

А зачем вообще считать прерывания, если блок чужой? Просто выходим из обработчика и ждем начало нового пакета. Ведь начало по-любому надо как-то вылавливать. ...кстати тоже вопрос!

Вот зная сколько в чужом блоке байт осталось, мы и можем сказать, где конец чужого блока.

А прерывание после конца блока - начало нового.

Как советовать, так все чатлане ...

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Ой, че-то ненравится мне такое... Какое-то синхронизирующее состояние между пакетами должно быть. А то можно за начало принять байт где-то из середины, потом отсчитать от него сколько-то и думать, что всё ОК.

Может между пакетами делать обязательно паузу, скажем длиной не менее 4 фреймов..

Изменено пользователем YurkaM
Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

2YurkaM: да кто бы был против. Я ж говорил, что без вас не разобраться.

Ну раз динамического выделения адреса не будет, то

- если адрес задается переключателями на плате - какой максимальный диаппазон может задать пользователь? Как это сделать удобно для конечного потребителя?

- если адрес прошивается в мцу - как избежать конфликта адресов при использовании устройств от разных производителей.

По поводу динамического назначения и адресации - ничего срашного в каскадировании нет. Попробую описать.

00 - это всегда loopback, тоесть адрес самого себя в текущей подсети.

01 - это всегда адрес родителя, который отвечает за подсеть, в которой находится устройство.

FF - широковещательный адрес

Возьмем промежуточный контроллер-отправитель (КО), который хочет забрать накопившуюся информацию из подсети 02.03 (это адрес контролера на два уровня ниже, контроллер-получатель - КП). Пакет может быть вида

02.03.00.01.01.00.LL.SS.CC

LL - длина данных сразу после поля LL, LL = 2

SS - контрольная сумма - здесь на выбор

CC - код команды отправки накопившегося лога

Соотвественно, КО сформировав такой пакет отдает его на отправку. Контроллер 02, видя свой байт забирает данные, смотрит, что следующий байт не 00 (не ему) и отправляет дальше в подсеть. Контроллер 03 в след. подсети видит свой пакет и что он адресован ему (байт 00) обрабатывает команду и формирует пакет

01.01.00.02.03.00.LL.SS.DD

DD - данные лога

и отправляет его родителю (соединение 01).

Ограничение по количетству устройств на каскад - 253 (чтоб маски не вводить).

Вообще, конечно, может выглядеть страшно. Вобщем, это уже дело прошивки, а никак не железа - так что можно отложить :)

p.s. Есть тут одна неточность в описании, но пока оставим. Не имея обзорного представления о системе в детали лезть не стоит.

Изменено пользователем pivasik
Ссылка на комментарий
Поделиться на другие сайты

Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Выглядит не то чтобы страшно, но создается впечатление, что вы хотите автоматизировать как минимум какой-то супермаркет или маленький городок :o

при использовании устройств от разных производителей
:blink: Вы собрались это производить в промышленных количествах???

По-моему 255 адресов хватит для дома\квартиры и ещё останется. Ну если у вас не дворец :rolleyes:

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Может между пакетами делать обязательно паузу, скажем длиной не менее 4 фреймов..

Естественно с паузой.

И любое устройство, прежде чем послать что-то свое, должно паузы дождаться.

Выглядит не то чтобы страшно, но создается впечатление, что вы хотите автоматизировать как минимум какой-то супермаркет или маленький городок :o

pivasik прав, 255 устройств на дом может не хватить.

Я вообще думал ввести кроме номера еще и тип устройства, но эта идея пока не сложилась окончательно.

Но и сильно раздувать пакет не хочется, скорость у нас не большая. Пока ~220 наиболее универсальная шина.

Тип устройства может зашиваться намертво, номер перемыкой или во флэшь писать.

Включил в сеть, нажал кнопку идентификации. Устройство за номером 0xFF (неинициализированное) шлет запрос на 0х0 (хост). Хост смотрит что у него свободно, пользователя звонком зовет и у него спрашивает, и отвечает для 0xFF что его адрес 0xXX. 0xFF ничего кроме запроса адреса и делать не должно, и ни какой ИМ на команду/данные с 0xFF реагировать не должен.

при использовании устройств от разных производителей
:blink: Вы собрались это производить в промышленных количествах???

А почему-бы и нет?

Вот поговорим тут с вами, отладим систему, а потом пускай все кто хочет делает, лишь-бы по нашему алгоритму.

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

Изменено пользователем Migray

Как советовать, так все чатлане ...

Ссылка на комментарий
Поделиться на другие сайты

Литиевые аккумуляторы EVE Energy и решения для управления перезаряжаемыми источниками тока (материалы вебинара)

Опубликованы материалы вебинара Компэл, посвященного литиевым аккумуляторам EVE Energy и решениям для управления перезаряжаемыми источниками тока.

На вебинаре мы представили информацию не только по линейкам аккумуляторной продукции EVE, но и по решениям для управления ею, что поможет рассмотреть эти ХИТ в качестве дополнительной альтернативы для уже выпускающихся изделий. Также рассмотрели нюансы работы с производителем и сервисы, предоставляемые Компэл по данной продукции. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Я на пике слелаю исполняющее устройсто, управление освещением на 3 "зоны". Управление люстрой )). Адрес 0x00h, опрос-0x00h или задача 0x01h, номера зон:1-ая зона 0x00h, 2-0x01h и третья 0x02h. команды: 0x00h - тушим, 0x01h - включаем. Вот синтаксис запрос [адрес][опрос][зона], ждем ответа [адрес][зона][состояние]. Вот синтаксис камнда [адрес][зона][состояние], ждем ответа [адрес][зона][состояние]. У меня будет 2 реле 1 кнопка. Хост должен опрашивать постоянно все адреса, особенно всякие датчики и кнопки, т.е. элементы управления. По их изменеию давать команду на реле включить или выключить - это в моём случае. Как понимаете все наращиваеться по адресам. Только придумывай как и что это дело описать. Какое правило общения будет в сети (по 220, по 380, по 10кВ шутка). Суть в том что сдесь не важно как подавать сигнал, а важно то, что в нем идет.

Я чтотоне въехал, если свет будет включать/выключать хост то есть главный то зачем тогда твоё устр-во ? ИМХО надо вот так:

Твоя схемка контролирует кол-во людей в комнате. если в комнате 1 чел то в зависимости от освещённости оно должно включить свет. Если изначально в комнате было более-менее светло, то свет должен включитьса на 50%. так же надо контролировать время. Если это ночь то свет должен включитьса на процентов 10, напрмер чел в сортир пошол... Надо решить проблему со спальной, и сделать несколько режимов работы. например если эта зоня яв-ся спальной, то позже 12 часов свет должен выключитьса. Потомучто в спальне по любому будет один или более человек... Так же былобы неплохо предусмотреть ручное вкл\выкл света, например одиночным\двойным хлопком в ладоши.

Задачи хоста:

Отображать на сколько проыентов включён свет. передавать уст-ву режим его работы (спальная, лоджия, кухня...) Ну и ещё можно чёнить потом добавить... Главное то что он НЕ должен вмешиватьса в работу слэйв устр-ва, он должен только задавать параметры, ну и отображать даные.

PS чтобы тут не мусолить эту тему, я тебе в асю напишу, обсудим, а потом выложим сдесь, то до чего мы дошли, для критики, и только потом начнём собирать...

Прежде чем говорить о процентах попытайся светодиодом поморгать на 2 контроллерах на каждом по 5 штук и опршивать 2 кнопки на тех же МК. Чтобы внюхать понюхай понятие объектно-ориентированное програмирование. Может тогда и внюхаешь. По поводу надо ли девайс от меня с исходниками?? Ты прав он не надо. Делаейте сами а я посмотрю с стороны, есть чем заняться.... Всем 73! :huh:

Пишу на Си CCS PICC для PIC, CVAVR для AVR, и иногда IAR для NEC. Особенно привык к SIM300dz.

ICQ: 288449055

Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

pivasik прав, 255 устройств на дом может не хватить.
Да, я чё-то тоже задумался... Вспоминается известная фраза одного умника: "640кб озу должно хватить всем!" и что из этого вышло...

Эххх....... и чего же такого напридумывать на 255 адресов в моей 2-х комнатной конуре :( ??

Включил в сеть, нажал кнопку идентификации. Устройство за номером 0xFF (неинициализированное) шлет запрос на 0х0 (хост). Хост смотрит что у него свободно, пользователя звонком зовет и у него спрашивает, и отвечает для 0xFF что его адрес 0xXX. 0xFF ничего кроме запроса адреса и делать не должно, и ни какой ИМ на команду/данные с 0xFF реагировать не должен.

Ага. Вроде нормально. Только кнопку идентификации надо наверно делать на каждом устройстве и нажимать их по-очереди. А то при самом первом включении сети, когда все начнут слать запросы на идентификацию, может случиться катаклизьм...

Ссылка на комментарий
Поделиться на другие сайты

Не надо так категорично :) я ещё чел начинающий, пока что не внюхал, мож годам к 60 и внюхаю по полной :) И если каждый на этой стадии буджет говорить "Делайте мсами, я пошол..." то мы в итоге ничего не сделаем, разве что кроме пары страниц флуда...

ИМХО Проценты это самое простое.... можно сделать несколько значений, апример 20%, 50%, 100% и выводить это на ЖК ди сплей самого уст-ва, или на ЖК дисплей хоста (если возможно конешно)

Я бы всё это сделал, если бы мог, если поможете с Обработкой сигнала с ддатчиков, то я попробую. Возможно прицеплю ЖК дисплей :) да и ещё надо разобратьса с передачой\приёмом данных к хосту и от хоста, что тоже проблематично длчя меня. С шимом я думаю что разберусь :) Тока пишу я для АВР, на си

PS :)

#include <mega16.h>
// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
PORTA^=1;
void main(void)
{
PORTA=0x00;
DDRA=0xFF;
PORTB=0x00;
PINB=0x00;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 125,000 kHz
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x01;
TCNT0=0x00;
OCR0=0x00;
TIMSK=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x01;

// Global enable interrupts
#asm("sei")

//то что выше, то моргание светика, то что ниже опрос кнопоу 
opros:
while(PINB.0){
goto mesto_1;
}
while(PINB.1){
goto mesto_2;
}
goto opros;

mesto_1:
mesto_2:
}   

Я был механик, я есть механик, я буду механик

Ссылка на комментарий
Поделиться на другие сайты

ИМХО Проценты это самое простое.... можно сделать несколько значений, апример 20%, 50%, 100% и выводить это на ЖК ди сплей самого уст-ва, или на ЖК дисплей хоста (если возможно конешно)

Давай разберемся, % чего и к чему.

Если мерить освещенность, то тут шкала нелинейная будет, и ни о каких % речи быть не может.

Солнечные лучи в полдень, для средних широт - 100000 люкс

На рабочем столе для тонких работ - 100...200 люкс

Необходимое для чтения - 30...50 люкс

Как советовать, так все чатлане ...

Ссылка на комментарий
Поделиться на другие сайты

Для этого разработчики объеденяют усилия и договариваться. Давайте арвщики, делайте хост. Я на пике слелаю исполняющее устройсто, управление освещением на 3 "зоны". Управление люстрой )). Адрес 0x00h, опрос-0x00h или задача 0x01h, номера зон:1-ая зона 0x00h, 2-0x01h и третья 0x02h. команды: 0x00h - тушим, 0x01h - включаем. Вот синтаксис запрос [адрес][опрос][зона], ждем ответа [адрес][зона][состояние]. Вот синтаксис камнда [адрес][зона][состояние], ждем ответа [адрес][зона][состояние]. У меня будет 2 реле 1 кнопка. Хост должен опрашивать постоянно все адреса, особенно всякие датчики и кнопки, т.е. элементы управления. По их изменеию давать команду на реле включить или выключить - это в моём случае. Как понимаете все наращиваеться по адресам. Только придумывай как и что это дело описать. Какое правило общения будет в сети (по 220, по 380, по 10кВ шутка). Суть в том что сдесь не важно как подавать сигнал, а важно то, что в нем идет.

см пост #112.

Ссылка на комментарий
Поделиться на другие сайты

Если мерить освещенность, то тут шкала нелинейная будет, и ни о каких % речи быть не может.

Дык, не пойму в чем проблема?... Зачем нам передавать по сети значение освещенности с таким разрешением? Мы чё, фотографией что ли будем заниматься? Пусть внутреннее разрешение датчика (сенсор+МК) будет какое угодно большое, а в сеть он будет передавать уже преобразованное до 1 байта значение. Да можно вообще ограничиться несколькими значениями, соответствующими важным диапазонам яркости. Типа "темно", "сумерки", "светло1", "светло2",.... "ядерная вспышка" :lol:

Изменено пользователем YurkaM
Ссылка на комментарий
Поделиться на другие сайты

Ребяты ! А какие данные вы собрались гонять между устройствами ? У меня например для включения/выключения хватает четырех байт. номер зоны и группа устройства, включено оно или выключено, яркость, физический адрес в данной группе. контрольная сумма исключена за ненадобностью. И самое главное: это всё уже реально работает вот уже полгода без сбоев.

Ссылка на комментарий
Поделиться на другие сайты

:rolleyes: так что с питанием? параметры есть какие нибудь или еще рано об этом?

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

Ссылка на комментарий
Поделиться на другие сайты

Ребяты ! А какие данные вы собрались гонять между устройствами ? У меня например для включения/выключения хватает четырех байт. номер зоны и группа устройства, включено оно или выключено, яркость, физический адрес в данной группе. контрольная сумма исключена за ненадобностью. И самое главное: это всё уже реально работает вот уже полгода без сбоев.

Хороший вопрос! Пока в качестве данных видятся твои "включено оно или выключено, яркость"... Но хочется гибкости протокола, мало-ли что завтра в голову взбредёт ;)

Ссылка на комментарий
Поделиться на другие сайты

Выключатель нада делать микроконтроллер + тиристор или полевик, для них совсем надо мало мощьности.

Хороший вопрос! Пока в качестве данных видятся твои "включено оно или выключено, яркость"... Но хочется гибкости протокола, мало-ли что завтра в голову взбредёт ;)

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

Ссылка на комментарий
Поделиться на другие сайты

применение тиристора(симистора) - очень спорный вопрос, если делать связь по сети 220

Изменено пользователем YurkaM
Ссылка на комментарий
Поделиться на другие сайты

к посту #146 - см. пост 112.

применение тиристора(симистора) - очень спорный вопрос, если делать связь по сети 220

Тогда только мощный полевик :D

Ссылка на комментарий
Поделиться на другие сайты

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

Вот тока я не знаю, у кого хватит возможностей его сделать... Дбровольцы есть? :)

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

Мощность программы зависит от времени.

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

Удовольствие критиковать мешает наслаждаться прекрасным. (це) Ж. Ла6рюйер

Ссылка на комментарий
Поделиться на другие сайты

МС Димыч На каких МК ты делаешь ? надо чёнить по мощьнее :) А протокол как уже сказали надо блать гибкий...

Давай разберемся, % чего и к чему.

Если мерить освещенность, то тут шкала нелинейная будет, и ни о каких % речи быть не может.

Я имел в виду отображать проценты не освещённости самй комнаты, а на сколько процентов работает лампа:

100 % светит в полную силу

50% светил в пол накала

25% светит оч тускло.

Вот и всё :)

Можно конешно сделать как ты сказал, но это уже немного геморойно, мерить - отображать...

Я был механик, я есть механик, я буду механик

Ссылка на комментарий
Поделиться на другие сайты

Внесу в очередной раз немного смуты.

Какая-то каша-малаша. Одни лепят детей, другие обсуждают о чем дети будут разговаривать, третьи - что они должны делать.

Я так понимаю, что остановились на управлении светом? Для начала банально можно сделать чтоб по команде из сети устройство могло включить и выключить свет - накрутить логику пограммы намного проще чем пересобрать устройство. Но если кто-то таки возьмется за такое устройство, то предусмотрите, чтоб железяка позволяла расширение к плавному управлению освещенностью. Итого: из сети 1 байт в диаппазоне 0..100, задающий уровень освещенности.

Касательно самой сети, вы обсуждаете что дети должны говорить (причем говорить правильно) не задав правила общения: не ясен ни арбитраж, ни методы адресации. С самими данными вроде договорились: [Length][Data][Checksum]

Касательно арбитража: он может быть аппаратный (поддерживается адаптерами для 220?) или программный (по задержке?).

Касатально адресации, на текущий момент видно было только два предложения: с фиксированным адресом для одноранговой сети, выставляемым вручную; с нефиксированной длиной для каскадной адресации. По первому мне не нравится малый диаппазон, плохая расширяемость. По второму кроме сложности пока ничего не получил - давайте что-ли в irc или icq обсудим детали и вынесем сюда заключение на суд.

Черновой вариант второго прилагаю, чтоб если обсуждать - по теме (готовим вопросы и потом обсуждаем).

Специальные адреса.

00 - адрес самого себя в подсети (не надсети)

FF - адрес широкого вещания (в подсети)

Раздача адресов.

Раздача адресов при наличии контроллера (рассматриваю сразу обобщенный случай).

- вновь подключенные устройства имеют идентификатор ID = 00 и первый, получивший доступ, бросает в надсеть широковещательное сообщение: [FF][00][Length][CmdRequestAddr][ChkSum] - "Прошу контроллер выдать адрес"

- контроллер отвечает: [00][ControllerId][Length][CmdFirstFreeAddr][FirstFreeId][ChkSum] - "Первый доступный адрес FirstFreeId"

- дальше первый кто снова достучиться до линии бросает: [ControllerId][FirstFreeId][Length][CmdConfirmAddr][ChkSum] - "Прошу контроллер подтвердить выдачу FirstFreeId"

- все, кто участвует в этом дележе, кроме достучавшегося увеличивают у себя запомненное значение FirstFreeId на 1, а контроллер подтверждает получение адреса посылкой: [FirstFreeId][ControllerId][Length][CmdAddrConfirmed][ChkSum] или отвергает его посылкой [FirstFreeId][ControllerId][Length][CmdTryAgain][ChkSum]

- процесс повторяется с пункта 3, пока все не получат адреса или не обнаружат, что адресов не осталось

Внимание! В процессе раздачи адресов не участвует адрес, который имеет контроллер надсети. Это связано с тем, что адресация в надсеть не должна конфликтовать с адресацией внутри подсети.

Если устройство выключить и включить, то его предыдущий адрес будет утерян (в пул адресов не попадет обратно ж). В конце концов периодическое вкл/выкл приведет к исчерпанию пула. В данном случае предлагается контроллеру дать команду на процесс обновления адресов, всеми активными устройствами: [FF][Controller_ID][Length][CMD_InvalidateAll][Chksum]

Раздача адресов без контроллера аналогична с контроллером, но поскольку никто не отвечает на запрос - переходим в автономный режим работы до появления контроллера на линии При появлении контроллера, он выдает команду на переадресацию: "Расчитайсь" и управляет процессом.

Поскольку при появлении контроллера происходит полная переадресация, то контроллер всегда может присваивать себе ID = 1.

Методы адресации.

Пусть 01 - контроллер надсети, 02 - контроллер данной подсети.

03.00 - устройство 03 в текущей подсети

02.03.00 - устройство 03 в текущей подсети

02.01.00 - контроллер надсети

и так далее, представив себе сеть в виде дерева и пронумеровав его узлы

И под конец посмотрим проход пакета от контроллера верхнего уровня (ID = 01) к устройству 02.01.02.05.00 (4 каскада)

[02.01.02.05.00][01.00][LL][CmdPing][CC] - начальная посылка с контроллера с ID = 01

[01.02.05.00][02.01.00][LL][CmdPing][CC] - на первом контроллере с ID = 02

[02.05.00][01.02.01.00][LL][CmdPing][CC] - на втором контроллере с ID = 01

[05.00][02.01.02.01.00][LL][CmdPing][CC] - на третьем контроллере с ID = 02

[00][05.02.01.02.01.00][LL][CmdPing][CC] - на самом устройстве

и обратно:

[02.01.02.01.00][05.00][LL][CmdPingOk][CC] - на самом устройстве

[01.02.01.00][02.05.00][LL][CmdPingOk][CC] - на третьем

[02.01.00][01.02.05.00][LL][CmdPingOk][CC] - на втотром

[01.00][02.01.02.05.00][LL][CmdPingOk][CC] - на первом

[00][01.02.01.02.05.00][LL][CmdPingOk][CC] - на верхнем

соответственно, об ошибке может сообщить любой контроллер. Формат ошибки уже будет индивидуален.

p.s. Фигасе я тут наваял :)

Ссылка на комментарий
Поделиться на другие сайты

Кстати, если посмотреть внимательно на пример, то можно заметить, что поля Получатель+Оправитель имеют фиксированный размер, причем ограничены с одной стороны краем пакета, с другой - маркером 00 (вторым). Так вот, если поле получатель, кроме 00 перевернуть побайтно, то проход промежуточного контроллера можно сделать всего как обмен двух байт, вместо смещения части байт в текущем варианте. Получится как-бы "бегающий маркер". Но немного усложняется определение на узле "своих" пакетов: узел должен дождаться первого нуля и посмотреть предыдущий байт - его ли адрес. Думаю, что это с лихвой компенсируется избавлением от длительных операций с памятью.

Ссылка на комментарий
Поделиться на другие сайты

:rolleyes: так что с питанием? параметры есть какие нибудь или еще рано об этом?

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

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

но больше склоняюсь к импульснику.

Рожденный ползать, летать не сможет.

Ссылка на комментарий
Поделиться на другие сайты

2 Левша

Да не важно это тут. Тут другой вопрос - в этом топике даже никто не нарисовал простйшую структурную схему. Так разговоры о высоких материях.

Пишу на Си CCS PICC для PIC, CVAVR для AVR, и иногда IAR для NEC. Особенно привык к SIM300dz.

ICQ: 288449055

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...