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

MaDiEQ

Members
  • Постов

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

  • Посещение

Электроника

  • Стаж в электронике
    Менее года
  • Сфера радиоэлектроники
    микроконтроллеры, ПЛИС

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

1 043 просмотра профиля
  • dm37

Достижения MaDiEQ

Новобранец

Новобранец (2/14)

  • 10 постов на форуме
  • Неделя на форуме
  • Месяц на форуме
  • Год на форуме

Последние значки

0

Репутация

  1. бывало, в моем случает были ошибки в подключении проводов
  2. мне бы пример как передать команду D3h по 4х проводному spi надо слать 18 бит? или 8 ? что должно быть выставлено на других ногах? какие то команды надо слать перед этим?
  3. Пытаюсь разобраться с ili9341 брал тут на пин LED и VCC подаю 3.3В с 2х ног ПЛИС Попытка получить ответ по команде D3h ... в ответ молчание (((( Кто работал с этим дисплеем, что делаю не так ?
  4. провинциальный институт не дает столько знаний сколько необходимо я не знаю как сразу несколько тестировать, если подскажешь где почитать буду признателен ))
  5. в институте vhdl учил так что мне привычнее, а на первый взгляд отличие между verilog и vhdl не заметно по моему если надо протестировать тестбенчем систему из нескольких vhd как быть?
  6. При проектировании устройств какие конструкции языка VHDL лучше использовать ? 1 State machine организовывать как переменную со своим типом state1, state2 ... или можно создать variable state: natural range 0 to (конечное состояние):=0; Какая конструкция будет занимать меньше ресурсов? 2 Операторы ветвления if else или case? 3 Если нужен переход по изменению сигнала wait или опять же if? 4 Как использовать Component / port map? использую только в тестбенче но возможно так вот кодом соединять провода нескольких файлов vhd? хотелось узнать
  7. кстати там была ошибка при которой он ВООБЩЕ не должен был работать так что эти случайные задержки выглядят еще более странно =)
  8. да просто там простыня некрасиво на странице смотрится )))
  9. PS: Хотелось бы получить совет от опытных программистов по поводу оптимизации кода для avr =)
  10. проблему решил спасибо всем кто отписался =)
  11. к первым 4м битам порта а подключены 4 строки клавиатуры (китайская мембранная типа замыкает строку-столбец), 8 столбцов подключены к порту B эта функция передает поочереди 0 на каждый пин из 4 пинов в порте А и ищет изменение состояния на порте Б относительно запомненного ранее для каждой строки потом передает код клавиши в функцию передающую по i2c
  12. вроде бы не 8 раз ))) он 1 раз как только напишет должен выходить из цикла по break; а вот PINB&(1<<j))==(1<<j) наверно стоит заменить на PINB&(1<<j))!=0 или компилятор сам такое правит?
  13. ну да он проверяет j -й бит - переменную величину неизвестную заранее, как можно это упростить для МК? int chek_kb(){ press_release=0; keycode=0; for (int i=0;i<=3;i++){ DDRA|=0b00001111; PORTA=0b00001111 & out_line[i]; _delay_us(10); if (PINB!=key_mask[i]){ for (int j=0;j<=7;j++){ /// if( ((PINB^key_mask[i])&(1<<j))!=0) { if((PINB&(1<<j))==(1<<j)){ press_release=0b00000000; }else{ press_release=0b10000000; } keycode=table_codes[i*8+j]; key_mask[i]=PINB; break; } } break; } } return (keycode|press_release); } в чем причина хаотичной задержки до начала передачи непонятно
  14. я только пару недель на avr пишу чем можно заменить сдвиг(если надо установить 1 в определенный бит)
×
×
  • Создать...