• Объявления

    • admin

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

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

Набор для сборки двухканального усилителя на LM4766

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

Andrey 69    1 643

Территориально Магадан,оплата на карту сб,вышлю почтой. Внимание! Усилитель рассчитан на работу с нагрузкой 8 ом! Плата двухсторонняя. Цена 500р плюс стоимость пересылки. В наличие два набора

CAM00598.thumb.jpg.b8c8e8dfa5f9819b001429f970be8565.jpg

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


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

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00

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

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

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

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

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

Войти

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

Войти сейчас


  • Сообщения

    • Лада Веста научилась летать ?  Мы же обсуждаем это ?  
    • По имени микросхемы ищите даташит. Там STK, так понимаю.  И разбираетесь с управлением.
    • Cледующий выпуск плат будет 23-28 декабря (т. е. когда
      будут готовы платы).
      Чтобы на него гарантированно попасть нужно чтобы я увидел разводку и
      оплату до 19-го декабря включительно.... позже по обстоятельствам.
    • Далее, вывод символа. void matrix_putc(unsigned char ch){ unsigned char i, a, tmp; for(i=0; i<5; i++){ tmp=Font5x7[ch][i]; for(a=0; a<7; a++){ matrix_set_pixel(x_pos , y_pos, tmp&(1<<a)); y_pos+=1; } y_pos-=7; x_pos+=1; } x_pos+=1; }   Блин, плохо писать вслепую и в форумном редакторе   Проверяем : matrix_set_pos(5,5); matrix_putc('A');   Они будут использоваться.
      Дело в том, что правильнее всегда держать в памяти текущую позицию курсора и уже относительно её выводить данные на экран. Это позволит выводить текст символ за символом, не пересчитывая постоянно координаты, а просто их смещая на нужную позицию. Дальше вообще всё просто. Как кубики складываешь.
      Функция вывода строки : void matrix_puts(const char *str){ while(*str) matrix_putc(*str++); } Вывод строки по координатам : void matrix_puts_xy(int x, int y, const char *str){ matrix_set_pos(x, y); matrix_puts(str); }   Итог : /* matrix.c */ static int x_pos, y_pos; void matrix_set_pixel(int x , int y, char val){ unsigned char a, z; unsigned char offset = x*4+(y/8-1); unsigned char mask = 1<<(7-y%8); if(val) data[offset]|=mask; else data[offset]&=~mask; 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 matrix_set_pos(int x, int y){ x_pos=x; y_pos=y; } void matrix_putc(unsigned char ch){ unsigned char i, a, tmp; for(i=0; i<5; i++){ tmp=Font5x7[ch][i]; for(a=0; a<7; a++){ matrix_set_pixel(x_pos , y_pos, tmp&(1<<a)); y_pos+=1; } y_pos-=7; x_pos+=1; } x_pos+=1; } void matrix_puts(const char *str){ while(*str) matrix_putc(*str++); } void matrix_puts_xy(int x, int y, const char *str){ matrix_set_pos(x, y); matrix_puts(str); } Пробуем
    • Не пойму зачем она ... Если x_pos , y_pos нигде дальше не используются ..
    • Так, просто мысли вслух Не могу избавиться от земляной петли в связке "автомагнитола-самодельный усь". Питание - однополярное +12...14В. Самовозбуд >100кГц при подключенном входе (естественно, небалансном), со всевозможными комбинациями подключения как сигнальных, так и силовых земель . Пробовал развязать с помощью повторителя на ОУ на стороне УНЧ (с подключениями земли через резистор с разных сторон) - эффект нулевой. Гальваническая развязка по входу через трансформатор помогает, но идет завал на НЧ. Отдельные источники питания решают проблему. Придется делать развязку по питанию DC-DC 12/12...