Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту


 
Опции темы

CodeVisionAVR 2.60

Непрочитано 05.02.2014, 16:51  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: CodeVisionAVR 2.60

А почему бы не делать это последовательно, без ожиданий?

Настройте сначала вход, а уж потом запускайте АЦП.
Реклама:
omercury вне форума  
Непрочитано 05.02.2014, 17:11  
vgtmaster
Прописка
 
Регистрация: 28.04.2008
Сообщений: 141
Сказал спасибо: 11
Сказали Спасибо 18 раз(а) в 9 сообщении(ях)
vgtmaster на пути к лучшему
По умолчанию Re: CodeVisionAVR 2.60

Сообщение от omercury Посмотреть сообщение
А почему бы не делать это последовательно, без ожиданий?

Настройте сначала вход, а уж потом запускайте АЦП.
Что только не делал, не чего не получается.
vgtmaster вне форума  
Непрочитано 05.02.2014, 18:01  
Godzilla82
Почётный гражданин KAZUS.RUN
 
Регистрация: 29.10.2006
Сообщений: 1,449
Сказал спасибо: 99
Сказали Спасибо 318 раз(а) в 234 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: CodeVisionAVR 2.60

Сообщение от vgtmaster Посмотреть сообщение
1. Зачем нужен цикл именно от 0 до 99? Это время (условно) вывода на индикацию значений АЦП0 по завершении цикла переходим в дугой цикл и выводим значения АЦП1 и так по кругу.
1. Вывод информации на дисплей у вас где?

2. Переменная adc_counter где и когда меняется?

3. Время 1 цикла (из 99) примерно сколько (в мкс)?

4. Время одного измерения АЦП какое (в мкс)?
Godzilla82 вне форума  
Непрочитано 05.02.2014, 19:17  
seanta
Частый гость
 
Регистрация: 24.03.2008
Сообщений: 38
Сказал спасибо: 4,141
Сказали Спасибо 39 раз(а) в 13 сообщении(ях)
seanta на пути к лучшему
По умолчанию Re: CodeVisionAVR 2.60

Сообщение от Saadov Посмотреть сообщение
Я знаю только одно место где эта программа находится на лечении. 2.05.6 там последняя.
Буду очень признателен, если кто-нибудь положит ее мне на мыло [email protected]
seanta вне форума  
Непрочитано 05.02.2014, 20:52  
vgtmaster
Прописка
 
Регистрация: 28.04.2008
Сообщений: 141
Сказал спасибо: 11
Сказали Спасибо 18 раз(а) в 9 сообщении(ях)
vgtmaster на пути к лучшему
По умолчанию Re: CodeVisionAVR 2.60

Сообщение от Godzilla82 Посмотреть сообщение
1. Вывод информации на дисплей у вас где?

2. Переменная adc_counter где и когда меняется?

3. Время 1 цикла (из 99) примерно сколько (в мкс)?

4. Время одного измерения АЦП какое (в мкс)?
1. Вывод информации на дисплей у вас где? обычный семисегментный индикатор.

2. Переменная adc_counter где и когда меняется?
// Прерывание по окончанию преобразования АЦП
ISR (ADC_vect)
{
value = value + (ADC*11/4);
adc_counter++;
}


3. Время 1 цикла (из 99) примерно сколько (в мкс)?

Это время условное, в дальнейшем будет 2 - 3сек. То есть 3сек выводим на дисплей результат АЦП0, далее 3сек АЦП1 и так по переменно. Так вот, по переменно у меня не получается сделать. И я прошу помощи, кто мог бы помочь мне решить данную проблему.

4. Время одного измерения АЦП какое (в мкс)? Я думаю это непринципиально.
vgtmaster вне форума  
Непрочитано 05.02.2014, 21:33  
Godzilla82
Почётный гражданин KAZUS.RUN
 
Регистрация: 29.10.2006
Сообщений: 1,449
Сказал спасибо: 99
Сказали Спасибо 318 раз(а) в 234 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: CodeVisionAVR 2.60

1. Переменная adc_counter объявлена как volatile?
2. Перед установками параметров АЦП его надо выключать.
3. После установки всех настроек - включить.
4. И только после этого - запустить.
5. На момент сравнения переменной adc_counter прерывания надо запрещать, так как переменная двухбайтовая. Какой у неё тип, кстати?
6. В начале цикла value и adc_counter надо обнулять. На этот момент прерывания тоже надо запретить.
7. Какой тип имеет переменная value?
8. Выбора канала 2 надо делать не логическим "ИЛИ" с предыдущим значением регистра ADMUX.

Чем вам не нравится мой вариант?
Что такое ADC в прерывании?

P.S. А как на дисплее отличить 1 канал от 2-го? Никак?

Последний раз редактировалось Godzilla82; 05.02.2014 в 21:49.
Godzilla82 вне форума  
Непрочитано 06.02.2014, 00:53  
Godzilla82
Почётный гражданин KAZUS.RUN
 
Регистрация: 29.10.2006
Сообщений: 1,449
Сказал спасибо: 99
Сказали Спасибо 318 раз(а) в 234 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: CodeVisionAVR 2.60

Если уж хотите через прерывания, тогда предлагаю так:

Код:
#include ‹mega16.h›
#include ‹delay.h›

#define ADC_VREF_TYPE           (1 ‹‹ REFS1 ) | (1 ‹‹ REFS0)

unsigned char      adc_counter = 0;
unsigned int       value       = 0;
unsigned int       display     = 0;

...

interrupt [ADC_INT] void adc_isr(void)
{
value += ADCW;
adc_counter++;
if(adc_counter›63)  {
                    display = ((unsigned long int)value*11)››8;
                    adc_counter = 0;
                    value = 0;
                    }
}

void start_ch(unsigned char ch)
{
#asm("cli");
adc_counter = 0;
value = 0;
ADCSRA  &= ~(1 ‹‹ ADEN); 
ADMUX   = ADC_VREF_TYPE | ch;
ADCSRA  |= (1‹‹ADIF) | (1‹‹ADEN) | (1‹‹ADSC);
#asm("sei");
delay_ms(5000);
}

void init_adc(void)
{
ADMUX  =  ADC_VREF_TYPE;
ADCSRA = (1‹‹ADEN) | (1‹‹ADATE) | (1‹‹ADIE) | (1‹‹ADPS2) | (1‹‹ADPS1);
SFIOR  &= 0x1F;
}

void main(void)
{
init_adc();
begin:
start_ch(0);
start_ch(1);
goto begin;
}

Последний раз редактировалось Godzilla82; 06.02.2014 в 10:48.
Godzilla82 вне форума  
Непрочитано 06.02.2014, 09:49  
vgtmaster
Прописка
 
Регистрация: 28.04.2008
Сообщений: 141
Сказал спасибо: 11
Сказали Спасибо 18 раз(а) в 9 сообщении(ях)
vgtmaster на пути к лучшему
По умолчанию Re: CodeVisionAVR 2.60

Сообщение от Godzilla82 Посмотреть сообщение
1. Переменная adc_counter объявлена как volatile?
2. Перед установками параметров АЦП его надо выключать.
3. После установки всех настроек - включить.
4. И только после этого - запустить.
5. На момент сравнения переменной adc_counter прерывания надо запрещать, так как переменная двухбайтовая. Какой у неё тип, кстати?
6. В начале цикла value и adc_counter надо обнулять. На этот момент прерывания тоже надо запретить.
7. Какой тип имеет переменная value?
8. Выбора канала 2 надо делать не логическим "ИЛИ" с предыдущим значением регистра ADMUX.

Чем вам не нравится мой вариант?
Что такое ADC в прерывании?

P.S. А как на дисплее отличить 1 канал от 2-го? Никак?
Переменные объявлены так:
volatile unsigned long value;
volatile unsigned int adc_counter;

Чем вам не нравится мой вариант? Уважаемый Godzilla82 буду пробовать ваш вариант и прислушаюсь вашим советам, спасибо.
Что такое ADC в прерывании? Вектор прерывание по окончанию преобразования АЦП
vgtmaster вне форума  
Непрочитано 17.02.2014, 20:21  
Loghir
Прохожий
 
Регистрация: 04.09.2012
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Loghir на пути к лучшему
По умолчанию Re: CodeVisionAVR 2.60

Привет.
Как получить hex-файл в CodeVisionAVR 1.25.9?
Если кто может, поделитесь плз, версией 2.60 + таблетка...
Loghir вне форума  
Непрочитано 18.02.2014, 09:21  
foxii
Частый гость
 
Регистрация: 05.02.2014
Сообщений: 12
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 1 сообщении
foxii на пути к лучшему
По умолчанию Re: CodeVisionAVR 2.60

Подскажите, как подключить файл ресурса (например file.c) без использования заголовочного файла *.h, в проект в CodeVisionAVR V2.05.3. Работал в CodeVision 1.25.5 там просто добавил в проект файл си и объявил его в главном файле и всё. А CodeVisionAVR V2.05.3 ругается.
foxii вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CodeVisionAVR selevo Embedd С 11 26.02.2016 22:16
SD и CodeVisionAvr 2.04.4a sersne Микроконтроллеры, АЦП, память и т.д 29 24.03.2010 18:39
CodeVisionAVR V2.03.2 dimonbest Микроконтроллеры, АЦП, память и т.д 253 29.09.2009 22:37
New CodeVisionAVR 1.25.8 dimonbest Микроконтроллеры, АЦП, память и т.д 15 07.02.2008 12:56
Help CodeVisionAVR Serg79 Микроконтроллеры, АЦП, память и т.д 3 15.12.2005 23:32


Часовой пояс GMT +4, время: 03:30.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.