>>128077651 Что будет входными данными, что именно измерять будешь? Выход - клапана/насос? Логирование - имплаинг: запись состояния системы на какой-то носитель типо флешки по КД для последующего анализа.
Кстате, а какие есть дальнобойные доступные радиомодули с дальностью прямой связи 3-5 км и скоростью хотябе 9600 бод? То, что гуглится не даёт больше 1 км.
>>128077997 Передачу пакетов без потерь? На аппаратном уровне? Я хз конечно, но с точки зрения физики это нереально, ибо есть понятие естественных шумов. хотя если теоретически очемнь большие мощности помноженные на очень большие частоты+ калибровка направления передатчика и приёмника.
>>128077808 Есть некая доля истины в его изречениях, не любят в промышленности беспроводные интерфейсы, ибо те, что канают дорого, и проводом зачастую притянуть проще.
>>128078036 Я дебиан 1 раз юзал ито на впс-ке, поэтому не скажу точно. У меня на арчике можно сделать sudo systemctrl stop gdm И sudo systemctrl disable gdm Чтобы после ребута опять не запускалось У тебя может быть не gdm а нечто другое
>>128077912 При отправке пакета, может быть потеря, в итоге не сойдуться контрольнные суммы, мастер еще раз опрашивает слейв, опять частичная потеря. Повторить до бесконечности, хотя в итоге что-то просто встанет ибо будет аварийное отключение.
>>128078256 Есть еще методы коррекции же, позволяющие восстановить даже неверно принятый байт. >>128078260 А так то да, применяется, только когда провод по каким-либо причинам применить затруднительно. Как ни крути проводной канал надёжнее и проще технически.
>>128078694 >мост длинной 2км Там и без твоих жалких джвух проводов наверное куча других, еще 2 ни кого не смутят. Лучше вообще витуху кинуть, не так и дорого выйдет.
Как вкатиться в STM32? Почитал пару исходников, охуел от конструкций вида JELDNFOKRNFKF_FJPDLNFODNODINF_JDBIDBFOKENIDK_JLDKNSPOEDNFKFNJ -> 1. С опытом придрачиваешься, или постоянно приходится в доки лезть?
>>128078694 Sms. Надежнее всего. >>128078736 Из прошлого треда. Хейтет в первую очередь из-за ардуино-детей, которые научились мигать диодиком и лезут к большим дядям доказывать что их поделки это йоба контроллер для умного дома. Ну и плюс общая тупость и зашореность ардуино комьюнити. >>128078846 В провадах у меня RS-485 или Modbas.
>>128078736 Поясню еще раз: Пока ты понимаешь ограничения ардуины и то, что она хороша для макетирования, но не для продакшена, все ок. А если ты начинаешь её пихать везде - уже зашквар.
>>128079104 пакет на жеской логике просчитывает CRC или ХЭШ или аллаха, и та же логика вписывает это число в конце. приемник аппаратно еще рас считает CRC и сравнивает с последними n-байтами пакета. если сходится верно если нет то передает ошибку. если это P2P сеть, то каждый участник проверяет верность пакета
Короче, поясняю по хардкору. AVR - для детей и старых усачей, дешево и годно, респект. ARM - для прожаренных усачей и проггеров, профитов больше чем от AVR, но сложнее в освоении.
>>128079185 Ага. Где всё наживую можно переподключить при необходимости.
>>128079054 Удвою. Я вообще не представляю, как можно в готовое решение совать такую вот плату. Откатать на ней софт - ок, особенно если хуярить его не в самой среде а писать под контроллер в соответствующей ему, но потом один хрен надо делать плату под изделие с нужной периферией, обвязкой и ты ды.
>>128080080 > ПЛК - сила, микроконтроллеры - могила. То чувство, когда ПЛК делают на основе микроконтроллеров. > CODESYS-кун в треде. Могу пояснить за немецкие, японские, русские ПЛК. Из немецких и русских слышал только про сименс и овен. Ты и с другими работал?
>>128080577 Повторюсь, тогда нахуй иди отсюда. Тебе сказали сделать ретранслятор который будет запускаться раз в месяц а остальное время спать, я посмотрю как бы его будешь на ПЛК делать и чем ты её кормить будешь.
>>128080940 >Хлебопекарню автоматизировать будешь? Так пиздуй и автоматизируй, это твой предел. Ладно, так уж и быть, объясню тебе дебилу, на примерах которые ты поймешь. Плк это просто уже смакетированый контроллер, имеющий какую-либо среду разработки, и имеющий входы/выходы что бы ими управлять. Т.е это почти твоя любимая ардуина! Только уже после заводской сборки, и с вменяемой либой прям из коробки.
>>128080301 В ПЛК у меня внезапно стоит либо система на чипе / модуле, либо на материнке все элементы распаяны поотдельности. >>128080370 Оверкил, ящитаю. На Овене делать - геморрой и нестабильно, на немцах - полдома купить можно за ту цену. >>128080681 Овены, хитачи, бекхов, бергхов. При желании можно достать любой, от ваги до бернике&райнике. >>128080694 Ты какой-то аггрессивный, это всё от овощей.
>>128081445 Скорее это RJ-11, а что не так? Анальный господин запретил использовать телефонный провод и разъёмы для передачи RS-232? Он удобный разёём, сам иногда применяю в своих подельях.
>>128080684 Ну давай разберем по частям, тобою написанное )) Вот есть у тебя объект типа лампочка и объект типа чайник. Оба объекта имеют одинаковый метод "Включить". В высокоуровневом языке это будет выглядеть так: lamp.on(); kettle.on(); А в ассемблере с макросамы ты так уже не сможешь сделать, т.к. нет возможности абстрагироваться в макросах от типа объекта.
>>128081366 >и имеющий входы/выходы что бы ими управлять Не всегда. Есть модульные ПЛК, где ты сам себе собираешь к процессорному блоку всё, что нужно и иногда нужен только какой-нибудь бас-коплер типа Ethercat.
>>128081617 Можно. Комплексная промышленная автоматизация - хорошая тема, где за предпроектное обследование и ТЗ можно пару сотен килорубликов снять. >>128081620 На расбери можно рантайм CODESYS накатить, будет ПЛК. >>128081749 Это оператор, и то непонятно нахуя он там, если ПЛК сам себе нажмёт всё, что надо.
>>128081998 >call lamp_on >call kettle_on Ты что, тупой? Иди и еще раз прочти про абстракцию - отделение какого-то метода от типа объекта, для которого этот метод будет выполнен.
>>128081424 Подскажи годный самоучитель. Я как-то купил программатор avr, макетную плату и пару микросхем, да война началась и стало не до этого. Теперь думаю, что неплохо было бы устроится на какую-нибудь инженерную должность.
>>128082177 херня, на самом деле, промышленность в рашке на ладан дышит, только нефтегаз еще бодрячком. Если не собираешься туда перекатываться - не связывайся с АСУТП
>>128082142 Ну, при портировании да, адреса регистров и некоторые моменты в инициализации периферии отличаются. Но ядро контроллера один хрен одно и то же + разные баги. В остальном концептуальной разницы никакой.
>>128076867 (OP) Анука, анонии, хотел себе прикупить , то 3-ю малину, то ардуину.Но так и не придумал нахуя, замков, термометров,тв боксов мне нинада,а нахуй еще, так и не придумал.
>>128082193 > Малинка это одноплатный комп, прям как твой ПеКа, даже в крузис можешь, а плк это МК и входы/выходы Наоборот же, мк это однокристальный комп, на который загружаются программы. Есть в плис регистры, ОЗУ, ПЗУ? А ПЛИС это просто пустая микросхема и много ножек, которая преобразуется верилогом в то, что надо.
>>128081714 > А в ассемблере с макросамы ты так уже не сможешь сделать, т.к. нет возможности абстрагироваться в макросах от типа объекта. Можно сделать макрос класса, поля и метода. А они будут раскрываться в соответствующий struc и функции с первым аргументом this. Потом сделать макрос, который вызывае метод объекта. Это я в nasm описываю. Что-то типа
>>128082397 А то я не знаю, что у нас пиздец. У нас автоматизация где-то на уровне 2-х процентов от силы от автоматизации Германии. По выставкам очень сильно заметно, например - ПТА в Москве, Технологии Автоматизации в Питере с каждым годом всё меньше и меньше. Я в Нюрнберге на SPS IPC был, вот там масштаб, один Сименс полвыставки занял. Нефтегаз своими дорогами идёт, с ними немного и работаем с чем только не работаем, нас самом деле.
>>128077244 да, но тебе будет нужен шилд реалтайма и еботы много. Делай лучше на распбе как я. Сервак веб интерфейса на фласке, отдельно питон скрипт для управления датчиками и записи в mysql Для расп еще надо будет АЦП модуль 3 доллара
>>128076867 (OP) В воскресенье в АНТИКАФЕ "КОУЗИ-МИТИНГ" был проведен КОВОРКИНГ среди ЭМБЕДДЕРОВ, QAВ воскресенье в АНТИКАФЕ "КОУЗИ-МИТИНГ" был проведен КОВОРКИНГ среди ЭМБЕДДЕРОВ, QA и просто айтишников. КОВОРКИНГ состоял из нескольких частей: ВОРКШОП с перерывами на КОФЕ-БРЕЙКИ (кстати были вкуснейшие МАФФИНЫ с ванильным кремом, а также безалкогольный мохито и СМУЗЗИ) и выступления докладчиков - СТАРТАПЕРОВ со смелыми КРАУДФАНДИНГОВЫМИ ПРОЕКТАМИ. Общая аудитория состояла из специалистов довольно широкого круга: здесь мы видели как новичков в КОВОРКИНГ-ЦЕНТРЕ, так и знакомых нам по прошлым встречам людей. Воркшоп состоял из ТРЕНИНГОВ по применению ОБЛАЧНЫХ ТЕХНОЛОГИЙ в системах УМНЫЙ ДОМ, использованию там искусственного интеллекта и обучающей модели для самонастройки системы. Информация была интересна как людям, напрямую работающими с ЭМБЕДДЕД-ПО, так и просто ДЕВЕЛОПЕРАМ и специалистам QA. Далее была самая вкусная часть, а именно: доклады СТАРТАПЕРОВ, которые уже стабильно стоят на ногах и готовы продвигать свои КРЕАТИВНЫЕ ИДЕИ в наш быт. Стоит отметить почти четырехчасовой доклад с презентацией дизайнера и профессионального фотографа Ивана Сурикомова. Иван известен нам по уже описанному ранее КРАУДФАНДИНГОВОМУ ПРОЕКТУ выключателя света на платформе ARDUINO. Смелые БИЗНЕС-ИДЕИ, отличная задумка, мощная HARDWARE-ПОДДЕРЖКА - всё это про систему Ивана. Публика активно задавала вопросы, в ходе показа презентации Иван детально описал своё устройство. ИННОВАЦИОННОСТЬ заключается в том что для выключения и включения освещения вам не нужно переключать выключатель! Вся прелесть конструкции Ивана в простоте и ЮЗЕР-ФРЕНДЛИ интерфейсе. Подумайте только - свет управляется одной кнопкой, причем она сама запоминает свое состояние, словно включение системного блока стандарта ATX! К тому же, кнопка повторяет форму пальца человека. Из презентации Сурикомова стало ясно, что подобных проектов в мире пока что не было. Иван разработал трехмерную модель кнопки и продемонстрировал ее в презентации. "На данный момент мой проект находится на стадии прототипирования и просчета БИЗНЕС-ИДЕЙ" - сказал Сурикомов. Модель кнопки в будущем будет распечатана на 3D-ПРИНТЕРЕ у ребят в ФАП-ЛАБЕ, для этого на КИКСТАРТЕРЕ Ивану нужно собрать всего лишь $21,000. Увы, пока что Ивану не удалось совместить работающий макет своего устройства с реальной лампочкой, по словам Ивана для управления лампой используется опасное высокое напряжение в 220В, а выводы ARDUINO выдают 5В. Но ничего, HARDWARE-СПЕЦИАЛИСТЫ будут разрабатывать блок для управления высоким напряжением. "Возможно мы применим трансформатор для преобразования 5В в 220В" - отметил Иван в завершении доклада. Не обошло наше мероприятие и представительниц прекрасного пола, помимо знакомой нам с прошлых встреч Ираиды Сандро, сегодня выступила новая девушка из ХАКЕРСПЕЙСА по имени Елена. Ее доклад тоже был принят с вниманием и интересом, ведь Елена затронула очень актуальную тему на сегодняшний день - печать больших объектов на 3D-ПРИНТЕРЕ. В частности, Елена продвигает идею печати стульев и пуфиков и даже продемонстрировала залу модель своего будущего стула, всего 7см в высоту. Елена намерена набрать нужную сумму для ВОРКШОПА с помощью иностранной СТАРТАП-КАМПАНИИ с КРАУДИНВЕСТИНГОМ в основном из США. К тому же, Елена разработала смелое дизайнерское решение надеть картонную коробку на раму велосипеда. "Я давно думала о таком велосипеде, ведь никто до меня этого не сделал" - заявила девушка. Нельзя сказать что все выступления в АНТИКАФЕ были интересны публике: под вечер двое ребят пытались рассказать о построении каких-то антенных систем на основе дешевых китайских ТВ-тюнеров. Публика отметила что проект пока что очень сырой и требует доработок, а также в нем изюминки, нет элементов ХАЙТЕК-СТАРТАПА. Но слушатели предложили применить ТВ-тюнер для управления вебкамерой в квартире с возможностью СТРИМА через ВЕБ-ИНТЕРФЕЙС. Ваня Сурикомов даже сказал что готов купить такое устройсто, если оно будет вести стрим на его IPHONE 6. и просто айтишников. КОВОРКИНГ состоял из нескольких частей: ВОРКШОП с перерывами на КОФЕ-БРЕЙКИ (кстати были вкуснейшие МАФФИНЫ с ванильным кремом, а также безалкогольный мохито и СМУЗЗИ) и выступления докладчиков - СТАРТАПЕРОВ со смелыми КРАУДФАНДИНГОВЫМИ ПРОЕКТАМИ. Общая аудитория состояла из специалистов довольно широкого круга: здесь мы видели как новичков в КОВОРКИНГ-ЦЕНТРЕ, так и знакомых нам по прошлым встречам людей. Воркшоп состоял из ТРЕНИНГОВ по применению ОБЛАЧНЫХ ТЕХНОЛОГИЙ в системах УМНЫЙ ДОМ, использованию там искусственного интеллекта и обучающей модели для самонастройки системы. Информация была интересна как людям, напрямую работающими с ЭМБЕДДЕД-ПО, так и просто ДЕВЕЛОПЕРАМ и специалистам QA. Далее была самая вкусная часть, а именно: доклады СТАРТАПЕРОВ, которые уже стабильно стоят на ногах и готовы продвигать свои КРЕАТИВНЫЕ ИДЕИ в наш быт. Стоит отметить почти четырехчасовой доклад с презентацией дизайнера и профессионального фотографа Ивана Сурикомова. Иван известен нам по уже описанному ранее КРАУДФАНДИНГОВОМУ ПРОЕКТУ выключателя света на платформе ARDUINO. Смелые БИЗНЕС-ИДЕИ, отличная задумка, мощная HARDWARE-ПОДДЕРЖКА - всё это про систему Ивана. Публика активно задавала вопросы, в ходе показа презентации Иван детально описал своё устройство. ИННОВАЦИОННОСТЬ заключается в том что для выключения и включения освещения вам не нужно переключать выключатель! Вся прелесть конструкции Ивана в простоте и ЮЗЕР-ФРЕНДЛИ интерфейсе. Подумайте только - свет управляется одной кнопкой, причем она сама запоминает свое состояние, словно включение системного блока стандарта ATX! К тому же, кнопка повторяет форму пальца человека. Из презентации Сурикомова стало ясно, что подобных проектов в мире пока что не было. Иван разработал трехмерную модель кнопки и продемонстрировал ее в презентации. "На данный момент мой проект находится на стадии прототипирования и просчета БИЗНЕС-ИДЕЙ" - сказал Сурикомов. Модель кнопки в будущем будет распечатана на 3D-ПРИНТЕРЕ у ребят в ФАП-ЛАБЕ, для этого на КИКСТАРТЕРЕ Ивану нужно собрать всего лишь $21,000. Увы, пока что Ивану не удалось совместить работающий макет своего устройства с реальной лампочкой, по словам Ивана для управления лампой используется опасное высокое напряжение в 220В, а выводы ARDUINO выдают 5В. Но ничего, HARDWARE-СПЕЦИАЛИСТЫ будут разрабатывать блок для управления высоким напряжением. "Возможно мы применим трансформатор для преобразования 5В в 220В" - отметил Иван в завершении доклада. Не обошло наше мероприятие и представительниц прекрасного пола, помимо знакомой нам с прошлых встреч Ираиды Сандро, сегодня выступила новая девушка из ХАКЕРСПЕЙСА по имени Елена. Ее доклад тоже был принят с вниманием и интересом, ведь Елена затронула очень актуальную тему на сегодняшний день - печать больших объектов на 3D-ПРИНТЕРЕ. В частности, Елена продвигает идею печати стульев и пуфиков и даже продемонстрировала залу модель своего будущего стула, всего 7см в высоту. Елена намерена набрать нужную сумму для ВОРКШОПА с помощью иностранной СТАРТАП-КАМПАНИИ с КРАУДИНВЕСТИНГОМ в основном из США. К тому же, Елена разработала смелое дизайнерское решение надеть картонную коробку на раму велосипеда. "Я давно думала о таком велосипеде, ведь никто до меня этого не сделал" - заявила девушка. Нельзя сказать что все выступления в АНТИКАФЕ были интересны публике: под вечер двое ребят пытались рассказать о построении каких-то антенных систем на основе дешевых китайских ТВ-тюнеров. Публика отметила что проект пока что очень сырой и требует доработок, а также в нем изюминки, нет элементов ХАЙТЕК-СТАРТАПА. Но слушатели предложили применить ТВ-тюнер для управления вебкамерой в квартире с возможностью СТРИМА через ВЕБ-ИНТЕРФЕЙС. Ваня Сурикомов даже сказал что готов купить такое устройсто, если оно будет вести стрим на его IPHONE 6.
>>128082875 Я знаю, что пустая. Просто нахуя она там? Не в плане, что неправильно, а в плане - какой в ней смысл в данном коде? Хочу просто понять основы.
>>128083060 Знакомые спецы которые в промышленности тусят, довольны, работа есть, зп идет. Сам я на гражданской автоматизации. Может от региона зависит? У меня на малой родине, Самара, заводы как государственные так и частных предприятий полно. Асушники нужны.
>>128083414 1. Покупаешь приблуду 2. Коннектишь к нужным пинам МК 3. Втыкаешь в USB 4. На компе настраиваешь свою ИДЕ 5. ????? 6. Шагаешь и смотришь переменные, будто отлаживаешь софт для пеки. а на самом деле все в МК.
>>128083442 А что-нибудь маленькое, уютное и ориентированное на беспроводную связь и сниффинг? Когда изучал x86 асм, то начинал с 16-битного асма и изучал старые вирусы. Очень нравилась атмосфера 16-битного асма, AFD Pro, даже как будто ощутил дух того времени.
>>128083497 я уже перекатываюсь в разработку ПО из АСУТП, у нас тухленько, как я и писал выше. Да и по специальности я программист а не электроник или АСУТПист
>>128083704 Я в шкалке пытался изучать ассемблер для пеки, но ниасилил, потерял интерес и дропнул - интернетов то еще не было. А в вузике был асм для 8битных контроллеров 51й серии.
>>128083523 У нас, помню, вообще программировать в машинных кодах. Когда сначала хуяришь текст на асме, потом вручную переводишь в гекскод и вбиваешь в, ээмм... этакий здоровенный гроб с клавиатуры о 20 кнопках. И оно в ответ мигает светодиодиками.
>>128082856 Тогда что, для каждого объекта будет свой метод или общий метод для нескольких объектов, внутри которого будет проверяться, что это за класс и соответственно делать какие-то действия? Уже противоречит принципу абстракции.
>>128083898 Ну да, ядра то нет, так что в зависимости от сложности софтины и проца ты либо вовсе не заметишь баг без вдумчивого просмотра переменных, либо в лучшем случае вывалишься в какое-нибудь прерывание вроде FAUL, BUS_ERROR или что-то подобное. Я 70% времени этим занимаюсь, и мне норм.
>>128084031 Может я чего то не понимаю, но proteus тебе в помощ так много чего из мк можно эмулировать. Только не рассчитывай что на железо перенести можно будет.
>>128082856 не начинай. он тебе ща кинет очередную ссылку на чтото типа на читай разбирайся. >>128082875 кун
>>128083247 никакого смысла в этом коде нет. просто я забил nopами. но бывае например что ты читаешь данные с ножки. например:
out r16, PORTC а следующей операцией захочешь обратно закинуть в порт in PORTB, r16 то иногда бывает что не успевает синхронизироваться и на выходно некоррекнтные данные. ставят несколько nop ов и все нормально получается. пример ебанутый, наверное так работать и будет. но на смысл в том что не успевает записаться и нужна пустая функция. еще гении реализуют nop ом задержки. известна частота тактирования. можно сделать задержку в 1мкс например nopами
>>128083994 я в свое времо приходил к успеху, в том же аппарате управления транснефти занимался верхним уровнем СДКУ (так у них называется человеко-машинный интерфейс), но там условия труда пиздец какие, переработки по пять часов в день, анальное рабство во все поля. Решил, что займусь любимым делом и приду к успеху еще раз. В июле выхожу на работу уже как разработчик, а там посмотрим
>>128084031 В протеусе дохуя разных простых процов поддерживается, можно в режиме отладки даже, если указать программу не .hex, а .elf с отладочной инфой
>>128084262 Но мне 25, а сабж и ввод программы в йоба чемодан - мне батя рассказывал. Мы же вводили машинные коды только на электротехнике на какой то лабе.
>>128082875 >lamp_on(on) Блядь, ты что, совсем ебанутый? Этот макрос уже не абстрактный, а именно для объекта типа lamp. Абстрактным был бы макрос типа: on(lamp) on(kettle) Но такое не сделать.
>>128083589 > 45к, в транснефти - около 80 че все так плохо?да же сраный 1к далларав это уже по бохатаму?знаю ищут простых чпу-шников на 2к+ $, не жопорукиХ, найти не могут
>>12808428 >еще гении реализуют nop ом задержки Я что то упустил, но как еще сделать задержку регулируемую, кроме энергосберегающих режимов с какими ни будь таймерамиХотя нопы и то лучше смотрятся по сравнению с этим
>>128083381 #include <название микрухи/io.h>//в этом файле присвоены названия адресов портов и регистров мк для удобства
//настройка таймера TCNT0=150;//или другое число TCCR0=0b00000110; //запустили таймер на частоте проца/256, TIMSK=0b00001000;//разрешили прерывания от таймера 1 sei();//разрешили глобальные прерывания
>>128084392 легко можно сделать таблицу всех вообще устройств которая будет на EEPROM и туда будут загружаться своеобразные драйверы вообще левым усройством просто аналогия контроллер будет считывать и выполнять твои операции. хоть on(lamp) или lamp_on
>>128085374 Нет, эклипс, это платформа для построения ИДЕ для любого языка, хоть для нескольких сразу одновременно. В том числе C/C++, java, python, Go, JS, HTML Это то, что я лично пользовал
Аноны, avr-кун на связи. Купил себе на днях сайпросовскую борду с псок4 на борту. Запустил псок криейтор, создал пустой проект. Посмотрел на схемки, на два десятка сгенерированных хедеров и нихуя не понял. С наскока даже светодиодом не сумел поморгать.
Я чего спросить то хотел - псоки вообще как, котируются? Или стм наше все?
>>128084558 легко делать. если это stm32 есть там специальный таймер sys_tic он он может например отсчитывать количество мс с момента влючения МК. т.е. прерывания будут каждую 1 сек и инкримент счетчика.
аналогично можно запердолить и на более простом контроллере.
так более лучше, потому что можно уже сделать такую задержку где контроллер уже не будет проставать как с nop ами
PORTA=0b00000100; Зажгли 3-ю ножку порта А. В двоичном виде это понятней, что на конкретной ячейке 0 или 1. while(time<700){}; Оно будет ждать до тех пор, пока переменная time не вырастет до 700, а так как она растёт на единицу каждую милисекунду, это будет задержка на 0,7 сек.
>>128085832 Вим - блевотная параша, единственное преимущество - работать в концольке может, без гуйни - сгодится запустить через какой-нить ssh. При наличии графики - сосет всеми отверстиями у саблайма.
>>128084684 я делал в железе. пошел за свои деньги купил stm32f429i-disco топовую самую на тот момент. и ебанул генератор синуса на ЦАПе . со всеми возможными регулировками. даже сам внопочки спаял и подключил.
только препод ебанько рассказывал про защиту аппаратную от дребезга. не надо. лучше програмно
>>128085787 А за это пояснишь? Как оно работает? ISR TIM0//прерывание таймера 0 раз в миллисекунду { TCNT0=150;//опять записали в таймер число time++;}
>>128084137 > общий метод для нескольких объектов, This. Общие методы для всех объектов данного класса.
> внутри которого будет проверяться, что это за класс и соответственно делать какие-то действия Нет, ты не понял. Принцип, как в компиляторе любого ООЯП. Есть несколько функций, у которых первый аргумент — указатель (адрес) на объект (т.е. некоторый набар байт). Функция интерпретирует этот адрес, как если бы он указывал указывающий на свой struc. Ничего не проверяется, указал херню — твоя вина. Если ты думаешь что имена у методов типа одинаковые, то нихуя. Для objcall foo, bar будет генерироваться что-то типа call __METHOD_foo_bar.
На примере: Пусть procedure <name>[, <arg1>[, <arg2>[, …]]]- макрос, объявляющий процедуру с соответствующими прологом и эпилогом. Тогда это class Foo field bar, resd 1 field azaza, resb 30
>>128085787 Ты, очевидно, не понял предмета моего Рейдж-мода. Поясню: Элитные пасаны делают так:
в config.h
#define LED_PIN (2) // комент что это #define LED_PORT PORTA // комент что это #define __DELAY_POPUGAI (700) // комент что это #define T0_VAL (150) // комент что это
main.c
#include <название микрухи/io.h>//в этом файле присвоены названия адресов портов и регистров мк для удобства #include "config.h"
//настройка таймера TCNT0=T0_VAL;//или другое число TCCR0=0b00000110; //запустили таймер на частоте проца/256, TIMSK=0b00001000;//разрешили прерывания от таймера 1 sei();//разрешили глобальные прерывания
>>128085688 сука ты тупая, я тебе говорю как решаются эти задачи на ассемблере легко только своими методами. а ты мне все хуйня хочу только чтобы как на JAVA было и никак по другому ни ни!!!!!
диды как то 50 лет могли программировать сука делая на ассемблере абстракции сука.
>>128085883 Что не так? Если не десктоп делает, то мощностей ему будет дохуя и чуть побольше. Если делает, то ебанутый он, а не я. Третья имеет проблемы с температурой и троттлингом, вторая - нет. Поддержка все еще заебись.
>>128086040 > А за это пояснишь? > Как оно работает? > ISR TIM0// прерывание таймера 0 по переполнению раз в миллисекунду слоуфикс Раз в милисек ебашит туда, делает те операции, что там написаны, и назад возвращается. > { TCNT0=150;//опять записали в таймер число Таймер - это регистр, который растет с определённой частотой. Если туда записать какое то число, то он переполнится за меньшее время.
Я про "выделить все", жмешь на эту комбинацию - и одно выделение становится множественным, с курсором в конце каждой строки. "alt+f3" в атоме работает, а вот сабж - нет, а его аналога я пока не знаю.
>>128086083 Что-то я нихуя не понимаю, как ты предлагаешь сделать. Описываю то, что должно быть: Есть 2 объекта разных типов (лампочка и чайник), оба имеют одинаковое поле Состояние и одинаковый метод Включить. Нужно сделать этот метод так, чтобы при его вызове с объектом в качестве параметра, он бы записывал 1 в поле Состояние. Этот метод должен быть написан 1 раз, а не по одному для каждого типа объекта. Внутри метода не должно быть никаких упоминаний о конкретных типах объектов, только работа с полем Состояние объекта, для которого этот метод вызван.
>>128086784 >ISR TIM0 Если мне память не изменяет, это макрос, раскрывающийя во что-то вроде void TIM0_isr(void) __attribute__((interrupt)); Смысл в том, то это замаскированая функция, адрес котрой кледется при линковке в таблицу векторов прерываний.
>>128086561 Назвал ножки, удобней конечно. Но и раньше было не сильно хуже. Мы вообще на лабе одной в голом асме писали без подключенных файлов и имен, на адреса портов, все равно не сравнить с этим. ldi r20, 0b00010000 out 0xDA, r20
>>128087577 Ты сам же будешь его читать. Если между написанием и необходимостью читать пройдет хоть какое то время - ты сам себя проклянешь за ту хуиту, что написал.
>>128087404 Так-то это не корректно, так-как затрагивает другие ножки, на которых может висеть все, что угодно, поэтому могу ошибиться в мнемониках in r20, 0xAD andi r20, 0b00010000 out 0xDA, r20
Прост - даже чтоб лампочкой поморгать надо светодиод с резистором к ногам пердолить, а без макетки - придется паять эту парашу. А паять я не умею и ненавижу - руки трясутся.
>>128087225 Лол, ты тут уже наследование описываешь, а не абстракцию. Я же описывал как можно инкапсулировать информацию "как в классах". Ты просто изначально > Уже противоречит принципу абстракции. к абстракции прикапывался, вот я и пояснил. Насчёт наследования надо подумать, я не помню как его обычно в копмилерах реализуют, хотя где-то читал. Убивать на это время сейчас не хочу. Считай, что слился.
я постоянно читаю за другими. делаю их более великими.
мне удобнее для порта прочитать конструкцию 0b11001100 чем через маски городить. да и сложности там нет особой тем более с портом. да и думаю так лучше
>>128087963 кстати да, поясни мне, другому анону, какая абстракция может быть в ассемблере? Ассемблерный код платформозависим, это язык железа по сути, нет в нем абстракций, разве что могут быть макроопределения, но я далек от этого, могу ошибаться
>>128088020 >Насчёт наследования надо подумать, я не помню как его обычно в копмилерах реализуют, Уверен, в структуре просто выделены поля под указатели на функции, которые являются методами и наследники просто переписывают значения этих полей после конструирования предка и так по восходящей иерархии классов.
>>128088391 Я имею в виду - какой, где брать сколько стоит. Я в них нихуя не понимаю - у бати стоит громоздкий, он телеки чинил - большая такая коробка. На работке - был маленький, в вузике - вообще йоба с круглыми экранами.
>>128088656 Про шаблоны, я помню то, что для каждого Разного Т компилятор создаст отдельный класс/метод, с конкретным T. Это причина того, почему шаблонные классы следует полностью описывать в хедерах а не в .cpp файлах.
>>128088656 > уже и не просто абстракция This. Попробуй написать без шаблонов и ты охуеешь: тебе придётся либо lamp и kettle наследовать от интерфейса device, а функцию on сделать виртуальной, либо у тебя будет совсем по-тупому:
>>128089113 я как-то хотел в 2016г что-то не такое массивное. Привык к этим вашим бананбордам и малинам, они няшнее. А тут аж смазкой для казенных частей пахнуло
>>128089138 По сути задача зажечь пять диодиков. Но присваиванием числа, ты также "гасишь" остальные ноги, а там может быть периферия, не относящаяся к задаче. Чет типа того...
>>128089321 Обычно там еще коса проводов подходит, и весьма толстая, а в такой ящик их удобно вкручивать и бирочки приклеивать. Все норм, ящитаю. Годный дизигн.
>>128087851 ты реально дибил. попробуй переосмыслить свои знания.
>>128088157 хоть код и оче сильно платформозависим, на деле зависимы только адреса регистров, из имена, переферия. команды среди контроллеров типовые даже у разных производителей. например переложить из одного регистра в другой, или инкримент регистра. отличается имя команды. например на AVR это команда INC а на контролере другом grow к примеру.
по поводу макроязыка: компилятор знает же какие есть регистры у него в запасе. просто резервирует нужное количество занося все с стек. но нужно быть осторожным. хз как компилятор развернет твой хирый макрос
>>128089321 Друже, у меня закрались тут подозрения, а ты видел хоть раз как выглядят контроллеры не в макетном исполнение? Или ты правда не понимаешь почему их делают так? Эту хуйню ты поставишь в ящик, рядом с релехами, клеммниками и тд. На тебе пик, тут обычный шкаф на автоматизацию вентиляции.
>>128089502 > Куда ты блять со своими классами лезешь? >>128087225 > Есть 2 объекта разных типов (лампочка и чайник), оба имеют одинаковое поле Состояние и одинаковый метод Включить. > Нужно сделать этот метод так, чтобы при его вызове с объектом в качестве параметра, он бы записывал 1 в поле Состояние. Этот метод должен быть написан 1 раз, а не по одному для каждого типа объекта. И правда, куда?
>>128088910 А. Нам какой то мимо подпол как то затирал хуйню, что мол ПВО илита все такое, типа летит самолет полный вдвшников, все накачаные с автоматами бля крутые, а ты такой хуяк на кнопку нажал и нет больше вдвшников. И сам же над этой хуйней ржал.
>>128089713 Это проще, чем ты думаешь, можно хоть за 1 такт вычислить, если пакет разумной длины. Или итерационно отдельный блок, которому задаешь начало и длину, он по ДМА посчитает и выставит флаги ОК/неОК.
>>128089771 Начинай с дискретной логики. Либо взлетит, либо быстро поймешь, что не твое. Начнешь с дуины - останешься петухом-мигальщиком в плохом смысле этог8о слова...
>>128089852 >А. Нам какой то мимо подпол как то затирал хуйню, что мол ПВО илита все такое, типа летит самолет полный вдвшников, все накачаные с автоматами бля крутые, а ты такой хуяк на кнопку нажал и нет больше вдвшников. И сам же над этой хуйней ржал. Ну так то он прав, зато я кирипичи об голову ломал, с парашютом прыгал и много стрелял. тот самый ВДВ Туапсе-кун
Всем привет, ребята. Посоветуйте стек plc/scada. Вообще существуют нормальные скада системы? Я нуб, пилил пару проектов на cimplicity (ge) и wincc (siemens) и как то шо то, шо это. Я сейчас склоняюсь к opc серверу + labview. pickrandom
>>128090671 Ты просто сравни TIA PORTAL 13 и среду программирования гОВЕН. В портале я могу перепрошить плк из любой точки мира и ничего не поломается.
>>128091016 >Автоматизация производства. (Отображение на дисплее информации с датчиков, управление реле) Математика требуется? писал преобразование Фурье и свертку над полем вычетов
>>128090912 лол, ты при помощи vpn и радмина можешь с любой средой так сделать, а у сименса софт то еще уг. Я, кстати, с их представителями общался как то, спрашивал, какие планы по развитию продукта и будут ли пилиться те фичи, которые есть у прикладных программистов, типа интеграции с системами контроля версий и т.п. Сказали, что в планах есть такое. И как оно, запилили?
Посоны, есть одна микропроцессорная система на восьмых мегах куча пинов не занята, ну да похуй. Есть код: uint8_t TW_send(void) { if (TxHead == TxTail) return 2; while (TxHead != TxTail) // buffer not empty { uint8_t tmptail; tmptail = (TxTail + 1) & TX_BUFFER_MASK; TxTail = tmptail; TWDR = TxBuf[tmptail]; LittleDelay(); // need for some reason TWCR = 1<<TWINT|1<<TWEN; while (!(TWCR & (1 << TWINT))); uint8_t status = TWSR & 0xF8; if (status == TW_MT_DATA_ACK) continue; if (status == TW_MT_DATA_NACK) return 1; return 2; } return 0; } И костыль: void LittleDelay(void) // { for (volatile int i = 0; i < 10; i++); } Если его убрать, то по TWI начинает передаваться какой-то шлак, вроде: 0xFE 0xFF Ss Симулировал в Протеусе, на физических камнях пока обкатать не могу. Почему эта фигня так себя ведет? Бага протеуса?
>>128079033 Кидаешь все датчики на один провод, каждому в память заливаешь ойди и даёшь указание бдеть сигнал в кабеле. Датчик видя свой ойди отдаёт данные в шнур, а ты читай как хочешь. Так последовательно можешь всё своё поле за пол секунды обойти.
>>128080684 нельзя забывать что макрос не завершается возвратом в точку вызова, а значит неминуемо приведёт к ошибкам связанным с неявным переходом к следующей инструкции.
Перекат №2 Легитимный
Продолжаем разговоры про автоматизацию ТАЗов, строительство умный домов и зарплату программист-кунов.
Приглашаем к столу всех начинающих и бывалых МК-программеров.
Мы выяснили:
Arduino - зашквар
CHIP - годнота для сеьезно настроенной зелени.
Python не Си
Туапсе луше Москвы
Прыжок с моста луше прыжка с парашютом
а ВДВ луше ПВО
Поехали!
Прошлый тонет тут:
https://2ch.pm/b/res/128041603.html