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

Lebets_VI

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

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

  • Посещение

Репутация

0 Обычный
  1. 1. Квадрата (ромба) там нет. (есть вычисленные значение, но здесь приводить не буду т.к. полный цикл 365 строк, могу скинуть в личку) 2. Это скорее всего и есть алгоритм Брезенхейма, только адаптированный для окружности. 3. А самое главное, в HID report-е передаются не координаты, а смещения относительно предыдущего положения. По сути - Брезенхем :), только предыдущие координаты отрезка, драйвер HID уже знает :) Вот по этому и получается окружность. ЗЫ Хотя ReAl прав, на CORDIC больше похоже.
  2. Да я это брошюру вдоль и поперек перечитал, еще 2 в нагрузку есть, только толку никакого. У меня как раз именно R без доп цифр, хотя смотрел даташит на R3 - такой же.
  3. Да, есть: -12,4В. А вот про это я нигде ничего не читал :), даже в даташите контроллера RA8820. Можно поподробнее ? вот даташит: http://sdrv.ms/KPY4i4 Вы говрите, что на контраст должно подаваться отрицательное напряжение, но согласно ему - положительное :)
  4. нет, но я на контраст подавал: - "ничего" - "+5В" - "-12В" (VEE - Negative voltage output) - у дисплея есть такой выход. По схеме подключения к потенциометру подключается с одной стороны +5, с другой -12(VEE), и центр потенциометра подключается к регулировки контраста. Если Вам не трудно, посмотрите, пжлста в даташите по поводу VDD-V0. Честно говоря, я не понял что должно подаваться на контраст. Там написано: VDD-V0 standart value 12.5V. но откуда там ему взяться, если на потенциометр подается +5 и -12 :(
  5. В том то и дело, что подключил я его к ардуино нано, и оттуда посылаю и инициализацию регистров и пытаюсь хоть что-то вывести на экран - без толку. И невозможно найти примеры работы именно с этим дисплеем, там контроллер RA8820.
  6. Здравствуйте. Имеется LCD дисплей Winstar WG24064R Есть ли какие ни будь стандартные способы первичной проверки работоспособности его или LCD вообще. Подкинул ему питание на логику и подсветку. Сбрасывал его через ввод RES, инициализировал регистры ничего не помогает. Чистый экран и всё. Т.к. никогда дисплеями не занимался, не знаю с какой стороны подходить в этом случае. Вот и подумал, может у них есть какой-то селфтест при включении, типа моргнуть или курсор должен отобразиться? Помогите кто чем может :) Спасибо.
  7. Ну можно же взять ручку и бумажку и проанализировать 5-10 вызовов этой ф-ции, что бы понять какие данные генерируются вашим HID-устройством. Если хотите, я проделаю эту процедуру :)
  8. static int sinus = 7 << 6, cosinus = 0; - начальное присвоение: синус = 0x1C0, косинус = 0 пляска мышки происходит в ф-ции advanceCircleByFixedAngle(void), т.к. в ней меняются координаты мыши. а реального вычисления синуса и косинуса здесь не происходит. Автор просто так назвал переменные :) типа синус - это координата Y, а косинус - это координата Х.
  9. неправильно. присвоение 2 переменным происходит одно и то же
  10. в строке: reportBuffer.dx = d = DIVIDE_BY_64(cosinus); происходит сразу 2 присваивания: переменным "reportBuffer.dx" и "d" присваивается значение DIVIDE_BY_64(cosinus). И в какой последовательности они присваиваются, знает только компилятор :), а это значит, что программисту, писавшему этот код, было все равно в какой последовательности присваивать значения :) По части вольностей, это сначала так кажется, вольность в С очень мнимая :)
  11. #define DIVIDE_BY_64(val) (val + (val > 0 ? 32 : -32)) >> 6 - это МАКРОС под названием DIVIDE_BY_64 если вместо переменной val подставить значение то он вычислит следующее: 1. если значение >0 то берем число 32, если <=0 , то берем число -32 2. к этому числу прибавляем "значение" 3. результат сдвигаем на 6 бит вправо, т.е. делим на 64 Это все равно, что подставить в строку reportBuffer.dx = d = DIVIDE_BY_64(cosinus); вместо DIVIDE_BY_64(cosinus) вот это: (cosinus + (cosinus > 0 ? 32 : -32)) >> 6;
×
×
  • Создать...