Zhuk72

Members
  • Публикации

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

  • Посещение

Репутация

12 Обычный

О Zhuk72

  • Звание
    Осваивающийся
  • День рождения 18.03.1972

Информация

  • Пол
    Мужчина
  • Город
    Баку

Электроника

  • Стаж в электронике
    Более 20 лет
  • Сфера радиоэлектроники
    МК, радиосвязь

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

707 просмотров профиля
  1. STM32F100RBT6B + STM32F103C8 + SPI

    Можно было и не отвечать, я выше уже признал ошибку. Или просто для "поболтать" по вашему же выражению?
  2. STM32F100RBT6B + STM32F103C8 + SPI

    Расшифровку аббревиатуры я знаю, потому и спрашиваю. Передача для одного является приёмом для другого и наоборот. Update! Да, верно, их надо параллелить. Почему-то решил, что в ведомом режиме МК меняется функционал пина. Мануал помог.
  3. STM32F100RBT6B + STM32F103C8 + SPI

    Разве MOSI и MISO не нужно перекрещивать?
  4. RGB шар на Pic12F629

    675-й предусмотрен в исходнике, нужно выставить его через дефайн и скомпилировать.
  5. Это так, но это же значит, что число без остатка поделится на 2... некоторое количество раз Ну да, как-то иначе надо выражаться.
  6. Мне, например, проще будет накидать простенькую программку на МК и прошить его, чем искать даже копеечную логику, которая где-то в мусоре завалялась. Благо мелких МК у меня хватает, в отличии от логики. А разница в цене для единичного устройства... даже говорить о ней смешно.
  7. Питание Arduino Pro Mini 3,7 Вольт

    Вообще-то уже полгода прошло.
  8. LCD на R61581

    Расписал адресацию столбцов, чтобы программно не преобразовывать, а сразу загружать в регистры и тут пришел к выводу, что мне нужно организовать указатель на массив функций. Одно из моих слабых мест в Си Массивов 10, в каждом по 4 функции. Вызывающая функция выглядит примерно так: void lcd35_setX(unsigned char column) { unsigned char data_cnt = 4; set_colpag(SCOL); // send set_column_address command LCD35_CMD; do { *(*(func + column) + data_cnt); // Это моя фантазия LCD35_WR0;// Master sent LCD35_WR1;// Slave recieved LCD35_DATA; } while(--data_cnt); LCD35_CS1; LCD35_CMD; } Указанное как "фантазия" и есть желаемое мной. Т.е. по индексу массива column [10] выбираются массивы func[4], вызываемые внутри цикла. Как их объявить? Помогите пожалуйста. Update. Попробовал так. Объявил 2-мерный массив, компилятор не ругается. void *col[10][4] = {{column1_1,column1_2,column1_3,column1_4}, {column2_1,column2_2,column2_3,column2_4}, {column3_1,column3_2,column3_3,column3_4}, {column4_1,column4_2,column4_3,column4_4}, {column5_1,column5_2,column5_3,column5_4}, {column6_1,column6_2,column6_3,column6_4}, {column7_1,column7_2,column7_3,column7_4}, {column8_1,column8_2,column8_3,column8_4}, {column9_1,column9_2,column9_3,column9_4}, {column10_1,column10_2,column10_3,column10_4}}; Слегка изменил вызов. Но вот как в нем этот массив использовать - не знаю. void lcd35_setX(unsigned char column) { unsigned char func; set_colpag(SCOL); // send set_column_address command LCD35_CMD; for(func = 0; func < 4; func++) { col[column][func](); // на нее компилятор ругается LCD35_WR0;// Master sends LCD35_WR1;// Slave receives LCD35_DATA; } LCD35_CS1; LCD35_CMD; } Сами элементы массива выглядят так: void column1_1(void) { GPIOA->BSRR = (BR8 | BR10 | BR9); GPIOB->BSRR = (BR10 | BR4 | BR5 | BR3); GPIOC->BSRR = BR7; } Остальные 39 такие же по форме, но со своими значениями. Update number 2. Изменил объявления массива на void (* col[10][4])(void); и вот такой вызов функции компилятор принял: (*col[column][func])(); Не знаю насколько это правильно. В железе завтра проверю, надо еще кое-что дописать.
  9. Прерывания по любому фронту

    В Протеусе работает или в железе?
  10. Какую схему управления использовали? Пары из NPN и P-MOSFET достаточно для надежного открывания-закрывания. В ваших экспериментах минус получался из управляющих цепей, сам натыкался на такое с этим дисплеем. А вообще, при таком потреблении питание можно прямо с пина МК взять. Если выделить один пин - проблема, значит надо брать другой МК. Новые хотелки возникают совершенно неожиданно и если упрешься при этом в ограниченность ног, это очень расстраивает. Лучше изначально брать с хорошим запасом.
  11. LCD на R61581

    Куплю на месте или закажу сегодня 2.8" SPI на всякий случай, а пока буду долбить что есть. Еще с Фурье разбираться надо, я в нем ни бум-бум.
  12. LCD на R61581

    С SPI есть 2.8" (240*320) на 9341 и есть 3.5" (320*480) не понятно на чем, для Raspberry. Времени на ожидание заказа нет. Посмотрю сегодня нет ли чего на месту проживания. Неужели такой скорости не хватит для того, чтобы раз в секунду отобразить 10 столбиков разной высоты?
  13. LCD на R61581

    Экран заполняется за 0.55335 секунды, т.е. меньше 2 fps Преобразование данных происходит меньше чем за 1 мкс. Вот процедура отправки байта. Как здесь можно применить ДМА? Хотя... Сейчас подумаю. P.S. Этот ТХ надо внутрь засунуть, вызов и возврат - лишнее. Раньше там еще задержки были, поэтому и выделил в отдельный код. P.P.S. Ну вот, теперь меньше 0.5 секунды, 2 fps выжал.