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

GenaSPB

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

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

  • Посещение

  • Победитель дней

    2

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


  1. Atmega32+UART

    Может помочь файл с фюзами для внутреннего генератора 8 МГц. Для кварца CKSEL=0xf прменить вместо того, что стоит сейчас. Аналогично для понипрога - все четыре бита CKSELx на предложенной картинке снять галочки. У Вас на 1 МГц процессор работает. Выставьте по моей картинке фюзы для начала.
  2. Atmega32+UART

    UCSRB = 0x19 Вы решили передавать девятибитные символы? Хотя это на формат не влияет, но если мы ищем проблему среди двух проводов, постарайтесь точнее следовать советам. Отработайте с той инициализацией, что Вам предложили (0x18). В аттачменте - терминалка игнорирующая все сигналы готовности. Вход в настройки (и хелп) - alt+f3 Проверка преобразователя - сажаете RESET процессора на землю и соединив вход с выходом преобразователя накоротко, смотрите эхо символов в терминалке. Питание 3.3 или 5 вольт? Преобразователь уровней питается в соответствии со своим паспортным напряжением? Ваша программа рабочая. Добавив include для strlen, получил .hex, который прошил в имеющийся макет - работает. Проект в аттачменте. зы: Вас не затруднит привести состояние фюзов (тот экран, что перчатает AVREAL в процессе программирования)?
  3. Atmega32+UART

    Строка хранится в RAM. Доступ к ней делается правильно. Готовность надо проверять перед передачей каждого символа. Попробуйте творчески использовать кусок инициализации сгенерированный codewizard: // USART initialization // Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On // USART Transmitter: On // USART Mode: Asynchronous // USART Baud Rate: 9600 UCSRA=0x00; UCSRB=0x18; UCSRC=0x86; UBRRH=0x00; UBRRL=0x33;
  4. Потестил: Сегодняшняя: с ключём -flto: C:\user\dds2\TC1\at91sam7s>make arm-kgp-eabi-gcc ../crt_sam7s.o ../cp15_asm.o ../bandfilters.o ../board.o ../sequen.o ../encoder.o ../hardware.o ../hd44780.o ../dis play.o ../keyboard.o ../keymaps.o ../nvram.o ../spifuncs.o ../formats.o ../synthcalcs.o ../uc1601s_small.o ../uc1601s_font.o ../uc16 01s_font_alt.o ../uc1601s.o ../twi.o ../tc1.o -mcpu=arm7tdmi -flto -Os -nostartfiles -T../sam7x64_rom.ld -Wl,-Map=tc1_rom.map,--cref ,--no-warn-mismatch -lm -o tc1_rom.elf c:/kgp_arm_eabi/bin/../lib/gcc/arm-kgp-eabi/4.6.2/../../../../arm-kgp-eabi/bin/ld.exe: cannot find -lugin c:/kgp_arm_eabi/bin/../libexec/gcc/arm-kgp-eabi/4.6.2/liblto_plugin-0.dll: file not recognized: File format not recognized collect2: ld returned 1 exit status make.EXE: *** [tc1_rom.elf] Error 1 Без ключа -flto: arm-kgp-eabi-gcc ../crt_sam7s.o ../cp15_asm.o ../bandfilters.o ../board.o ../sequen.o ../encoder.o ../hardware.o ../hd44780.o ../dis play.o ../keyboard.o ../keymaps.o ../nvram.o ../spifuncs.o ../formats.o ../synthcalcs.o ../uc1601s_small.o ../uc1601s_font.o ../uc16 01s_font_alt.o ../uc1601s.o ../twi.o ../tc1.o -mcpu=arm7tdmi -Os -nostartfiles -T../sam7x64_rom.ld -Wl,-Map=tc1_rom.map,--cref,--no -warn-mismatch -lm -o tc1_rom.elf c:/kgp_arm_eabi/bin/../lib/gcc/arm-kgp-eabi/4.6.2/../../../../arm-kgp-eabi/bin/ld.exe: cannot find -lgcc collect2: ld returned 1 exit status make.EXE: *** [tc1_rom.elf] Error 1 Первая сборка их тех, где появился -flto: Без ключа -flto: arm-kgp-eabi-gcc ../crt_sam7s.o ../cp15_asm.o ../bandfilters.o ../board.o ../sequen.o ../encoder.o ../hardware.o ../hd44780.o ../dis play.o ../keyboard.o ../keymaps.o ../nvram.o ../spifuncs.o ../formats.o ../synthcalcs.o ../uc1601s_small.o ../uc1601s_font.o ../uc16 01s_font_alt.o ../uc1601s.o ../twi.o ../tc1.o -mcpu=arm7tdmi -Os -nostartfiles -T../sam7x64_rom.ld -Wl,-Map=tc1_rom.map,--cref,--no -warn-mismatch -lm -o tc1_rom.elf arm-kgp-eabi-size tc1_rom.elf text data bss dec hex filename 36776 244 2192 39212 992c tc1_rom.elf с ключём -flto: arm-kgp-eabi-gcc ../crt_sam7s.o ../cp15_asm.o ../bandfilters.o ../board.o ../sequen.o ../encoder.o ../hardware.o ../hd44780.o ../dis play.o ../keyboard.o ../keymaps.o ../nvram.o ../spifuncs.o ../formats.o ../synthcalcs.o ../uc1601s_small.o ../uc1601s_font.o ../uc16 01s_font_alt.o ../uc1601s.o ../twi.o ../tc1.o -mcpu=arm7tdmi -flto -Os -nostartfiles -T../sam7x64_rom.ld -Wl,-Map=tc1_rom.map,--cref ,--no-warn-mismatch -lm -o tc1_rom.elf arm-kgp-eabi-size tc1_rom.elf text data bss dec hex filename 35736 244 2184 38164 9514 tc1_rom.elf
  5. С обычным одноканальным FT232R работать будет?
  6. (putchar)(value) обрабатываться препроцессором не будет.
  7. В проблемном устройстве компаратор применён в цепи формирования клока для AD9834. Сам себя тактирует... Короче, режем плату. Без тактирвания не запрограммировать включение компаратора. После уточнения выяснилось, что наводка делалась на выход компаратора, так что всё так и есть. Аппаратный reset микросхемы на земле, так что надеяться на то, что выход компаратора будет в отключенном состоянии не получается (хотелось подать через резистор какой-нибудь клок туда).
  8. Инициализировали графический дисплей как символьный? Или "стекляшка" графдисплея в символьный запаяна? http://www.cqham.ru/forum/showthread.php?t=18954 Контроллер WS0010 - очень похож на HD44780, но не он. На программы управления (в паралельном и последователдьном виде) ссылка в указанном топике есть.
  9. Я же написал, что 36 МГц проходит, а не 400 кГц. По прежнему вопрос - кто запустил "в натуре"? Даташит прочитан до дыр. Да, без подачи смещения тоже запускается "с толкача". ps: аппаратура не у меня, даю советы коллеге дистанционно.
  10. AD9834: comparator

    Есть проблема. AD9834, 3.3 вольта питания. Выход компаратора соединён с её клоком, на вход компаратора через разделительную ёмкость подаётся синусоида 0.8 вольт эфф. около 36 МГц. Какое должно быть напряжение в качестве смещения подано на вход компаратора? Имеется эффект - при поданомт смещении 2.5 вольта работает только после наводки (ткнуть пинцетом) на вход компаратора. Кто-нибудь использовал этот компаратор не для формирования импульсов с собственного выхода AD9834?
  11. #define KeyMask (1<<Btn1)|(1<<Btn2) А скобочки для защиты от подводных граблей не хотите поставить? Назначение регистров для переменных ОЧЕНЬ сильно мешает оптимизации.
  12. А в чём проблемы схему из даташита взять? То, что не понятно сейчас - обратные связи по pset и mset - оставить под перемычки, резисторов в делитель предусмотреть...Фигня - потому, что нет конденсаторов на PFLT и MFLT, это не схема а что-то из симулятора. Спалить могли и вторую... Предлагаю себе немного больше доверять. Это где-то в даташите написано? Нет? Тогда лучше не делать предположений.
  13. Автору уже советовали конечный автомат - так как он упёрся в сложность программы. Если он перенесёт "работу с флажками" во внешнюю (по отношению к прерыванию) программы - не поможет...
  14. Несколько вариантов. 1) Использовать одну из программ "виртуальных ком портов" - в режиме "кабеля" можно задать состояние сигналов. 2) Взять исходник, что тут приаттачен и поправить под себя - установить нужную полярность.
  15. Nokia 6260 LCD

    Модель телефона, от которого большой дисплей можно узнать?
  16. Только 10 мегагерц. 12 мегагерц не попадает в зону допустимых на графике зависимости от напряжения (при 3.3).
  17. AVR и Siemens M55

    А новый дисплей оказался без точек для припайки на шлейфе... У Вас такой же или с точками? Или я не там ищу?
  18. Не на столько это всё и страшно. Вот, гляньте, как это выглядит для одного из графических дисплеев (RDX0154): (Знакогенератор - массив uc1601s_font в программе). // начало выдаче байтов (записи в видеопамять) // Вызывается в начале выдачи строки void uc1601s_put_char_begin(void) { i2c_start(ADDR_70 | 0x02); // } // конец выдаче байтов (записи в видеопамять) // Вызывается в конце выдачи строки void uc1601s_put_char_end(void) { i2c_stop(); } // Вызовы этой функции (или группу вызовов) требуется "обрамить" парой вызовов // uc1601s_put_char_begin() и uc1601s_put_char_end(). // void uc1601s_put_char(char cc) { const uint_fast8_t c = ascii_decode((unsigned char) cc); enum { NCOLS = (sizeof uc1601s_font[c] / sizeof uc1601s_font[c][0]) }; const uint8_t * p = & uc1601s_font[c][0]; uint_fast8_t i; //i2c_start(ADDR_70 | 0x02); // for (i = 0; i < NCOLS; ++ i) i2c_write(pgm_read_byte(p ++)); //i2c_stop(); }
  19. Использовать - прозрачно длинные указатели. Присмотрелся по внимательнее - в ATMEL-овском avr gnu toolchain, похоже, это уже внесено в текущий дистрибутив. Это даёт что-нибудь вроде универсальных указателей на всё? FPSR - полезная вещь. Сейчас у меня вот так: static void idanswer(uint_fast8_t tx) { static const prog_char fmt [] = "ID" // 2 characters - information code "%03u" // 3 characters - model ";"; // 1 char - line terminator // answer mode const uint_fast8_t len = local_snprintf_P(cat_ask_buffer, CAT_ASKBUFF_SIZE, fmt, (unsigned int) 21 // 021 - code of TS-590S model ); cat_answer(cat_ask_buffer, len); } Этот макрос, конечно, удобнее.
  20. А как прикручивать к имеющейся инсталяции WinAVR? Какие ключи должны быть у компилятора? Есть ли проект с примером использования?
  21. Дисплей с контроллером SED1565.
  22. А что не так в случае правильного (как я нарисовал) формирования элемента палитры? Может, разобраться стоит с форматом bmp? ps: можно весь код? А то, мне кажется, что переделаный Вами на unsigned long * реперь захвыатывает соседние элементы из палитры. Надо был сделать как я говорил - приводить перед сдвигом. unsigned char * palitra; .... const unsigned long pe = ((unsigned long) palitra [0] << 16) | ((unsigned long) palitra [1] << 8) | ((unsigned long) palitra [2] << 0); Индексы и имена проставьте сами.
  23. А зачем яркость всех цветов уменьшаете (я про сдвиг вправо на 2 разряда)? Простой вариант _remappalette( i, (dwordpolitra [0] << 16) | (dwordpolitra [1] << 8) | dwordpolitra [2]); не проходит?
  24. какой компилятор? Гжде описание формата элемента палитры при передаче в функцию _remappalette я уже не спрашиваю. Нашёл от какого-то компилятлра 0x00bbggrr Так у Вас неправильное число сдвиго в- надо 16 и 8, а не то, что у Вас. какой компилятор? - ещё раз.
  25. На остальные мои вопросы можно ответ услышать? Например, на правильное ли количество бит сдвигается байт перед получением значения, загружаемого в решистры палитры?
×
×
  • Создать...