• Объявления

    • admin

      Просьба всем принять участие!   24.11.2017

      На форуме разыгрывается спектроанализатор Arinst SSA-TG LC (цена 18500 руб). Просьба всем перейти по ссылке ниже и принять участие!
  • ×   Вставлено в виде отформатированного текста.   Восстановить форматирование

      Разрешено не более 75 смайлов.

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

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

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

  • Сообщения

    • - вспышка подсветила наклейки, и их грани. В реальности - оно все выглядит совсем не так безобразно. Вот фото без вспышки:  
    • На счет шедевра вы правы, имел не осторожность.виновен. Пробую увеличить R32.
    • Мотор отключал не греется, но с мотором тоже уже не так греется. С транзистором думаю все нормально.
    • Если пожар - сразу отключится питание (противопожарным УЗО), и пожарным будет легче - можна сразу тушить. 
    • К слову если, как в Вашем случае человек случайно нажимает коротко и начинается цикл удлинения, то такое же короткое нажатие в обратную сторону должно выключать удлинение (по крайней мере я хочу реализовать эту функцию в своём устройстве, так как на других самодельных удлинителях оно именно так и работает). С точки зрения понимания этой задачи, всё очень легко, дернул - удлинилось и т д. А вот с точки зрения алгоритмизации всего этого процесса, по-моему это очень сложно. Ну то есть "кажется просто, а попробуй повтори!". Поэтому меня так зацепила эта работа. Я бы может и разобрался но не могу прочитать половину слов  Сейчас у нас уже поздно и голова честно не очень хочет работать, но завтра с утра я составлю граф состояний по Вашему примеру, просто очень хочется понять как разработать более-менее серьезный проект с нуля, понимая только задачу.
    • void xy_max7219(char x , char y, char char_) { //x = x*4; // количество микросхем // y // точка по горизонтали максимум 8*4 = 32 пикселя (бит) char b=0, c=0; b=char_; if(y<8) { if(char_)data[x*4]|=1<<(7-y); else data[x*4]&=~1<<(7-y); } else if(y<16) { if(char_)data[x*4+1]|=1<<(7-(y-8)); else data[x*4+1]&=~1<<(7-(y-8)); } else if(y<24) { if(char_)data[x*4+2]|=1<<(7-(y-16)); else data[x*4+2]&=~1<<(7-(y-16)); } else if(y<32) { if(char_)data[x*4+3]|=1<<(7-(y-24)); else data[x*4+3]&=~1<<(7-(y-24)); } for(a=0; a<8; a++) { z= a*4; CS0; led_out(a+1, data[z]); led_out(a+1, data[z+1]); led_out(a+1, data[z+2]); led_out(a+1, data[z+3]); CS1; } } void string(char char_, char pos) { char y=0, x=0; for(y=0; y<8; y++) { for(x=0; x<5; x++) { if(Font5x7[char_][x]&(1<<y))xy_max7219(y, x+pos, 1); else xy_max7219(y, x+pos, 0); } } } void string(char char_, char pos) { char y=0, x=0; for(y=0; y<8; y++) { for(x=0; x<5; x++) { if(Font5x7[char_][x]&(1<<y))xy_max7219(y, x+pos, 1); else xy_max7219(y, x+pos, 0); } } void string_out(char *char_,char pos_) { char y=0, x=0; char_+=0; while(char_[x]!=0) { string((char_[x]-48+16), (pos_ + x*6)); x++; } } В общем написал функции которые выводят текст на зкран. Вот так: string_out_sh("Тест программы! Test programm!", 0, 0, 18); Не вкурю как его крутить теперь .... кто подскажет? void xy_max7219(char x , char y, char char_) { //x = x*4; // количество микросхем // y // точка по горизонтали максимум 8*4 = 32 пикселя (бит) char b=0, c=0; b=char_; if(y<8) { if(char_)data[x*4]|=1<<(7-y); else data[x*4]&=~1<<(7-y); } else if(y<16) { if(char_)data[x*4+1]|=1<<(7-(y-8)); else data[x*4+1]&=~1<<(7-(y-8)); } else if(y<24) { if(char_)data[x*4+2]|=1<<(7-(y-16)); else data[x*4+2]&=~1<<(7-(y-16)); } else if(y<32) { if(char_)data[x*4+3]|=1<<(7-(y-24)); else data[x*4+3]&=~1<<(7-(y-24)); } for(a=0; a<8; a++) { z= a*4; CS0; led_out(a+1, data[z]); led_out(a+1, data[z+1]); led_out(a+1, data[z+2]); led_out(a+1, data[z+3]); CS1; } } void string(char char_, char pos) { char y=0, x=0; for(y=0; y<8; y++) { for(x=0; x<5; x++) { if(Font5x7[char_][x]&(1<<y))xy_max7219(y, x+pos, 1); else xy_max7219(y, x+pos, 0); } } } void string(char char_, char pos) { char y=0, x=0; for(y=0; y<8; y++) { for(x=0; x<5; x++) { if(Font5x7[char_][x]&(1<<y))xy_max7219(y, x+pos, 1); else xy_max7219(y, x+pos, 0); } } void string_out(char *char_,char pos_) { char y=0, x=0; char_+=0; while(char_[x]!=0) { string((char_[x]-48+16), (pos_ + x*6)); x++; } } В общем написал функции которые выводят текст на зкран. Вот так: string_out_sh("Тест программы! Test programm!", 0, 0, 18); Не вкурю как его крутить теперь .... кто подскажет?