Jump to content

windas

Members
  • Content Count

    14
  • Joined

  • Last visited

Community Reputation

0 Обычный

About windas

  • Rank
    Новенький
  • Birthday 03/02/1966

Информация

  • Пол
    Мужчина
  • Город
    Владимир

Электроника

  • Стаж в электронике
    Более 20 лет
  1. Наконец то свершилось!!!! Методом проб и тыка получилось. При создании проекта я выбирал создать файл GCC С++ Exe..... Выбрал GCC С Exe... Все про компилировалось. Только не понятно, чем ему не нравится С++. Ну да ладно, главное получилось. Столько месяцев пытался на Студию перейти и из-за этого не мог. Как всегда А ларчик просто открывался, хотя и не понятно почему. Всем спасибо кто откликнулся. Я бы еще не известно сколько ковырялся.
  2. Прошу прощения. Подскажите еще раз. Пытаюсь перейти на Atmel Studio. Готов разбить компьютер))). Не могу собрать проект. Не подключается библиотека. Из-за этого и выбрал CVAVR. Там файлик выбрал и все работает. Тут танцы с бубном, зла не хватает. Весь инет перерыл. Скриншот прикрепил. Гляньте плз. Что не так? Где то какая то настройка не так стоит или файлы в проект не так добавляю. Не получится- вернусь на CVAVR. Из-за какой то фигни, столько нервов. 11111.rar
  3. Пока оставил свой код, только упростил немного и использовал массив как в вашем варианте. Доделаю остальное, вернусь к совершенствованию.
  4. Там при mig==1 -мигают минуты (первые 2 разряда), при mig==2 -мигают секунды (вторые 2 разряда). При mig==0 ни чего не мигает. mig1 задает частоту мигания. Уже голову сломал. При в ставке старого кода в AtmelStudio, ругается на строчки в case с переменными mig1,2,3,4. Студия не принимает static внутри case ? Не могу понять (запомнить, разобраться) что делают комбинации ^,~,|,=, &. Что они значат знаю, как работают-не очень. Поэтому сую их везде пока не заработает)). За литературу спасибо, возьму на вооружение. У меня книжки (бумажные) Белова А.В. , CVAVR и несколько по С++ ну и интернет.
  5. Изучаю Ваш код. Конечно чувствуется рука профессионала. Многие моменты упростились. Но я планировал сначала сделать как есть, что бы работало. А потом эксперементировать-оптимизировать. А то оптимизируешь, а потом фиг найдешь из-за чего не работает)). Насчет segment[]=0, хз.. на всякий случай, почему то подумал, что нужно. Потом проверю. На счет IND_UP() Задумка хороша, но там пропала функция мигания минут или секунд в зависимости от того что устанавливаешь(как на эл.часах когда время устанавливаешь) при установке таймера. Сейчас весь вечер просидел, думал как это сделать с учетом вашего варианта кода. Пока не вышло. Много if. И они странные, не как на Fox Pro)). Хочу перейти на AVR Studio. Там и отладчик есть и код читабельней получается чем в CVAVR. Но в начале CVAVR полегче показался, легче освоился. Не подскажете, где почитать про аппаратный звук без прерываний. Я еще не сталкивался. В книжке Белова А.В. то же нет. Согласен, можно и без звука, но делаю все по максимуму. Т.к. Схема спаяна, легко на ней отлаживать и учится. Хочу еще, что бы последнее использованое время запоминало и при включении сразу устанавалось. Но это следующий шаг, еще не вникал. Ем слона частями)). А вообще, задумка, самогонный аппарат компьютерезировать, спирт делать.)) Но пока не освою все элементы не возмусь (температура, термопара, LCD, расход воды, регулировка тенов и прочее). От вариантов ваших программ не откажусь. Благодаря анализу кода, узнаешь алгоритмы и способы решения некоторых задач. Делаю ламповый усилитель, но увлекся прогаммированием, и забросил, блин. Но есть свой плюс, освою AVR, сделаю индикаторы и громкость к нему. Еще раз спасибо за помощь.
  6. Ребят! Спасибо. Разобрался. Все правильно. Таймер выставлял в режиме Normal. А надо в ШИМ в СТС. СТС я считал, что это функция выхода совпадения (Outp.A). Писк появился. Правда модулируется чем то (как свисток). Буду копать. Слава богу сдвинулось с мертвой точки. COKPOWEHEU Спасибо. Код посмотрю и обязательно проанализирую. Конечно, еще далеко до совершенства. Некоторые моменты может и лишние, иногда ставлю по аналогии с другими примерами. Работает - хорошо. Боюсь запутаться. Еще раз спасибо. Если не возражаете, может еще что спрошу потом. Обещаю не надоедать)). А то спросить не у кого. Книжек на покупал, но там всех ответов не найдешь. Какой смысл менять TCNT2 от 0x81 до 0xFF, а сравнивать значение с 0x34? Это я пытался еще на второй таймер звук вешать. Забыл убрать))
  7. Т.е. предлагаете звук повесить на OCR1A, а секунды считать по OCR1B? Попробую. Хотя изначально секунды делал по переполнению счетчика, а звук по совпадению А.
  8. Хм. Я делал 2 прерывания по совпадению OCR1A - считает секунды и OCR1B - генерирует звук. Разве не может быть одно прерывания по совпадению А и другое прерывание по совпадению В? Вроде изучая чужие коды такие варианты были. Объясните, плз, если чего то не до понимаю. то тупо поставьте баззер (зуммер) со встроенным генератором. СтОит всего раза в три больше, чем без генератора, но все равно копейки. Я хочу изучить программирование и использовать практически. Я вобщем то радиолюбитель со стажем. Немного программировал на Fox Pro и 1с. Что бы облегчить себе жизнь, мог бы использовать готовый таймер из китая. Он у меня работает с УФ лампами. Но задача изучить и сделать самому. И это пока первый проект, на котором учусь. И его можно было бы упростить, но специально выбираю сложный путь, что бы учится. У меня есть несколько материнок, но там простые пищалки. Но я, как и писал выше, не ищу легких путей)). Чем сложнее задача, тем больше узнаю. Поменять функции прерываний местами. Тогда для получения частоты на линии порта PB2 (при тактовой 4МГц) потребуется такая настройка таймера: TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (1<<COM1B0) | (0<<WGM11) | (0<<WGM10); TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (1<<WGM12) | (0<<CS12) | (1<<CS11) | (0<<CS10); OCR1AH=0x00; OCR1AL=0x66; Навскидку. Приду домой попробую повесить секунды на OCR1B, a звук на OCR1A. хотя я вообще убирал второе прерывание, что бы оно ни как не влияло. Все равно эффект тот же. Или вообще все убрать(индикаторы, секунды, энкодер), оставить только код звука и проверить, будет ли работать. Если нет, значит фьюзы. (хотя секунды ведь тикают, динамическая инд.работает, энкодер работает.) У меня схема уже спаяна, использую как отладочную плату. Написал код - сразу загрузил - сразу проверил. К стате, если дрыгать ножкой в основном теле программы, ведь должно быть 4мГц или около того? Пробовал так делать, результат тот же, тарахтит. Такое ощущение что работает на частоте опроса энкодера или динамической индикации.
  9. Если не в том виде выложил, подскажите как лучше. uf.rar
  10. Не забыл. Убираю предделитель - тарахтит быстрее, но все равно тарахтит, а не пищит.
  11. Так и делаю. Таймер Т1_B сброс по совпадении. Хотя перепробовал уже все режимы. Все равно только тарахтит.
  12. Здравствуйте! Начал осваивать программирование AVR. Делаю таймер для засветки фоторезиста на уф. светодиодах. Вроде программа почти готова, но уперся в звук. Думал, что самое легкое, ан нет. Суть в следующем. По окончании работы таймера, хочу сделать сигнал об окончании(какой не важно, лишь бы пискнул). Но не выходит. Идет простое щелкание, тикание, тарахтение. Слишком малая частота и не могу добиться нужной. Использую Atmega8. 4 мегагерца. Пищалка hy-05 hycom через транзистор. Таймер Т0 обслуживает динамическую индикацию. Таймер Т1_А - считает секунды, Таймер Т2 - опрос энкодера и кнопки. Все работает вроде нормально. Под звук использую Т1_В без делителя. Все равно трещит, а не пищит. Убирал Т1, думал как то влияет - не влияет. Менял ОСR1B - частота меняется, но не сильно. Дрыгал ножкой в основном блоке программы, все равно не пищит а тарахтит, зараза. Вообщем не могу заставить генерировать 2400гц для пищалки. Запарился уже. Можно сделать генератор отдельно, но хочу добить программно. Все равно потом нужно будет в других проектах. Подскажите, где копать? Может какой другой таймер влияет из-за ошибки?(но ведь все работает). Может фьюзы? Но опять же другие таймеры работают. Такое ощущение, что вся схема работает на пониженой частоте, но работает. Подскажите где копать, на что еще внимание обратить? Что почитать? Блин, из-за какого то писка все встало. Заранее спасибо.
×
×
  • Create New...