Перейти к содержанию
    

polyname

Участник
  • Постов

    146
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о polyname

  • Звание
    Частый гость
    Частый гость

Посетители профиля

1 555 просмотров профиля
  1. Продам комплект документации (схемы/платы, прошивку, софт) на табло валют / цен топлива с часами, календарем, термометром (настраивается). - индикаторы - любые 7-сегментные (до 50В/0.5А на сегмент); - количество индикаторов - неограничено (каскадируются по 4шт); - авто-подстройка яркости по фоторезистору; - все функции настраиваются пультом ДУ или с ПК; - часы - супер-точные (уход до 15сек в месяц), положение на табло и формат настраивается; - термометр - внутренний (на плате) или внешний (DS18B20); - cофт для ПК - кросс-платформенный (Windows/Linux/MacOS), серверный (возможен удаленный доступ по сети). 400$
  2. http://en.wikipedia.org/wiki/Display_Data_Channel в старых мониторах автонастройка происходила наверно как описали - по числу импульсов и по частоте синхроимпульсов (для этого там был встроенный контроллер)
  3. как вариант - настроить триггер по обоим фронтам, в регистр сравнения записать удвоенное количество импульсов
  4. первый полученный байт с нулевым битом 7 - это R1: после получения R1 перед передачей Data Packet нужно послать минимум 1 пустой байт 0xFF: также неплохо посылать 0xFF после каждой команды.
  5. для карт V1 (<4G) передается адрес байта - 0, 512, 1024, ... (т.е. номер сектора сдвигается на 9бит) для V2 (>=4G) - 0,1,2,3...
  6. вот кусок кода определения типа и размера карты из содержимого CSD (в 16-байтовом массиве sd.csd): struct { U8 ver; //CSD version: CSD_V1, CSD_V2 U8 csd[16]; //last CSD state (CMD9) U32 sectors; //number of sectors } sd; enum {CSD_V1=0, CSD_V2=1}; void sd_update_csd(void) { sd.sectors = 0; if (sd_ok()) { sd.ver = sd.csd[0] >> 6; if (sd.ver == CSD_V1) { U32 size = 1UL << (sd.csd[5] & 0xF); size *= 1UL << (((sd.csd[9] & 0x3) << 1) + (sd.csd[10] >> 7) + 2); size *= (U32)((((U16)(sd.csd[6] & 3)) << 10) + ((U16)sd.csd[7] << 2) + ((U16)(sd.csd[8] & 0xC0) >> 6) + 1); sd.sectors = size >> 9; } else if (sd.ver == CSD_V2) { sd.sectors = ((((U32)(sd.csd[7] & 0x3F)) << 16) + (((U32)sd.csd[8]) << 8) + (U32)sd.csd[9]) << 10; } } } Для CSD_V1 используется побайтовая адресация (адрес сектора нужно сдвигать влево на 9 бит при чтении/записи), для CSD_V2 - посекторная.
  7. спасибо, работает. Жаль что у sch/pcb нет общей кодовой базы, из-за чего многое сделано по разному.
  8. в схематике не совсем удобно сделано перетаскивание связей - если нужно перетащить пересечение линий с точкой, всё перемещается отдельно (каждый сегмент и junction). Раньше тоже было неудобно - захватывались все символы в округе.
  9. а вы уверены что п.жир растворяется ацетоном ? Он на основе парафина/церезина, должен растворяться бензином (напр.Калоша) или каким-нибудь эфиром, желательно подогреть: http://forum.infrahim.ru/viewtopic.php?t=106 может подойдет и уайт-спирит
  10. CMD17/18/24/25: http://elm-chan.org/docs/mmc/mmc_e.html
  11. водой/спиртом. Если использовать неканифольный жидкий флюс, достаточно промыть проточной горячей водой :laughing: на батарее / над плитой / феном на малой мощности это Г хорошо описано тут: http://we.easyelectronics.ru/warning_guano/flyus-gel-tt.html
  12. вот сам бы и написал - вместо флуда по форумам, наверно на посты ушло больше времени чем на написание/отладку прошивки
×
×
  • Создать...