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

hohlov

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

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

  • Посещение

Репутация

0 Обычный

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

701 просмотр профиля
  • ROC

  1. на сколько я помню - 30-50мкс. посмотрите журнал радио 4 за 2009 год. еще проект https://github.com/gandro/stm32-ps2
  2. предполагаю, что вы не отсылаете подтверждение по линии clock и мышка производит перепосылку данных. (моя ps/2 клавиатура шлет 16 раз) поэтому после брейка данные нормальные, а без него мусор.
  3. Добрый день! На данный момент у меня нет опыта промышленной разработки электроники, но есть опыт в несколько лет самостоятельной разработки усройств. Я бы хотел устроиться на работу с минимальными требованиями к опыту. Во многих вакансиях фигурирует обязательное знание современной элементной базы. Расскажите, пожалуйста, какие элементы должны входить в эту базу?
  4. Подскажите, как в Quartus сделать соединения проводов между разными schematic файлами проекта. Каким примитивом или мегафункцией можно создать задержку прохождения клока? Есть ли возможность автоматизировать процесс задания имени проводникам? Например, задав какой-либо шаблон, кликнув последовательно по проводам, проименовать их i-тыми выводами шины. Правда ли, что linux версия работает быстрее windows версии? Правильно ли я понимаю, что для параллельной компиляции требуется файл sys_cpt.dll, если да, кто где можно взять такой для версии 12.1?
  5. Да да, спасибо большое!
  6. кто успешно скачал, перезалейте, пожалуйста, на сервер поддерживающий докачку, или в торрент выложите
  7. Не срабатывает INT2

    _Pasha, по этой линии идет ввод-вывод, почему что-то тут может нагнуться? Ruslan Konovalov, спасибо, но к сожалению там только приём данных с клавиатуры, а у меня запарка была с посылкой на неё. поднял частоту с 1Мгц до 8Мгц, всё заработало как следует.... Pulses on INT2 wider than the minimum pulse width given in Table 36 will generate an interrupt. Shorter pulses are not guaranteed to generate an interrupt. Minimum pulse width for asynchronous external interrupt 50ns эта ширина зависит от частоты мк?
  8. Не срабатывает INT2

    Привет всем! пишу обработчик клавиатуры для Atmega16 никак не могу понять в чем дело, когда посылаю данные на клавиатуру делаю так //включаем прерывание INT2 (GICR) по спаду фронта (MCUCSR) MCUCSR &= 0b10111111; GICR|= (1<<5); ..... ..... //disable INT2 GICR&=0b11011111; PORTB |= 0b101; DDRB |= 0b101; // make CLOCK LOW PORTB&=0b11111011; _delay_us(64); // make KB_data LOW PORTB&=0b11111010; keyb_char0=data; status=1; // release CLOCK line set HIGH PORTB |=0b00000100; DDRB &= 0b11111011; // enable INT2 GIFR|=(1<<5); GICR|=(1<<5); далее идет посылка битов по синхроимпульсу CLOCK, прерывание вызывается по спадающему фронту но при этом первый пик от CLOCK пропускается, и обработчик вызывается только начиная со второго импульса. если делаю не по прерыванию , а вот так edge=0; while (bitcounter0<11) { i=PINB; i>>=2; i&=1; if (i) { edge=0; if (bitcounter0==10) DDRB &= 0b11111110; } else if (!(edge)) { if ((bitcounter0<8) ) { if ( (keyb_char0>>bitcounter0)&1 ) { PORTB|=1; par_bit^=1; } else PORTB&=0b11111110; } то всё посылается нормально. что может быть такого, из-за чего пропускается первый спадающий фронт?
×
×
  • Создать...