MaDiEQ
Members-
Постов
31 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Блоги
Весь контент MaDiEQ
-
бывало, в моем случает были ошибки в подключении проводов
-
Пытаюсь разобраться с ili9341 брал тут на пин LED и VCC подаю 3.3В с 2х ног ПЛИС Попытка получить ответ по команде D3h ... в ответ молчание (((( Кто работал с этим дисплеем, что делаю не так ?
-
в институте vhdl учил так что мне привычнее, а на первый взгляд отличие между verilog и vhdl не заметно по моему если надо протестировать тестбенчем систему из нескольких vhd как быть?
-
При проектировании устройств какие конструкции языка 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? хотелось узнать
-
спасибо , учту )))
-
кстати там была ошибка при которой он ВООБЩЕ не должен был работать так что эти случайные задержки выглядят еще более странно =)
-
да просто там простыня некрасиво на странице смотрится )))
-
PS: Хотелось бы получить совет от опытных программистов по поводу оптимизации кода для avr =)
-
проблему решил спасибо всем кто отписался =)
-
к первым 4м битам порта а подключены 4 строки клавиатуры (китайская мембранная типа замыкает строку-столбец), 8 столбцов подключены к порту B эта функция передает поочереди 0 на каждый пин из 4 пинов в порте А и ищет изменение состояния на порте Б относительно запомненного ранее для каждой строки потом передает код клавиши в функцию передающую по i2c
-
вроде бы не 8 раз ))) он 1 раз как только напишет должен выходить из цикла по break; а вот PINB&(1<<j))==(1<<j) наверно стоит заменить на PINB&(1<<j))!=0 или компилятор сам такое правит?
-
ну да он проверяет 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); } в чем причина хаотичной задержки до начала передачи непонятно
-
я только пару недель на avr пишу чем можно заменить сдвиг(если надо установить 1 в определенный бит)
-
задержка имеет случайный характер изредка работает как надо
-
Прошу помочь разобраться в причине странного поведения Atmega8515L суть заключается в следующем: МК принимает по i2c свой slave адрес в следующем такте отвечает ACK и далее должен передать 8 битный код в данном примере (0b10001100), но функция передачи кода иногда запаздывает на случайное число тактов . Кто-нибудь сталкивался с подобным явлением, в чем может быть причина?
-
я имел ввиду что после изменения состояния на ноге из за медленного нарастания на pull-up резисторах считать можно не сразу , мне нужно узнать минимальную задержку пока состояние на линии установится почему микроконтроллер в протеусе и на реальном чипе работает несколько иначе?
-
я ими еще не пользовался не знаю какой выбрать AMS1117 пойдет? как их использовать?
-
какие линейные стабилизаторы лучше для преобразования в 3.3В?
-
Можно подать питание атмеге с того же USB гнезда что и FPGA (разделив резисторами с 4.95 до 3.3В) ?
-
А для pull-up можно с ноги брать?
-
Надо устроить обмен данными между FPGA и Atmega по I2C. FPGA на отладочной плате запитывается по USB от ПК, atmega8515L подключена навесным монтажом. В данный момент атмегу и pull-up резисторы от i2c запитываю от I/O ноги ПЛИС, возникают непонятные перезагрузки ПЛИС, может ли это быть вследствии перегрузки ? И как правильно запитать PULL-UP и Atmega?
-
потомучто я новичок и не понимаю разницы, если разъяснишь буду благодарен Как правильнее написать void function(){ while(true){ ... break; //или return; ... } //тут нет исполняемого кода } В данном случае выходить из функции надо с помощью BREAK или RETURN?