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

Tiro

Свой
  • Постов

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

  • Посещение

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


  1. Разрешите поинтересоваться? Зачем Вам клок=0? Есть еще вопрос - Вы знаете, что в последних AVR есть system clock prescaler? Например, в дейташите на АТМЕГА48 в разделе 7.11 я такую фичу нашел. Не то? Если ответ не в тему, прошу более точно описать задачу. С уважением.
  2. winAVR и С++

    Открыть файл winavr/doc/gcc/gcc.pdf и прочитать раздел 3.2, где написано, что : file.cc file.cp file.cxx file.cpp file.CPP file.c++ file.C C++ source code which must be preprocessed. Note that in ‘.cxx’, the last two letters must both be literally ‘x’. Likewise, ‘.C’ refers to a literal capital C. Или чуть дальше : You can specify the input language explicitly with the ‘-x’ option: -x language Specify explicitly the language for the following input files (rather than letting the compiler choose a default based on the filename suffix). This option applies to all following input files until the next ‘-x’ option. Possible values for language are: c c-header cpp-output c++ c++-header c++-cpp-output objective-c objective-c-header objc-cpp-output assembler assembler-with-cpp ada f77 f77-cpp-input ratfor java treelang То есть, либо переименуйте исходный файл, либо добавьте ключ -x c++ в строку вызова компилятора. Переименовать исходник предпочтительнее, поскольку вы сможете использовать как "с", так и "срр" исходные файлы в одном проекте.
  3. I2C анализатор

    Уважаемый Woodoo! У Вас скорость И2Ц превышает скорость РС-232! Вам не успеть передать трафик И2Ц в ПЭВМ при интенсивном обмене. Все-таки что Вас больше интересует : трафик на И2Ц или временные характеристики стопов, стартов, тактовых импульсов и прочего? Можно предложить следующие подходы : 1. Интересует все. Делаем скоростной анализатор (берем готовый), например, на ПЛИС + USB, опрашиваем SDA и SCL с необходимым разрешением по времени. Анализ времянок и трафика в ПЭВМ (программу пишем). 2. Интересует трафик. Пользуемся встроенным в AVR аппаратным TWI, передаем снятый трафик по USB. 3. Интересуют времянки, но можно измерять не все сразу, а например по выбору - сначала старты, потом стопы и т.д. Тогда можно анализировать прямо в MCU, результаты скидывать через RS-232. Сам я И2Ц не анализировал, но снимал другой протокол по варианту 1. Использовал платку с Altera EPM7064AETC + FTDI FT245ВМ.
  4. Assembler 2 и Си для AVR

    Все ниженаписанное относится к AVR Studio v.4.12 1. Help -> Contents ->AVR Studio ->Introduction -> Release Notes -> AVRASM2 User Guide (ссылка внизу страницы). 2. В AVR Studio НЕТ компилятора С. Зато есть интерфейс к компиляторам от IAR Systems и GNU avr-gcc (например, в дистрибутиве WinAVR). На третий вопрос ответите сами ?
  5. Дребезг на клаве

    Уважаемый rezident, будьте внимательны! В первом сообщении автор пишет: >DDRB=0x0F; // b0-b3 : outputs b4-b7 : inputs Это определяет биты 3-0 на вывод, 7-4 на ввод! Автор использует вывод в бит 0 в этой строке : > PORTB=0x01; В третьем сообщении : > в клавиатуре задействована только одна клавиша, считайте что это простой вутон, > который одним концом идет к B0 (через R=4k7), а другим к B4 А выпишете : > Если используете Bit0 для ввода, то почему маску для Bit4 накладываете? > А вообще если у вас матрица кнопок, то где у вас процедура ее сканирования? Он использует одну кнопку! Читает бит 4! Маски накладывает правильно! Чтобы его программа пошла, ему достаточно строку : > t1=PORTB; заменить на t1 = PINB; С уважением.
  6. Дребезг на клаве

    Нет никакой схемки. Использую мегу8, т.к. в клавиатуре задействована только одна клавиша, считайте что это простой вутон, который одним концом идет к B0 (через R=4k7), а другим к B4. Так же ставлю светодиод на одну из ног PORTD. Вооот !!! Читайте внимательно доку ! :excl: Раздел дейташита I/O Ports -> Introduction сразу под фигурой 21. У АВР порт имеет _ТРИ_ регистра : DDRx - регистр направлениея данных, PORTx - регистр данных, PINx - порт входных пинов. Первые два доступны на чтение / запись, последний только чтение. При попытке чтения PORTх возвращается _ЗАПИСАННОЕ_РАНЕЕ_ в него значение. Вам надо читать регистр PINB.
  7. Кстати, если фьюзы чипа запрограммированы на использование внутреннего генератора (а это исходное состояние чипа при поставке), то использовать -o0 бессмысленно. Поэтому при первом программировании и установлен ключик -o800, для надежного формирование частоты SCK AVReal'ом. С уважением.
  8. Здесь вы найдете исчерпывающий ответ на Ваш вопрос: http://ln.com.ua/~openxs/articles/smart-questions-ru.html С уважением.
  9. Спасибо за полезное сообщение! :) А у меня программируется прекрасно! Вы даже не указали, может ли AVReal синхронизироваться с кристаллом, какой адаптер использован, какую строку вы передали AVReal и что он ответил. Теперь по существу дела: 1) МЕГА подключена верно? Команды программирования М128 должны поступать на ноги PDI и PDO. Ногу /PEN подтяните к питанию, ногу SCK к земле через резисторы. 2) Адаптер с исправен? Несмотря на то что вы уже через него шили 1200 и тини26, проверьте прохождение сигналов и их качество, особенно клока. 3) Какая строчка передавалась в AVReal? 4) Что он ответил? В сложном случае получите отладочный вывод при помощи ключа -% и не стесняйтесь, прикладывайте отчет программатора. :) У меня используется такая строчка при первом программировании М128 через Makefile: fuses: $(project).hex avreal32 +ATMEGA128 -ab -p378 -o800 -fM103C=1,JTAGEN=1,CKSEL=0 -w -v $< Означает следующее: - используется кристалл М128 - используется адаптер семейства ByteBlaster - адрес параллельного порта 378 hex - частота тактового генератора 800 кГц Фьюзы: - отключить режим совместимости с М103 - отключить JTAG - использовать внешний клок ( :excl: ) Задача: - записывать - проверять Значок $< использовать файл, указанный в $(project).hex Надеюсь, ничего не забыл. С уважением.
  10. 1. У М128 при использовании JTAG нельзя использовать половину порта как I/O (datasheet,80); 2. При использовании только JTAG можно Cyclone и М128 соединить цепочкой и обойтись одним разъемом, будет ли это работать и заливать EPCS не проверял (и не собирался :) ); 3. AVRStudio использует собственный JTAGICE, так что потребуется и Altera Blaster и ICE, два шнура, хоть тресни; 4. Отлаживать программу быстрее получается головой. Первое, конечно, определяющее. Дальше остаются вопросы личных предпочтений и наработок (Использую gcc-avr из дистрибутиве WinAVR, AVReal, ByteBlaster, причем начал использовать, когда AVR JTAGICE еще не было). С уважением.
  11. Приятной беседы! По-моему, вы смотрите на ситуацию немного односторонне. Вот уменя на плате стоит ATMEGA128L и EP1C3T144. Мне удалось обоитись одним разъемом программирования, при этом не отключая BBII я могу: 1) программировать ATMEGA128 при помощи AVReal; 2) заливать прошивку в Cyclone для быстрой отладки; 3) программировать EPCS через Cyclone. Я могу конечно представить себе, что у меня на плате два разъема и к ним подключены два шнура от ПЭВМ, или один разъем и я бегаю и перетыкаю шнуры, но согласитесь, это неудобно. С уважением. CONTROLLER_P4.pdf
  12. Не путайте .include и #include :excl: .include - директива ассемблера, аргумент только в кавычках. INCLUDE - Include another file The INCLUDE directive tells the Assembler to start reading from a specified file. The Assembler then assembles the specified file until end of file (EOF) or an EXIT directive is encountered. An included file may itself contain INCLUDE directives. Syntax: .INCLUDE "filename" #include - директива препроцессора, аргумент как в кавычках, так и в угловых скобках. Syntax #include "file" #include <file> Description Include a file. The two forms differ in that (1) searches the current working directory first, and is functionally equivalent with the assembler .include directive. (2) does not search the current working directory. Both forms will search a built-in known place for include files supplied with the assembler. It is strongly discouraged to use absolute pathnames in #include directives, as this makes it difficult to move projects between different directories/computers. Use the -I command-line option to specify the include path, or set ut up in AVR Studio - Project - Assembler Options. С уважением.
  13. ASV По английски читаешь? Посмотри здесь, например http://www.dspguru.com/info/faqs/index.htm
  14. Терминология используется, например, фирмой Motorola при управлении ключами инвертора напряжения. Комплиментарный ШИМ - это когда за период ШИМ открываются оба ключа в стойке. Независимый ШИМ - когда за период ШИМ открывается только один ключ в стойке. Будьте любезны, бросьте ссылочку. У меня впечатление, что терминология используется неверно и только запутывает.
  15. А что Вы понимаете под терминами "комплементарная ШИМ" и "независимая ШИМ"?
  16. Поскольку я CVS использую редко, то каждый раз вспоминать команды (или читать документацию) только зря время терять. Использую InnoCVS с сайта www.jrsoftware.org. Довольно простая оболочка к CVS, есть пример работы. Посмотри - думаю понравится. (WinCVS и прочие смотрел, пользовал, и забыл о них).
×
×
  • Создать...