R_ura писал(а):
Сделал так. В листинге появилась запись каждой переменной в еепром. Файл для еепром не изменилс))) Может компилятор пихает данные в этот файл, если их определить как константы? Или я в настройках что-то упустил? В папке екзе файл для еепром есть, но его содержимое
:00000001FF не меняется..
Я с CV не работал. Быстренько приподнял его, наваял тестовый проект. Все нормально создается и инициализируется. При прожиге записывать оба файла, как я и говорил - .eep и .hex
Всю информацию и почерпнул из хелпа CV. Кстати, очень хороший.
там немного хитроумный способ сохранения.выбираешь программирование там сохранить файл еепром сохранешь куда тебе нужно и потом оттуда можно будет и зашивать.
Вроде и так должно меняться.только нужно не компилировать нажать кнопку,а билд проджект.
vitalik_1984 писал(а):там немного хитроумный способ сохранения.выбираешь программирование там сохранить файл еепром сохранешь куда тебе нужно и потом оттуда можно будет и зашивать.
Вроде и так должно меняться.только нужно не компилировать нажать кнопку,а билд проджект.
Если это ко мне, то отвечу. Вроде ничего хитроумного. BUILD (правильно, не compile) проект, и в папке EXE появляются три файла. Расширения .ROM, .HEX и .EEP
(Только я не находил транзистор, тем более не нюхал его )
Предыдущий юре был предназначен, но и другим не повредит.
Проверил после билд олл проджект файлс КВ полностью перестраивает проект в том числе удаляет файл .eep если память еепром не используется.
А если Оно там было и не меняется То это скорее всего compile был нажат.
А про хитроумный способ это если лень открывать папку с проектами и затем папку ЕХЕ
ut1wpr писал(а):
Я с CV не работал. Быстренько приподнял его, наваял тестовый проект. Все нормально создается и инициализируется. При прожиге записывать оба файла, как я и говорил - .eep и .hex
Всю информацию и почерпнул из хелпа CV. Кстати, очень хороший.
Удачи!
Спасибо. Так вроде бы все в порядке.
Но вылезла еще загвоздка. Теперь этот еепромовский файл не пишется в МК. Поменял на другой, тоже самое. Флеш шьется, еепром нет. Никогда не прошивал еепром, может упускаю какой нюанс?
R_ura писал(а):Но вылезла еще загвоздка. Теперь этот еепромовский файл не пишется в МК. Поменял на другой, тоже самое. Флеш шьется, еепром нет. Никогда не прошивал еепром, может упускаю какой нюанс?
А вы "внутрь" файла .eep заглядывали? Что в нем и по каким адресам разложено?
Не мешало бы глянуть на фрагмент программы с определениями переменных в eeprom.
ut1wpr писал(а):А вы "внутрь" файла .eep заглядывали? Что в нем и по каким адресам разложено?
Не мешало бы глянуть на фрагмент программы с определениями переменных в eeprom.
Вот файл .eep без определения переменных
Вот файл .eep с определением переменных
вот определение переменных и присваивание им значений
Я думаю дело в том, что я пользусь программатором MKII + АВРСТУДИО. А там я вижу требуются для флеш и для еепром файлы .hex кодвижн же выдает для еепром файл .eep.
Я пробовал прошить не хексом, а файлом из тойже папки .rom. Студия не работает с этим файлом, не прошивается он в мк.
С Кодвижн же почему-то мой программатор сейчас не дружит.. Хотя вроде работал недавно.
Файл .eep собран абсолютно в соответствии с программными определениями. Как и чем зашивать - дело личных предпочтений. Тут я вам не советчик.
У меня все шьется нормально без проблем и не первый год...
ut1wpr писал(а):Файл .eep собран абсолютно в соответствии с программными определениями. Как и чем зашивать - дело личных предпочтений. Тут я вам не советчик.
У меня все шьется нормально без проблем и не первый год...
Чем шьется? Попробовал шить программатором из под КодВижна. Флеш шьется, еепром нет..
Юра можно из КВ и в кекс сохранить, но вообще студия .eep тоже отлично принимает.
Пробуй искать в железе что то.На флеш может просто не так энергии много требуется или скорость не та стоит программирования.Окно то как раз говорит либо питания нет, либо скорость слишком большая для МК
ut1wpr писал(а):Файл .eep собран абсолютно в соответствии с программными определениями. Как и чем зашивать - дело личных предпочтений. Тут я вам не советчик.
У меня все шьется нормально без проблем и не первый год...
Чем шьется? Попробовал шить программатором из под КодВижна. Флеш шьется, еепром нет..
С давних пор пользовался внутрисхемным программатором а-ля БайтБластер и софтом от Александра Редчука. На мой взгляд, самое безошибочное сочетание. С тех пор, как купил Семерку (проблемы с реальной многозадачностью в этой системе), приобрел на Космодроме (надоело лепить всякие-разные, а потом ловить глюки-мухи) USB-ByteBlaster, поддерживаемый этим же софтом. Поддержка средами программирования (Винавр, Студия и прочая) этого программатора меня мало интересует, т.к. он прекрасно управляется из командной строки, а значит можно в любой среде натолкать макросов (ну, или как там еще). Скорость записи/чтения/верификации этого программатора вне конкуренции. А для отладки в железе и параллельного программирования (очень редко им пользуюсь, разве кто-то из знакомых попросит поправить зашитую кривоту) пользуюсь AVR Dragon-ом. Если пользоваться аккуратно - надежный девайс.
Но это, как я уже говорил, вопрос личных предпочтений. Мне просто хотелось сконцентрироваться на программировании, решении поставленных себе задач, поиске изящных и оптимальных решений. И совершенно не хотелось заниматься программаторостроением. Т.е. я сразу определился для себя, что для меня первично, а что вторично. Не сделай я этого, рано или поздно я вернулся бы к вопросу о выборе того или иного железа и софта.
Это моя точка зрения и никого ни к чему она не обязывает.
Добрый день. Возникла необходимость перемотать несколько трансов, помогите набросать программку счётчика оборотов с направлением вращения.
Датчик вращения будет выглядеть так https://picasaweb.google.com/alekseev.a ... 1866753586
Во общем то моя программа упёрлась в проверку чередования импульсов. Все свои потуги выкладывать не буду, но для примера вот такой кусок
Александр 2677 писал(а):Добрый день. Возникла необходимость перемотать несколько трансов, помогите набросать программку счётчика оборотов с направлением вращения.
Датчик вращения будет выглядеть так https://picasaweb.google.com/alekseev.a ... 1866753586
if((PINC.1)&&(!PINC.2))
{
if ((PINC.1)&&(PINC.2))//это условие выполнится только тогда, когда датчик PINC.2 успел измениться за ~ 10 тактов мк.
{
if ((!PINC.1)&&(PINC.2))//и это тоже. Итого код нерабочий. Так быстро руками колесико не вращается. :)
{ i++;};
};
};
Эту загогулину я уже понял. Я вот и пытаюсь понять как задержаться на определённом участке программы и всё время проверять когда же выражение будет истина.
Пробовал что то вроде этого точно уже не помню.
Попробуйте с прерыванием. На одной оптопаре формируете сигнал прерывания, контроллер настраиваете на срабатывание или по фронту или по спаду. Без разницы. В теле обработчика анализируете состояние второй оптопары. Если "1" - делаете инкремент счетчика. Если "0" - декремент. Правда, при ручном вращении "дребезг" будет большой проблемой. Вращение неравномерное, тайминги непредсказуемые. В таких случаях аппаратно можно защитится простейшими RS-триггерами. Можно и программно, но это существенно усложнит программу. А можно при малых скоростях вращения заменить прерывание поллингом, но для начинающего это будет сложнее. В инете можно найти немало примеров работы с валкодером, здесь та же задача. Что-то вроде этого: http://avrlab.com/node/88