На чем писать  

545 пользователей проголосовало

  1. 1. Что чаще используете в разработках?

    • Assembler
      149
    • C
      278
    • Что-то еще
      57


356 сообщений в этой теме

Фигня это все. Для написания на любом языке нужен алгоритм как вводная задания, а не готовый текст. Тут сначала надо разобраться в пляске мысли, а на это уйдет времени больше, чем на создание сего чуда. Можно сыграть в обратную сторону. Выложить текст на Ассме и предложить повторить его на Си. Причем эта процедура будет иметь еще меньше шансов на успех... А вы все спорите, что лучше? :)

  • Одобряю 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mazzi    36

Хорошо, в программе реализовано следующее:

Используется ATtiny2313.

На входы компаратора подаётся входное напряжение и опорное напряжение.

Два вывода используются как дискретные входы для задания режимов подачей 0 или 1 с помощью перемычек.

Один вывод выход для управления светодиодом, включение нулём.

Алгоритм работы:

Если вх.напряжение превышает опорное, то ничего не делаем.

Если входное напряжение ниже опорного, то начинаем отсчитывать 1 минуту.

Если в процессе отсчёта ситуация изменилась(напряжение стало выше опорного), то отсчитанное время начинаем считать в обратную сторону, но только до нуля.

Если досчитали до 1-й минуты, то начинаем мигать светодиодом 2 раза в секунду.

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

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

состояния перемычек

1, 1 выдержка 1 минута

1,0 выдержка 30 секунд

0,х выдержки нет, реакция мгновенная.

  • Не одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mazzi    36

Что-то ассемлерные гуру не могут осилить данный простенький алгоритм. Си однозначно победил.:P

  • Не одобряю 1

Поделиться сообщением


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

А разве кто взялся этим заниматься? У меня своих забот выше крыши (никак не могу взяться за "для души"). Могу сказать вот что. Подготовка периферии в ручную займет времени больше, чем написание алгоритма. Ну нет у меня Attiny, все больше Atmega. Заниматься только ради спора - нужно иметь время свободное.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
UTSource

Найдите миллионы труднодоступных

электронных компонентов

Alexeyslav    631

Это называется недостаточная мотивация. Вот студенты какие-нибудь, с радостью подхватили бы кость...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mazzi    36

Всё это отговорки. Признайте поражение, это будет честно.

  • Не одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
usav    0

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

хорошо владеешь. Во-вторых, для разных работ нужен и разный инструмент!

Можно и сапкой вскопать 10га, но тех трактористов (с плугом), которые

на этом сильно настаивают, отправляют в дурку! Как и наоборот - прореживать

грядки плугом несколько неудобно. Ассемблерщикам могу сказать так:

- типично, ассемблерщики, например, IARа, получше Вас будут и потому

их оптимизация (вместе с различными методами, которые реализует ЭВМ и тяжело

сделать вручную - например, сквозной на всю программу указатель на все

переменные) дает результат_С_компиляции почти не хуже, а часто и лучше!

- можно за неделю написать пару килобайт, а за пару лет, например стек

TCP/IP, но Ваша семья будет сильно голодная и потомки Вашего подвига

не поймут!

А знать Асм, конечно НУЖНО, как и железо до последнего регистра - и от

этого незнания страдают многие крутые Сишники++++! Но у них свои задачи и,

типично, за них больше платят!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mazzi    36

Да кто спорит-то?

Пишущие на АСМе бьют себя пяткой в грудь, что лучше ничего и придумать нельзя. Когда я предложил реализовать простенький алгоритм, мною реализованный на Си за очень короткое время, то все крутые писатели на АСМе "сдулись". У них очень много работы, да и вообще, неинтересно.

Интересно сидеть на форуме и строчить посты о крутизне программирования на АСМе.

Ну а по поводу Си-шников, я скажу так, многие из них АСМ знают (потому, что приходится отлаживать программы), но пишут всё равно на Си, потому, что удобнее и быстрее.

  • Не одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexeyslav    631

Незнаю не знаю, я как-то перед новым годом быстренько написал на ассемблере программу "мигалку" на 4 канала с ШИМ и сохраненным паттерном в EEPROMe. По сложности - аналогична предложенной для переделки. Врятли возможно было бы написать аналогичную на Си, которая влезла бы в старичка AT90S1200

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mazzi    36

Есть Си для таких "мелких" контроллеров называется ICCtiny, для TinyAVR-ок.

Всячески рекомендую. Ваша задача на нём была бы реализована в течение десяти минут.

  • Не одобряю 1

Поделиться сообщением


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

mazzi, да успокойся ты! :) Нечего доказывать. Никто не спорит, что на Си писАть быстрее (вот только скорость, как говорится, требуется в трех случаях... :D ). Это можно сравнить как панельное домостроение со стандартными проектами и индивидуальное строительство дизайнерского плана. Что под чем, думаю понятно. Стоит отойти от стандартных библиотек и интерфейсов и тыц в проблему. Скорость падает до минимума. Начинается лихорадочный поиск новых библиотек в Нете (запойная зависимость). А как быть с проектом, когда МК занимает 5% от всей схемы и требуется ввести(изменить) несколько узлов, добавить(убрать) несколько микросхем? Изменяется интерфейс управления схемой, при неизменной логике работы в целом. Как реализуются изменения в Си, когда требуется добавить в общий алгоритм несколько бит (и не всегда кратных байту) или линий интерфейса для управления этими изменениями? Быстро? Как пример, взгрустнулось мне задействовать дисплей от Nokia 1100. Библиотек нет, инфы в Нете нет. Пришлось позаниматься с низкоуровневым "подглядыванием" методом посадки на интерфейс МК с последующим отчетом. Теперь есть наработки для этого дисплея. Думаю на Си такого было сделать невозможно. Спор реально беспредметный. На вкус и цвет товарищей нет. :)

Изменено пользователем Геннадий
  • Одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
petro-ew    0

Во развели холи вар ... Мужики вы что ?))) все языки для своих нужд и не надо их пытаться применить во всем, только потому что Я ИХ ЗНАЮ, есть же функциональные языки Prolog, Haskell, Irlang Никто же не предлагает с ними в микропроцессоры лезть. Есть языки для работ внутри системы, я под Linux'om, в Perl Python C C++ Java пишу, под Виндой Python Java Ruby C# Basic.

Абсолютно ясно что для электроники есть Ассемблер и ВСЕ, все остальное НЕ НУЖНОЕ упрощение жизни от нежелания работать и усложнять себе жизнь, технологии скакнут вверх вообще дельфю сделают нахрен для микросхем...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mazzi    36

...Стоит отойти от стандартных библиотек и интерфейсов и тыц в проблему... ...Начинается лихорадочный поиск новых библиотек в Нете (запойная зависимость)...

А как данная проблема решается на АСМе?

...Как реализуются изменения в Си, когда требуется добавить в общий алгоритм несколько бит (и не всегда кратных байту)...

Шутите?

...Думаю на Си такого было сделать невозможно...

:lol:

Поделиться сообщением


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

Шутите?

Нет. Если учесть, что тактовая частота интерфейса всего в 4 раза ниже тактовой МК. А требовалось изучить не только передаваемые данные, но и ряд электрических параметров сигнала (разрядность, задержки, фазы). Не верится, что неуклюжесть Си позволила бы успеть все это обработать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mazzi    36

Неуклюжесть Си? А вам не приходила мысль взять контроллер побыстрее? И о какой обработке за 4 такта может идти речь?

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

Поделиться сообщением


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

Маленький кусочек:

in temp,port(X)

st Z+,temp :)

Вот видишь, mazzi, ты и мыслишь по Си-шному (взять контроллер побыстрее, а нет его). Главное не обработать, а схватить. Обработка делается потом, при выводе. Предвижу вопрос "куда все схватить, если места в МК маловато?". Приходилось выкручиваться нестандартными решениями - смещать точку синхронизации записи по счетчику входных операций и делать выборку кусками. Видишь, тут приходилось слегка "извращаться" с алгоритмом (который никто не написАл, как готовую библиотеку), но цель достигнута (а это главное) малыми мощностями (Мега8).

Си - классный инструмент для "математики", Ассм - для интефейсов.Мир, дружба, братство. :)

Изменено пользователем Геннадий

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mazzi    36

Один из моих проектов на Си состоит из 40 файлов исходных текстов общим объёмом 432 килобайта. Всё это компилируется в 54 килобайта бинарника.

В этом проекте используется масса интерфейсов и протоколов. Кроме того, ведётся база данных на внешних EEPROM. Система многоканальна и многозадачна. Одна из задач клиент для внешнего канала, другая сервер для нескольких каналов.

Всё это создавалось и развивалось в течение 2-х лет.

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

Со мной работал один программист пишущий на АСМе, но после того, как его исходник перевалил за 16килобайт он просто не мог отладить свою программу, хотя парень отнюдь не глупый. После перехода на Си, он больше к АСМу по большому счёту не обращался.

На АСМе можно писать более-менее большие программы только при наличии хороших библиотек с реализацией функций арифметических, ввода-вывода, преобразования и т.д. Иначе кроме простеньких программ ничего у вас не получится.

Если глянуть на историю развития программирования в общем, то были следующие этапы(могу ошибаться в числах, привожу по памяти):

  • писали на машинном языке совсем небольшие программы
  • писали на ассемблере в один файл - до 500 строк
  • использование макроассемблера и процедур - функций 1000 строк
  • используя правила структурирования на языках ВУ до 10000 строк
  • модульное программирование (не помню)
  • используя объектно ориентированную методику - предел пока не достигнут. По крайней мере рубеж в миллион строк уже преодолён.

Выбор делайте сами. Серьёзные вещи нужно делать серьёзными средствами. Хотя, конечно, ассемблер нужно знать.

Поделиться сообщением


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

 Сильно. Что и подтверждает - для достижения совершенства программирования МК оба языка нужны.

...А мой первый опыт встречи с Ассмом - дизассемблирование бинарника чуть выше 16кБ (до этого момента я его не понимал вообще) и переделка под свои нужды на Ассме. В результате - проект получился в 4 раза короче (по размеру кода около 4,6кБ) и в несколько раз функциональней. Чем мне Ассм и понравился. Насчет 54 кБ исходника ничего не скажу, но стараюсь более четко структурировать программы, чтобы потом не "пыхтеть" вспоминая "тему". А самые удачные решения "складываю" в "библиотечку подпрограмм" для последующих применений. 

Изменено пользователем Геннадий

Поделиться сообщением


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

Вот и праздничные дни. Всех с наступающим Новым Годом! Вот что у меня получилось сегодня (по просьбе mazzi). Не скажу, что уложился в 30мин. (несколько нагоняев от жены за отлынивание от подготовки к празднику, визит внучки со всеми вытекающими..., поход в гараж... и в итоге результат на ваше рассмотрение :) ) , зато в 2,5 раза короче и некоторые поправки в виде динамического отклика на изменение конфигурации перемычек.


; ******************************************************
; BASIC .ASM template file for AVR
; ******************************************************

.include "C:\VMLAB\include\2313def.inc"

.def  temp  =r16
.def	blink	= r18
.def	tick	= r19      
.def	sc	= r20		
.def	strt	= r21	

reset:
  rjmp start
  reti      ; Addr $01
  reti      ; Addr $02
  reti      ; Addr $03
  reti      ; Addr $04
  rjmp	t1	; Addr $05
  reti      ; Addr $06        Use 'rjmp myVector'
  reti      ; Addr $07        to define a interrupt vector
  reti      ; Addr $08
  reti      ; Addr $09
  reti 	; Addr $0A

t1:
  rcall	set_t1 			
  sbis	acsr,5 			
  rjmp	quit_t1   		
  sbr	strt,1            
  rjmp	quit_t1          
quit_t1:
  set                    
  reti

start:
  ldi	temp,low(RAMEND)
  out	SPL,temp
  ldi	temp,0b11000100
  out	portb,temp
  ldi	temp,0b00000100
  out	ddrb,temp
  ldi	temp,0b00000011	
  out	tccr1b,temp
  ldi	temp,0b10000000
  out	timsk,temp
  ldi	temp,0b01001000
  out	acsr,temp
  ldi	r31,11		
  ldi	r30,238
  clr	sc
  clr	tick
  clr	strt
  clr	blink
  rcall	set_t1
  sei	

main:
  brtc	end_main      
  rcall	mode          
  rcall	set_delay
  clt
end_main:
  rcall	leds
  rjmp main

mode:
  sbrs	strt,0      
  rjmp	quit_mode   

ticks:
  inc	tick
  cpi	tick,2
  brne	quit_mode
  clr	tick
  sbic	acsr,5    
  rjmp	sec_plus   
dec_sc:              
  cp		sc,r17      
  brlo	next_dec_sec
  mov	sc,r17      
next_dec_sec:
  tst	sc          
  breq	led_off 	
  dec	sc          
end_dec_sc:
  rjmp	quit_mode	
sec_plus:          
  cp		sc,r17	
  brge	led_on
  inc	sc 		
  clr	blink
  rjmp	quit_mode
led_on:
  sbr	blink,1
  mov	sc,r17
  rjmp	quit_mode
led_off:
  clr	blink
  clr	strt
quit_mode:
  ret

leds:
  sbrs	blink,0
  rjmp	leds_off
  in		r22,TCNT1H
  in		r23,TCNT1L
  sbrc	r22,7
  sbi	portb,2
  sbrs	r22,7
  cbi	portb,2
  rjmp	quit_leds
leds_off:
  sbi	portb,2
quit_leds:
  ret	

set_t1:
  out	TCNT1H,r31
  out	TCNT1L,r30
ret

set_delay:
  in		temp,pinb 	
  sbrs	temp,7
  rjmp	no_delay
  sbrs	temp,6
  rjmp	delay_30
  ldi	r17,60
  rjmp	quit_set_delay
delay_30:
  ldi	r17,30
  rjmp	quit_set_delay
no_delay:
  ldi	r17,0
quit_set_delay:
  ret

 

  • Одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mazzi    36

Наконец мой вызов был принят. Причём, нужно заметить, представителем ещё "того" поколения, для которого слово "честь" не пустой звук. ( вывод о поколении сделан по наличию внуков ).:)

Респект Геннадию!

Поздравляю всех читателей этой ветки и всего форума с наступающим новым годом и Рождеством!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexeyslav    631

я бы set_t1 оформил в виде

.macro set_t1
  out  TCNT1H,r31
  out  TCNT1L,r30
.endmacro

вызов подпрограммы тратит на этой элементарной вещи целых 8 тактов. 4 такта(макрос) против 12(подпрограмма)

И еще полезнейший иногда макрос

.macro set_reg
 LDI   temp,  @1
 MOV   @0,    temp
.endmacro

Который делает инициализацию переменных в R0...R15 более наглядной(а для R16..R31 не имеет смысла)

Вот если бы сделать макросы условными... для R0..15 один макрос, для 16..31 другой можно ведь так?

Ну и вывод в порт тоже можно сократить в тексте программы...

.macro set_io  
 LDI   temp,  @1 
 OUT   @0,    temp
.endmacro


START:
  ...
  set_io portb, 0b11000100
  set_io ddrb,  0b00000100
  set_io tccr1b,0b00000011     set_io timsk, 0b10000000
  set_io acsr,  0b01001000

Такие макросы делают текст программы более читабельным

  • Одобряю 1

Поделиться сообщением


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

Присоединяюсь. Всех с натупающим!!! Alexeyslav, твои рекомендации очень ценные. Их можно отнести к стадии оптимизации. А на это времени уже нет. :)Еще раз всех с праздником (уже близко)!!! :drinks:

Поделиться сообщением


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

Да, верно, к читаемости, т.к. на размер и код .hex не влияет. :)

Изменено пользователем Геннадий

Поделиться сообщением


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

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Автор: Evg69
      добрый день. Вернулся к микроконтроллерам после длительного перерыва. Сижу туплю и даже гугл не помог.
      Два вопроса по Atmel Studio 7. Режим отладки. Симуляция.
      1. Как включить окно в котором можно посмотреть что контроллер выплевывает
      в UART? Не содержимое регистра, а типа терминала.
      2. Как подсунуть студии файлик с содержимым EEPROM?
    • Гость Keil
      Автор: Гость Keil
      Добрый день, ситуация такая - попались мне под руку куча рассыпухи в числе которых достаточное количетво тинек и прочей лабуды - пытась хеловродить, попробовал взять готовый пример работы тиньки и лсдишника здесь также имею ардуинку как  Айсипи и чудесно мигаю светодиодом на мк прошитом ею же  так вот при попытке залить код который по ссылке чуда не произошло.
      курение мануалов лсдишника дало понять лиш одно что старший и младший биты одинаковы с лсдишником со статьи - лсдишник рабочий (игрался контрастом одной строки через V0  и потенциометр ) - как в прочем и мк, было задумано ковырнуть все это в протеусе и атмельстудии, но результатом не увенчалось. Пожалуйста тыкните носом что да где не так.
      fail.zip
    • Гость Максим
      Автор: Гость Максим
      Всем светлым и умным головам привет!

      Никак не могу найти информацию о данном прерывании TIM1_BRK_UP_TRG_COM.
      Вопрос 1: Что это за стек или система прерываний? 
      Вопрос 2: Когда будет вызываться обработчик прерывания TIM1_BRK_UP_TRG_COM_IRQHandler, если также есть обработчик прерывания TIM1_CC_IRQHandler?
      Вопрос 3: период переполнения таймера равен 100 мкс. Сколько раз будет вызываться обработчик прерывания TIM1_BRK_UP_TRG_COM_IRQHandler до обработчика прерывания TIM1_CC_IRQHandler? По логике вещей, предполагаю, что 100 раз?
      Заранее благодарен!

      Всем радости))
    • Автор: Static
      Доброго дня всем!
      Не так давно решил опробовать использовать в схемах ATmega в корпусе TQFP и возник такой вопрос. На ней имеется аж три ноги на "-" и две под "VCC". Подсоединять нужно все или можно только по одной любой?
      Заранее благодарен за помощь.
    • Автор: Doublman
      Всем доброго времени суток.
      Развел платки - коммутаторы на основные МК.
      Платы коммутационные для HV PROG (параллельного программирования).
      Питание 5в оставил для перемычки (видно на фото).
      Комплект из 3-х плат ATMEGA 8, 16, 32, 48(P), 88, 164P, 168, 324P, 664P, 1284P, 8535, ATTINY 48, 2313.
      https://radikal.ru/fp/4f4203a9b1d54f9fbb92318c2234e576
      Имею 5 комплектов. Цена 450 за все 3 платки ("лист" на этой фотографии) Имею 5 комплектов. https://radikal.ru/fp/73ce63f7f99b4f7d9b744b2563204c1b
      Платки находится в Самаре, если почтой то +50р почте.
  • Сообщения

    • Еще раз почитайте, и повнимательней, и обращайте внимание на каких амплитудах эти заоблачные проценты взялись. не все там так уж и красиво.
    • Прекращайте жать кнопку "Цитата" при ответе. Просто, пишите ответ в самом нижнем окошке.  Там, где надпись "Ответить в тему". А Ваш сердечник нельзя собрать "в перекрышку". Один Бог знает, какой там будет зазор и насколько упадёт индуктивность. Такое железо лучше использовать для однотакта.
    • Кстати, да. Мирный договор до сих пор не подписан. Юридически мы до сих пор находимся в состоянии войны. Просто никто не на кого не нападает... а пиндосы таки нагнетают  (вспомним сев корею и запуски ракет над нихонцами) и подзуживают узкоглазых. Уж больно не нравиться пиндастану шо в том районе всё устаканиться и нихонцы задружаться с нами, корейцами и не дай божи китайцами. А чё нихонцам делать? У них курильская тема больная мозоль. Они любыми путями хотят вернуть взад острова. И если не вернуть, то хотя бы там присутствовать. Предложат вложиться бабосами на развитие в плане экономического сотрудничества, которое уже подписали, и будут как тараканы туда потихоньку заселяться. Их там уже достаточно, многие ассимилировались и в свою нихонию ездят токма по великим ихним праздникам. Они ж в массе синтоисты. Якудза (по нашему воры в законе) до сих пор тусуют, даже на праздники выходят. Смотрел одного нашего блогера, который попал на праздник якудза и решил "познакомиться" с самим боссом. Сначала его не пускали, сказали мол, иди лесом, сёдня у босса не приёмный день. Но чувак был настырный. В нагляка пролез мимо охраны и поручкался с боссом. Тот удивился наглости россиянина но эта наглость ему и понравилась. Но когда этот блогер фоткался с боссом, то слегка приобнял жену босса, которая стояла с другой стороны. Чё тут началось. Его чуть не грохнули. В Японии трогать женщин и тем паче жену босса якудза это бошку отпилят без вопросов. Короче токма благодаря телохранителю босса блогера не грохнули а прогнали и казали шоб духу его в нихинии не было. Но чувак настырный. Узнал шо просто так ему это не сойдёт, надо палюбасу  извиняться и задабривать босса, иначе он может и на самолёт не попасть. Короче купил здоровенный флакон самого дорогого саке и ещё чего то. Попёрся опять, естессно ссыт, но идти надо. Караванит прямо к телохранителю босса на полусогнутых, голову вних а подавками перед собой светит. Подошёл и не поднимая головы базарит, мол, извиниться хочу и без прощения не уйду. Телохранитель пошёл узнать. Выходит сам босс. Чувак как стоял с опущенной головой так и присел на колени, смотрит в пол, извиниется а подарки на вытянутых руках держит. Отмазывался, шо автоматически приобнал и никакого умысла не имел. Босс подарки принял. Говорит, хрен с тобой, твоя наглость и бесстрашие тебя и губят и спасают. Повели чувака за стол, где все якудза из разных кланов сидели. Выпили мировую и отправили чувачка восвояси. Потом он сказал, шо уже была команда "наказать наглеца" и если б он не извинился то команда была бы выполнена в течении суток. Поэтому если едете за границу то надо знать что можно что нельзя, какие жесты и слова  могут быть приняты за оскорбление.  Смотрел про чёрные кварталы пиндостана и бразильские фавэлы. Там тоже свой менталитет и бошку могут отпилить за один неправильный жесть или слово. А что выбрасывают в европе это клондайк радиолюбителя. Там наши продуманы всё самое вкусное и рабочее собирают и отправляют сюда. Вплоть до автомобилей. В Германии всё ненужное просто выставляют на улицу. Даже есть день в году типа "избавления от старого". В Италии и Франции есть такой же день, когда выбрасывают из хаты весь "хлам". Улицы завалены мебелью, шмотками и бытовой техникой. Этот "праздник" не любят уборщики. У них утилизация мусора дорогая и чтоб например выкинуть диван или телик надо платить. А в этот "праздник" все выбрасывают на халяву и стараются избавиться по максимуму, выгребают накопившееся из гаражей и чердаков. Уборщики потом неделю бесплатно разгебают, поэтому и не любят этот "праздник очищения"... У меня друган 3 месяца жил у своей сеструхи на Сицилии. Говорит, что наши из бытовухи ничего не покупают, всё "приобретается" в праздник очищения в канун нового года. У итальяшек традиция такая. Наши арендуют грузовик, не спеша ездат по городу и собирают "урожай". Там телик и пуфик, тут диван и столик, здесь стиралку и ковёр... халява, сэр!
    • 312 MHz. Спасибо за тактичность) Это 2007 года был смартфон, тогда гигагерц даже один был очень редко.
    • Если нельзя одним, тогда какая функция второго транзистора, если они все одновременно открываются? 
    • И так же интересует один момент, как увеличить быстродействие срабатывания защиты когда на входе постоянное напряжение.