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

korobov_michael

Свой
  • Постов

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

  • Посещение

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


  1. Спасибо. Получается, что, действительно, обычные LCD пока остаются единственной альтернативой. М-да... жаль, с ними так приятно было работать :05:
  2. Добрый день. Не знал, в какую ветку постить это сообщение - если попал не сюда - подскажите, плиз, куда редиректиться. Проблема в следующем. Использовали PLED (полимерорганические дисплеи) пр-ва Winstar. Всем они были хороши - и ток небольшой потребляют, и контрастность высокая. Начали ставить их на объекты около года назад. И сегодня обнаружили (вот только что с объекта вернулся), что в местах, где пикселы горели дольше, яркость свечения очень сильно упала. Фоток сейчас нет, но в ближайшее время выложу. Вопрос. Кто-нибудь встречался с подобной проблемой? можете ли подсказать где искать инфу о корректном использовании индикаторов? (вроде использовали правильно, но кто знает...) Спасибо
  3. М-да, пожалуй, коряво получилось... Имелось ввиду, что при использовании структуры при последовательном обращении к полям структуры компилятор задействует косвенный режим адресации со смещением, являющийся частью архитектуры, что и приводит к более оптимальному коду по сравнению с рядом других контроллеров
  4. Хочу уточнить. Как раз для АВР его система команд "помогает" компилятору С может сгенерировать очень качественный код при работе со структурами (см. AN035). Так что чем использовать разрозненные объекты -- я бы склонялся к использованию структур
  5. И все-таки было бы неплохо увидеть схему и кусок программы, отвечающей за инициализацию. А если покажешь еще и фьюзы, будет совсем хорошо
  6. FUSES ATmega

    Говорят, что какая-то российская контора за $30000 готова предоставить услуги взлома. Но опять же - ты получаешь бинарник без комментариев, мыслей программеров, без дальнейшего сопровождения...
  7. Детализируй, плиз: 1. Какие фьюзы прошиты для девайсины? 2. Какой именно прибор долго не включался - источник тактового сигнала или сама АТ128? 3. Какая цепь стоит на ресете - RC или что-то посерьезнее? 4. Не управляешь ли ты движками или чем-то индуктивным?
  8. Прошу прощения за назойливость, но это будет именно отладчик? Не просто программатор? Т.е. я смогу из-под IAR прописать его как, скажем, отладчик FET TexasInstruments LPT-IF и работать?
  9. Тогда вопрос. Можно ли купить что-то стандартное, чтобы поддерживало отладку на плате? Мы планируем использовать MSP430F148. Плата a la Wiggler подходит для отладки или надо что посерьезнее? Спасибо
  10. Работа JLink с MSP430

    Добрый день. У меня есть отладчик JLink, который я покупал для TMS470 (с ARM ядром). Сейчас хочу перейти на MSP430. Не знает ли кто-нибудь, работает ли тот же JLink с MSP? Спасибо
  11. 16S2D

    Внимательно проверь инициализацию! Похоже, ты неправильно инициализируешь ЖКИ После каждого выставления на портах необходимо провести процедуру clockE(); иначе эти данные не защелкнутся и ЖКИ их не увидит! И, поскольку ты все равно не пользуешься прерываниями, сделай отдельную функцию clockE, что-то вроде void lcd_clock_E(void) { CNTRL_PORT |= _BV(LCD_ENABLE); //E = 1 __delay_cycles(150); //10us но вроде достаточно 1мкс CNTRL_PORT &= ~(_BV(LCD_ENABLE)); //E = 0 } void lcd_init(void) { CNTRL_PORT &= ~(_BV(LCD_RS)); CNTRL_PORT &= ~(_BV(LCD_RW)); __delay_cycles(222000); // Wait more than 15ms LCD_PORT = 0x3A; // Startup Sequence lcd_clock_E(); //Вот это ты забыл!!! __delay_cycles(61000); // Wait more than 4.1ms lcd_clock_E(); //Вот это ты забыл!!! __delay_cycles(1500); // Wait more than 0.1ms lcd_clock_E(); //Вот это ты забыл!!! LCD_PORT = 0x3A; lcd_clock_E(); //Вот это ты забыл!!! while(LCD_GET_BUSY()); //С этого момента ЖКИ дает адекватную инфу в бите BF __delay_cycles(61000); lcd_wr_reg(INST_REG,0x0E); while(LCD_GET_BUSY()); __delay_cycles(61000); lcd_wr_reg(INST_REG,0x01); while(LCD_GET_BUSY()); __delay_cycles(61000); lcd_wr_reg(INST_REG,0x06); while(LCD_GET_BUSY()); __delay_cycles(61000); } По окончании инициализации индикатор может мигнуть. Это можно расценивать как успешную инициализацию. Только учти, что данная процедура -- для 8-ножечного обмена. Для 4-ножечного она немного уменьшится. ВАЖНО!!! Может быть очень смешно, но уточни, как ты подаешь смещение на ножку контрастности - а то можно вообще ничего не увидеть и при правильной инициализации :) Скажешь, получилось ли :) Успехов!
  12. 16S2D

    Попробуй это. У меня это рабочая версия при тестировании новых железок с LCD. Только не забудь в главной программе правильно выставить направление портов Успехов! test_LCD.rar
  13. Во-первых, приношу извинения - спросонья не въехал - запись второго пустого (dummy) байта при первом чтении нужна -- информация о значении статусного регистра идет только вторым байтом :yeah: По второму пункту - ок. Но опять же, еще (хи-хи) сам Страуструп рекомендовал не жадничать на скобки ((t << 8) | f). Несколько озадачило все же, что при последовательном чтении этого регистра ты получал разные значения, причем изменения были не только в бите статуса, но и в бите PROTECT, и, что еще непонятнее, в битах, определяющих объем флешки. Это довольно странно
  14. Поскольку SPDR используется как для записи, так и для чтения по SPI, AVR Studio не отображает его содержимого в окне просмотра регистров (как и в случае UART). Это наблюдается и c IAR. Самое правильное - сразу вычитывать его содержимое во временную переменную, а потом просматривать ее. Ко второму посту пара вопросов. 1. Почему после загрузки SPDR = STATUS_REGISTER_READ потом загружается еще и SPDR = 0x00? По даташиту SPDR выдаст содержимое статусного регистра уже после первой транзакции 2. Смущает как ты возвращаешь значение -- (t << 8 | f) дает в результате t, сдвинутую на 8|f == 0xA8 разрядов. Похоже, что даже для типа int несколько многовато. 3. Почему возвращаемый тип объявлен как unsigned int. Вроде бы достаточно unsigned char
  15. Бывало, что когда начинал новый проект с теми же исходниками, забывали проставить опции компилятора (Project -> Options -> System -> CStack, RStack). В силу обильного использования памяти как раз эта ошибка вылезала довольно часто. Вы не используете внешний .xcl файл?
×
×
  • Создать...