bad2cat писал(а):сколько бреда несут в массы программисты, возомнив себя богами?
электронщики несут не меньше. как и менеджеры, врачи, продавцы и автомеханики.
Ваша точка зрения ведёт к потокам мигрантов на мою землю. Вы ТВ смотрите? Про Европу сегодня?
"Рафик неувиноват - любой может стать преступником. У преступности нет национальности" и прочий садо-мазохистский бред.
Это всё ваша точка зрения. Судя по вашему профилю - вы и есть тролль.
Есть программисты - это изначально неудачники по жизни, сделавшие свой выбор в сферу, где им никто не сопротивляется и не мешает - только они наедине с проблемой (они же становятся веганами, Антиалкоголиками, наркоманами (из-за обилия денег в 10-е), антифа и прочий бред - сталкивался с этими проявлениями неоднократно, и ни одного железячника - это же не странно - это закономерность развития неуверенных в себе людей.)
Железячники бухают - это тоже закономерность.
bad2cat писал(а):Есть программисты - это изначально неудачники по жизни, сделавшие свой выбор в сферу, где им никто не сопротивляется и не мешает - только они наедине с проблемой (они же становятся веганами, Антиалкоголиками, наркоманами (из-за обилия денег в 10-е), антифа и прочий бред - сталкивался с этими проявлениями неоднократно, и ни одного железячника - это же не странно - это закономерность развития неуверенных в себе людей.)
как все запущено
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Я так понял, что примеры и ссылочки не нужны?
И так всё ясно. а то ссылочки у меня есть.
Это те, которые пофиксены в инете, а сколько ещё бреда в жизни ?
Да хотя бы почитать радиокота. Этож клиника бешенных врачей-психиатров.
Добрый день. Прошил с последней (teapot.hex) прошивкой. работает нормально.. но вы исключили начальное пиликание и моргание красным в конце кипения. А цветовую схему можно упростить.. Цвета можно сделать как на картинке.
А вот еще калькулятор для удобства (RGB to Hexidecimal Converter) http://www.calculatorcat.com/free_calcu ... ider.phtml
15| pulse: boolean := false;
106| when 81..110 => pulse := not pulse; if pulse then R := 32; else R := 0; end if; G := 0; B := 0; PINB_Bits(BEEP_pin) := true;
Я же у себя исправил файл описания микроконтроллера. Добавил себе дополнительных констант для удобства.
CLKPR_change заменить на 2#1000_0000#
CLKPR_1 заменить на 0
что касается последней ошибки, то это диапазоны температуры пересекаются. Наверное, что бы не поломать плавное изменение к красному, надо задать начало последнего диапазона - 91°.
Андрей очень извиняюсь.. А можно чтобы ты поправил последний файл (teapot.adb) . Добавь пожалуйста пиликание в начале и мограние красного во время кипения (Как в старой прошивке)
За ранее спасибо..
with
AVR,
AVR.MCU,
AVR.Wait,
AVR.Interrupts,
Interfaces,
One_Wire,
interrupt_handler;
use AVR, AVR.MCU,Interfaces, interrupt_handler;
procedure teapot is
low_byte, high_byte: Unsigned_8 := 0;
t: Unsigned_8 := 1;
procedure Wait_ms is
new AVR.Wait.Generic_Busy_Wait_Milliseconds(Crystal_hertz => SYS_CLK);
state: Bit_Number := 7;
beep_mode: boolean := false;
procedure switch_color(e: Bit_Number) is
begin
if e=state then Wait_ms(800); return; end if;
for i in 0..255 loop
for j in 1..255 loop
PORTB_Bits(state) := (j>i);
PORTB_Bits(e) := (j<=i);
end loop;
if beep_mode then
PINB_Bits(BEEP_pin) := (i mod 64)=0;
else beep := false;
end if;
end loop;
state := e;
red := red_pin = state;
blue := blue_pin = state;
green := green_pin = state;
end switch_color;
error_count: Unsigned_8 := 0;
pulse: boolean := false;
CLKPR_change: constant Unsigned_8 := 2#1000_0000#;
CLKPR_1: constant Unsigned_8 := 0;
begin
RED := low;
GREEN := low;
BLUE := low;
BEEP := low;
DDRB_Bits := (0..3 => DD_Output, others => DD_Input);
TCCR0B := 2;
TIMSK0_Bits(TOIE0_Bit) := true;
CLKPR := CLKPR_change;
CLKPR := CLKPR_1;
BEEP := true;
wait_ms(700);
BEEP := false;
wait_ms(700);
BEEP := true;
wait_ms(700);
BEEP := false;
AVR.Interrupts.Enable;
loop
if One_wire.Reset then
One_Wire.Send_command(16#CC#);
One_Wire.Send_command(16#44#);
error_count := 0;
else
error_count := error_count + 1;
end if;
Wait_ms(800);
if One_wire.Reset then
One_Wire.Send_command(16#CC#);
One_Wire.Send_command(16#BE#);
low_byte := One_wire.Get;
high_byte := One_wire.Get;
error_count := 0;
else
error_count := error_count + 1;
end if;
high_byte := shift_left(high_byte,4) and 2#0111_0000#;
low_byte := shift_right(low_byte,4) and 2#0000_1111#;
t := high_byte or low_byte;
case t is
when 1..10 => R := 16; G := 0; B := 16; BEEP := false;
when 11..26 => R := 26 - t; G := 0; B := 16 + (t-10); BEEP := false;
when 27..58 => R := 0; G := t-26; B := 32 - (t-26); BEEP := false;
when 59..90 => R := t-58; G := 32 - (t-58); B := 0; BEEP := false;
when 91..110 => pulse := not pulse; if pulse then R := 32; else R := 0; end if; G := 0; B := 0; BEEP := pulse;
when others => error_count := error_count + 1;
end case;
if error_count>2 then R := 32; G := 32; B := 32; BEEP := true; end if;
end loop;
end teapot;
Андрей добрый день. Я изменил частоту начального пиликания. А вот пиликание в конце кипения не могу.. менял (i mod 64) на 32 не помогло((
if e=state then Wait_ms(800); return; end if;
for i in 0..255 loop
for j in 1..255 loop
PORTB_Bits(state) := (j>i);
PORTB_Bits(e) := (j<=i);
end loop;
if beep_mode then
PINB_Bits(BEEP_pin) := (i mod 64)=0;
else beep := false;
end if;