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

RIMUS1989i

Members
  • Постов

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

  • Посещение

Весь контент RIMUS1989i

  1. Добрый день. Опять про АЦП. Понадобилось измерять аналоговый сигнал в диапазоне от 0.5 до 3.5 вольт. Опорное напряжение 2.5 вольта как для АЦП так и для ОУ, питание 5вольт. ИОН один на все каналы АЦП и ОУ. Всего их 6. Набросал схему с двумя каскадами, первый смещает и усиливает 0-4в. второй повторяет и после второго стоит делитель. Прошу проверить и высказать замечания. Заранее спасибо.
  2. Эм... не понял, вы про какие библиотеки говорите?
  3. Набросал вот такой алгоритм, но мне не нравится, жрет очень много ресурсов. Он не допилен т.к. нет проверки максимума каждого разряда, при переполнении разряда происходит увеличение старшего разряда. Функция редактирования bitwise_number_change, где val - редактируемое значение, n - номер разряда от младшего к старшему, diff - значения от энкодера +1 или -1, x,y куда рисовать. #define DEFAULT_MAX 30000UL uint8_t divide_number_into_digits(uint16_t value, uint8_t n_digit) { int8_t out = 0; switch(n_digit) { case 0: out = (value/10000);break; case 1: out = (value/1000)%10;break; case 2: out = (value/100)%10;break; case 3: out = (value/10)%10;break; case 4: out = value%10;break; } return out; } uint16_t bitwise_number_change(uint16_t val, uint8_t n, int8_t diff, uint8_t x, uint8_t y) { uint16_t vi = 1; for(uint8_t i = 0; i < n; i++) { vi *= 10; } val += vi * diff; ks0066SetXY(x,y); for(uint8_t d = 0; d < 5; d++) { ks0066WriteData('0' + divide_number_into_digits(val,d)); } if(val > DEFAULT_MAX) val = DEFAULT_MAX; return val; } Чуть опоздал я с сообщением.
  4. Добрый день. Прошу помощи в определении алгоритма для поразрядного изменения числа - переменной. Имеется дисплей, пусть будет 1602, выводим на него число (переменную) в десятичной системе счисления, например "uint16_t value = 32678", как его изменить поразрядно?
  5. @finn32 Спасибо за оперативный ответ. А что получше подобрать? Какие лучше..
  6. Здравствуйте. В ВК NJW0302G + NJW0281G (от ON Semiconductor) пойдут?
  7. Как этот квадратик потом преобразовать в печатную плату? Естественно большую часть дорожек буду разводить вручную, но со схемой будет легче искать ошибки. На то она и матрица, строчки и столбцы, всего 20Х24 rgb светодиодов, получается 60+24 вывода. Всего 84.
  8. @Dr. West Уже пиратка стоит, она дает мне много выводов. Проблема в копировании, при котором не могу скопировать название связей, чтобы вручную их не присваивать. @chip-chip Во вложении схема, частично вручную пронумерована. rgb_led_matrix_n.dch
  9. Схему завтра прикреплю. Мешает то, что матрица из 480 rgb светодиодов, а это 1920 выводов и им нужно присвоить связи. Пробовал рисовать в easyeda там проще, но комп виснет из-за такого количества компонентов. Сырой продукт ещё...
  10. Добрый день. В DipTrace рисую схему светодиодной матрицы, нарисовал первый столбец, присвоил связи (шины) всему столбцу, хочу столбец скопировать но чтоб нумерация связей осталась как у первого столбца, как это сделать? При копировании всем выводам присваивается новые связи.
  11. @Signus Добрый день. А в планах нет у Вас развести плату только для бистабильных реле? Чтобы программно не делать костылей (3 этапа) и переключать за один раз все реле. Я готов поучаствовать.
  12. Спасибо. Но мне нужно из слоя top на слой int1 или bot на int4, и вопрос заключался не в том, как не получится, а как это указать SL.
  13. Да. А вот отверстия скрытые походу не умеет делать.
  14. Здравствуйте. Тема большая, а поиском не нашел. Как сделать скрытые межслойные отверстия? Иначе теряется смысл в 4х слоях... Или скрытый микропереход.
  15. @Eddy_Em Этот проект я перенес на STM32, но с DMA дела не имел. Как правильно организовать это все через DMA, не подскажите? Задача равномерно по времени вызывать MY9269_initLatch(r), после отправлять данные из массива,
  16. Прервать основную программу, зайти в прерывание и сделать что-то быстрое, например проверить состояние портов, и вернуться в основную программу. Да я хочу долго сидеть в прерывании, но мне это нужно для эксперимента.
  17. @Alex второе скрытое содержимое. ISR (TIMER2_COMPA_vect) { MY9269_Refresh(); // тут не работает }
  18. Здравствуйте. Написал код вывода данных посредством SPI в дисплей, обновление дисплея происходит посредством функции "MY9269_Refresh()", если поместить данную функцию вечный цикл main то все работает, но я хочу вывод поместить в прерывание, но там ничего не происходит. Как правильно инициализировать массив с данными и какой тип функции назначить чтобы данные в массиве обновлять в основном цикле, а выводить в прерывании? основная программа с main
  19. И правильно, кто купил КИТ тому и прошивка. Либо делать лицензионный код! А при прошивке ставить "lock" биты...
  20. Да, сейчас проблема в плагиате. Пилю свой проект, боюсь показывать...
  21. @IMXO Что-то я не понял, вращаешь влево импульсы идут только с А, а если вправо то только с B, так? По факту данную схему можно применять вместо кнопок?
  22. DMA есть в xmega-х. В остальные даташиты не заглядывал. Но xmega 8/16 бит, а stm32f103 уже 32. ATxmega64A1-AU около 550р. Ширина шины данных: 8/16-бит, Тактовая частота: 32 мгц,Объем RAM: 20k x 8, Объем памяти программ: 64 кбайт (64k x 8) STM32F103C8T6 около 300р. Ширина шины данных: 32-бит, Тактовая частота: 72 мгц, Объем RAM: 20k x 8, объем памяти программ: 64 кбайт (64k x 8) Из плюсов ATxmega количество I/O на 11 больше.
  23. Есть, но ценник не гуманный, по сравнению с STM.
  24. По поводу перехода на STM32 я думал об этом, но пока нет времени его изучать. Ладно, что получится посмотрю, в крайнем случае придется переходить на STM32. Проблема в том, что уже много наработок на атмел.
×
×
  • Создать...