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

Big_nikolas

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

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

  • Посещение

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


  1. Да, в AVRStudio 4.12 SP3 build 460 была проблемма с WinAVR проектами, висла при включении некоторых хеадоров, например "eeprom.h" Обновите AVRStudio до SP4 build 498, взять можно отсюда: http://www.atmel.no/beta_ware/ Анатолий. Спасибо за совет, я как раз скачал правда с другого сайта и проверил, всё заработало. Ну это конечно дурдом. Какие интересно ещё подводные камни у AVRStudio. Они ещё, я смотрю, исправили поиск по тексту. Терь ставишь курсор на текст и он в find what ставит что надо.
  2. Странно :blink: , а с зачем тогда эта строчка: #include <avr/signal.h> в 060421 signal.h - пустой, или Вы на Warning'и не смотрите? PS: у меня компилируется нормально с AVR-Studio build 498. Это я для примера написал, при каких библиотеках не зависает. А так зависает по страшному
  3. WinAVR 20060421 SP2 стоит
  4. Отладка в AVRStudio

    Всем привет! Столкнулся вот с какой проблемой. Подключаю библиотеку #include <stdio.h> или #include <string.h> и AVRStudio напрочь зависает. Ещё раз запускаю AVRStudio и программу, так он виснет сразу после загрузки программы и ничего сделать немогу. Единственное что я сделал это удалил директурию default в директории проекте. Тогда хоть AVRStudio c программой загружается. Но виснить при компиляции данных библиотек, может ещё какие нибудь библиотеки зависают, я не знаю. билбиотеки: #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> #include <avr/delay.h> у меня проходят, ни чего не зависает. Версия AVRStudio 4.14 build 460. Мож кто сталкивался, помогите плз. :(
  5. Спасибо большое! Тема закрыта. Заработало ОЗУ, а также заработал и бит порта F как цифровой выход, паралельно с другим входом порта F как АЦП Обязательно знать всем кто связывается с Atmega128: Режим совместимости с ATmega103 Если запрограммировать конфигурационный бит M103C, то ATmega128 будет функционировать в режиме совместимости с ATmega103, настраивая ОЗУ, линии ввода-вывода и векторы прерываний как описано выше. Однако, некоторые новые функции ATmega128 в этом режиме станут недоступными. Данные функции перечислены ниже: Один УСАПП вместо двух, только асинхронный режим. Доступны только 8 младших разрядов в регистре скорости связи. Один 16-разр. таймер-счетчик с двумя регистрами сравнения вместо двух 16-разр. таймер-счетчиков с тремя регистрами сравнения. Не поддерживается двухпроводной последовательный интерфейс. Порт C действует только на вывод. Порт G выполняет только альтернативные функции (не универсальный ввод-вывод). Порт F действует только как цифровой ввод в дополнение к аналоговому вводу к АЦП. Не поддерживаются возможности автономного программирования из загрузочного сектора. Не возможно регулировать частоту внутреннего калиброванного RC-генератора. Интерфейс внешней памяти не может освободить неиспользуемые адресные сигналы для задач универсального ввода-вывода, не конфигурируются различные паузы для разных диапазонов адресов внешней памяти. Кроме того, для большей совместимости с ATmega103 выполнены другие незначительные изменения: В регистре MCUCSR присутствуют только EXTRF и PORF. Временная последовательность не требуется для изменения периода переполнения сторожевого таймера. Запросы на внешние прерывания 3 - 0 генерируются только по уровню входного сигнала. УСАПП не имеет буфера FIFO, поэтому, переполнение при приеме данных происходит раньше. Неиспользуемые биты ввода-вывода у ATmega103 должны быть сброшены (запись 0) для гарантирования одинакового функционирования в составе ATmega128.
  6. То что значения в RAM от rnd я знаю. Компилятор стек определяет в конец память на фото видно белом по чёрному по адресу 10FF и не работает. А когда я сам в программе указал адрес $0FEE, то всё заработало. Если обратите внимание на предущей картинке числа одинаковые 81, вот эти ячейки я поменят не могу, а другие могу в реальном времени. Действительно я пользуюсь winAVR.
  7. Спасибо Klop что откликнулся. Но дело, по ходу, в другом. Чего я обнаружил: У Atmega128 внутреннее ОЗУ с $0100 по $10FF. Так вот, компилятор С естественно указатель стека записывает в конец ОЗУ. НО! как видно из приложенного фото, ОЗУ забито непонятно чем, начиная с адреса $0FFE по $10FF записано хрен знает што и я даже изменить это значение не могу. Взял специально в программе указал стек $0FEE и у меня всё заработало. ЧТО ЭТО? может я настройки какие то в AVRstudio не сделал, но микросхему atmega128 я выбрал, он память определил правильно. Или же это что-то с контроллером? тогда как проверить?
  8. Помогите. AVRstudio+Jtag+Atmega128

    Всем привет! Помогите разобраться, плиз. Накалякал простую программу: #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> #define Freq 16000000 SIGNAL(SIG_OVERFLOW1) { TCNT1 = 0x10000 - (Freq / 1024); PORTA ^= 0x01; } int main (void) { DDRA = 0x01; TCCR1A = 0; TCCR1B = 5; TCNT1 = 0x10000 - (Freq / 1024); TIFR = 0; TIMSK = 0x04; sei(); while(1); } Подключил JTAGice собранный своими руками. Всё вроде нормально. Запустил программу, эмулятор зашуршал, светодиодик через каждую секунду замигал (на тестируемой плате) см. программу. Поставил breakpoint на начало прерывания, всё нормально. Остановился в прерывании, жму RUN, тоже всё нормально возвращается к breakpoint. Начинаю делать step into, когда доходит до конца подпрограммы прерывания и как-бы зависает. Нажимаю на паузу он высвечивает окно Дизассемблера и показывает что жёлтая стрелочка находится вне телы программы на не понятном адресе. Посмотрел окно памяти DATA а там о ужас непонятные числа и причём вся область, и когда он возвращается из подпрограммы он выходит по лже-значениям в DATA, а не по значению адреса сохраннём стеком. За што зацепится, даже ума не приложу. Мож кто подскажет, ЧТО ЭТО?
  9. EEPROM в ATTINY2313

    Мляя! я сёня с утра включил плату и она НЕРАБОТЕТ. потом вроде стала работать с переменным успехом. Сижу голову ломаю. Вощем посмотрел, команда которая выдает в канал информацию о значении которое записывается в EEPROM находется в п/п EEPROMа. А значение-то не меняется, значит до п/п EEPROM не доходит. Что может быть, ума не приложу. Повторюсь программа работала 4 месяца на объекте. Какие могут факторы павлиять. Да кстати кварц внешний.
  10. EEPROM в ATTINY2313

    Спасиба всем что откликнулись! Ну по порядку: Не, незапрещал. Ща попробую! Во, заработало СПАСИБО. Тока у меня возник вопрос, а чего она 4 месяца работала и отладочные программы работали. А тут раз и перестало всё работать. Требуется уточнение, выберите верное утверждение или добавьте свое если все неверны: 1. не работают все программы, даже старые отладочные на всех МК Tiny2313; 2. не работает конкретная программа на разных МК; 3. перестали работать ваши отладочные программы на конкретном МК; 4. не работает конкретная программа в конкретном устройстве. ближе 3 пункт. Мало того что отладочные перестали работать, но и боевая тоже нолик лишний написали. и дествительно, уточнить надо Сори. Ноликом обшибся
  11. EEPROM в ATTINY2313

    Всем привет! У меня возник вопрос. Написал прогу для attiny2313 в том числе и п/п чтения/записи EEPROM. Так вот, опробовали всё работает. Прошло 4 месяца и тю-тю перестало работать. Разбираюсь в чём дело. Не работает EEPROM. (подумал перестарался с записью) но цикл 100000. ладно пусть. Взял новый контроллер перепаял таже фигня. Программа напроч отказывается работать с EEPROM. Причём есть несколько версий моих программ на которых я отлаживал, всё было нормально. Но тут всё перестало работать. Вчём дело? Я пока в тупике. Плата вроде работает, т.к. работа осуществляется по RS-485 (канал работает).
  12. Мы используем "готовые" устройсва (типа SICK) - необходимы только размеры под крепление , тип соединителя и интерфейс. Привязывание механики не наш профель.
  13. А реально кто-нибуть работал больше чем на 1 м. Мы реально видели только устройства с таблеткой/ключ
  14. Не знаю сколько разрядов и сколько оборотов, мы использовали готовые устройства. Длины не хватает. А наводки на такой длине? Грязь и пионеры?
  15. Всем большое спасибо за внимание к нашей проблеме! Очень большая просьба внимательно читайте предыдущие сообщения, приходится повторятся с условиями в которых приходится работать. Объект перемещается по стальной поверхности, скользит, электрического контакта с поверхностью нет. Привод внешний через тросы. Вся конструкция заземлена через линии связи, длина связей не меняется. Среда не прозрачная для видимого диапазона, для ультразвука среда не стабильная и помех много. При использовании абсолютных инкодоров из известных нам не хватает длины
  16. Можно не сверлить - наклеить на напрявляющие сбоку ленту от приводного пластикового ремня - такого как в ринтерах каретку таскают - они не дорогие. Прикрыть кожухом - чтоб мужики ногой не пнули. По этой ленте пластиковую шестеренку прижимать слегка с тахометром - точность если откалибровать микропроцессором может и 1 мм получиться. Можно не клеить, достаночно натянуль. Ремни такие выпускаются для конвееров, кажется в белорусии. Но хотелось получить способ определения координаты сразу по включению питания. Во всех способах с метками и лунками необходимо ехать до начала, затем считать. Интересует способ измерения ультразвуком по стали и радио.
  17. Из российских "Подий", импорт www.daetwyler.net, но своя специфика. А причем тут LIN? Инфа идет по одному проводнику, фронты завалены как хочеш, только дальность до 40м и не более 16 устройств . Вроде. Надо дальше и больше устройств. Витую пару в кабель загнать, чтобы долго работал на изгиб - денег стоит. Без витой дешевле.
  18. Вы представляете что значит двигаться со скоростью 4м/с, и что будет с вашей "защелкой". А про разметку через 1мм.... При мощности излучения до единиц ватт - безвредно (реально - не более 100-200 милливатт, но обычно в разы меньше). Конечно, персонал не должен заглядывать в рупор антенны - устройство просто измерит расстояние до любопытного носа, а не до объекта наблюдения. Реальное устройство есть? Купить и проверить. Вот так приблизительно и движемся. А хотелось чего-нибуть красивого.
  19. В среднем за последнее время медь подорожала в 1,5 раза. Если использовать спец, кабели (сила+витая пара+ .....+несущие элементы) по сравнению с ширпотребом (типа провода для сетей, пожарной сигнализации) существенно. Выбросить витую пару метр - станет дешевле, а метров этих набегает о-го-го.
  20. Измерить сопротивление не возможно, всё зазамлено из условий. Датчики конечного положения (типа SICK) нам известны, слишком дороги для массового применения. С механикой у нас сложности. Требуется точность на всем пути. От реперных точек хочется уйти, оставить две, в начале и конце. Колесо не пойдет, как писал, мы скользим, поверхность не сухая. В зарубежных лифтах используется что-то типа магнитной ленты, видел в авто. центре. Что-нибуть подобное есть?
  21. Нам известны конечные кодеры с вытяжным тросом только на 50м. Да и дорого. Просто инкодор - снял напругу или сдвинул принудительно - прошу на реперную точку.
  22. Ща скользит. Привод отдельно, обьек двигаем как бурлаки, тросом.
×
×
  • Создать...