Например TDA7294

Форум РадиоКот • Просмотр темы - CodeVision AVR в вопросах и ответах
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Ср ноя 12, 2025 15:26:55

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 8366 ]     ... , , , 21, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн сен 29, 2008 18:31:59 
Первый раз сказал Мяу!

Зарегистрирован: Ср июл 09, 2008 11:48:16
Сообщений: 36
Откуда: Обнинск
Рейтинг сообщения: 0
Привет!
Написал альтернативную функцию микросекундной задержки на Т/С1, отлаживаю в MVLAB.
Частоту кварца поставил 8 000 000 Гц, деление частоты задал 8 - один счёт таймера это 1 микросекунда.

Проблемы такие:

1)Функция не считает требуемого количества времени, подскажите почему?
2)Как в VMLAB выставить медленную симуляцию - что-бы можно было наблюдать заметное течение микросекунд?
3) В регистр TCCR1B число 26 не записывается (по команде), а пишется 10


Вложения:
1.rar [17 KiB]
Скачиваний: 285
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн сен 29, 2008 18:40:44 
Э...
Аватар пользователя

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 0
KIP писал(а):
2) Как в VMLAB выставить медленную симуляцию - что-бы можно было наблюдать заметное течение микросекунд?

1 способ: Можно включить анимацию кода - типа кинопленки вверху в меню.

2 способ: Наверно можно в диспечере задач виндоус ресурсы ужать проге и она будет считать медленней.

3 способ: Можно 2 МК на схему кинуть и в нем сделать точку останова каждую микросекунду например.

KIP писал(а):
3) В регистр TCCR1B число 26 не записывается (по команде), а пишется 10

Наверно глюк VMLAB - так как даже в ручную бит_4 не меняется !
а другие биты (кроме 5) меняются мышкой.

А зачем тебе менять бит_4 ?

KIP писал(а):
1) почему мало считает


У меня 153 сек получилось, разберись с алгоритмом. и надобы сбросов вочдога WDR напихать в функцию паузы.

Изображение

=====

CVAVR 2 заругался что переменная не INT и не скомпилил пока я не заменил, а CVAVR скомпилил и с char - может в этом дело.

_________________
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн сен 29, 2008 19:55:34 
Первый раз сказал Мяу!

Зарегистрирован: Ср июл 09, 2008 11:48:16
Сообщений: 36
Откуда: Обнинск
Рейтинг сообщения: 0
tych писал(а):
А зачем тебе менять бит_4?


Сейчас перепроверил по таблице режимов Т/С1 - действительно не стоит туда писать. Глаз не за тот "сброс при совпадении" ухватился.



tych писал(а):
Уменя 153 сек получилось, разберись с алгоритмом. и надобы сбросов вочдога WDR напихать в функцию паузы.?


Можно немного по подробнее-ради каких целей?



tych писал(а):
CVAVR 2 заругался что переменная не INT и не скомпилил пока я не заменил, а CVAVR скомпилил и с char - может в этом дело.


Речь об указателе unsigned char * c?


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн сен 29, 2008 20:39:37 
Первый раз сказал Мяу!

Зарегистрирован: Ср июл 09, 2008 11:48:16
Сообщений: 36
Откуда: Обнинск
Рейтинг сообщения: 0
Ничего координально не менял-заработало с погрешностью в 3-6 микросекунд.


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн сен 29, 2008 20:44:13 
Э...
Аватар пользователя

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 0
KIP писал(а):
Ничего координально не менял-заработало с погрешностью в 3-6 микросекунд.

И то ХЛЕБ !!! :lol:

_________________
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн сен 29, 2008 21:06:16 
Первый раз сказал Мяу!

Зарегистрирован: Ср июл 09, 2008 11:48:16
Сообщений: 36
Откуда: Обнинск
Рейтинг сообщения: 0
tych писал(а):
KIP писал(а):
Ничего координально не менял-заработало с погрешностью в 3-6 микросекунд.

И то ХЛЕБ !!! :lol:


Расскажи, добр человек, почему в функцию сбросы вочдога WDR желательно вставлять?


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн сен 29, 2008 21:24:18 
Э...
Аватар пользователя

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 0
KIP писал(а):
tych писал(а):
KIP писал(а):
Ничего координально не менял-заработало с погрешностью в 3-6 микросекунд.

И то ХЛЕБ !!! :lol:


Расскажи, добр человек, почему в функцию сбросы вочдога WDR желательно вставлять?

Если вы делаете функцию пауз то при паузах более длинных чем настройка WDT и при его активности МК будет ресетится.

В функции delay CVAVR встроены частые сбросы WDT.

_________________
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср окт 08, 2008 08:26:13 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Вт сен 30, 2008 09:23:14
Сообщений: 209
Откуда: Краснодарский край
Рейтинг сообщения: 0
Люди! Подскажите. В CVAVR нет чипа для прошивки Tinny 11,15? Написал программку для Т11 и хочу повторить схемку из раздела Схемы на Т15 а прошить не чем. Может плуги какието можно подцепить? IC Prog так же не обладает списком из Т11 и Т15.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср окт 08, 2008 10:22:56 
Э...
Аватар пользователя

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 0
MegaRazoR писал(а):
Пишу программу на СИ в Code Vision AVR 1.25.9. Как узнать какой адрес Code Vision AVR назначил для данной переменной ? Смотрел сгенерированный асм файл - так и не понял что к чему. Куча макросов и в конце мой код на СИ весь закоментированный. Вот кусок с объявленными глобальными переменными:
Код:
;      22 #include <delay>
;      23 #define ADC_VREF_TYPE 0xE0 // 1110 0000 - 7,6(internal 2.56V) 5(left adjust) 4-0(channel)
;      24 unsigned char tc0h;
;      25 unsigned char tc2h0;
;      26 unsigned char tc2h1;
;      27 unsigned char tc2h2;
;      28 unsigned char adc_data;
;      29 bit rdytrm=0x00;
;      30 unsigned int chnl;
;      31 unsigned char adcdata[512][3];
_adcdata:
   .BYTE 0x600

Здесь видно что для переменной adcdata компилятор зарезервировал память, а вот для других переменных где ?
Вопорс возник в связи с тем что при симуляции в Proteus в окне watch хочется увидеть значение данной переменой (chnl), т.к. в пошаговой симуляции протеус игнорирует конструкции if(){}; связанные с этой переменной.


В CVAVR слева есть навигатор по проекту - там смотри переменные и их адреса.

_________________
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср окт 08, 2008 10:59:15 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Вт сен 30, 2008 09:23:14
Сообщений: 209
Откуда: Краснодарский край
Рейтинг сообщения: 0
Да. В пони есть 12 и 15 Тини, а 11 нет. Они уже не поддерживаются что ли? На кой я ее купил...


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср окт 08, 2008 13:51:04 
Э...
Аватар пользователя

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 0
AndyWorld писал(а):
В пони Тини11 нет. Они уже не поддерживаются что ли? На кой я ее купил...

В ней и РАМ-ы наверно нету.

В своей домашней страничке я СИЛЬНО рекомендую использовать те компоненты под которые у вас есть ИНСТРУМЕНТАРИЙ !

_________________
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт окт 16, 2008 22:00:13 
Родился

Зарегистрирован: Пт сен 05, 2008 05:15:14
Сообщений: 16
Рейтинг сообщения: 0
Почему вот так можно
Код:
delay_ms(x);
а так выдает ошибку
Код:
delay_us(x);
мне нужно именно в микросекундах.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт окт 16, 2008 22:06:21 
Э...
Аватар пользователя

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 0
Так реализованы эти функции. мкС только константы.

Можно свою функцию малых задержек написать. Примеры есть вроде в FAQ в моей домашней страничке.

_________________
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт окт 16, 2008 22:21:00 
Родился

Зарегистрирован: Пт сен 05, 2008 05:15:14
Сообщений: 16
Рейтинг сообщения: 0
Что то я в FAQе не нашел про это,можете здесь обьяснить,как это сделать ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт окт 16, 2008 22:36:41 
Э...
Аватар пользователя

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 0
кошак писал(а):
Что то я в FAQе не нашел про это,можете здесь обьяснить,как это сделать ?

Я щас винду переставляю и текст посмотреть
не могу но пункт называется:

_0 паузы микро в тактах и переменной величины как делать.htm

_01 IAR паузы в микро мили и секундах.txt

И другие пункты FAQ в названии которых есть слово "пауз"

Если решите ваш вопрос - раскажите плиз здесь.

_________________
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт окт 17, 2008 19:36:59 
Родился

Зарегистрирован: Пт сен 05, 2008 05:15:14
Сообщений: 16
Рейтинг сообщения: 0
В AVRFAQе для CVAVRа советов нет(насчет пауз),а IARовские приделать не получается,похоже придется делать цикл и туда вставить (х),может быть еще кто то что то посоветует.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт окт 17, 2008 19:54:44 
Э...
Аватар пользователя

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 0
кошак писал(а):
В AVRFAQе для CVAVRа советов нет(насчет пауз),а IARовские приделать не получается,похоже придется делать цикл и туда вставить (х),может быть еще кто то что то посоветует.


Неужели из КУЧИ вариантов в "_0 паузы микро в тактах и переменной величины как делать.htm" ни один не подходит в основу ?

Прикладываю его сюда - спецы глянут и помогут наверняка нам чайникам. переименуте в .htm

В FAQ AVR я нашел еще про паузы:
Цитата:
В файле WinAVR\avr\include\util\delay.h
есть четыре функции задержки
Код:
static inline void _delay_loop_1(uint8_t __count) __attribute__((always_inline));
static inline void _delay_loop_2(uint16_t __count) __attribute__((always_inline));
static inline void _delay_us(double __us) __attribute__((always_inline));
static inline void _delay_ms(double __ms) __attribute__((always_inline));

Вроде и для CVAVR подправить можно.


Вложения:
delay.h [6.35 KiB]
Скачиваний: 359
_0 паузы микро в тактах.htm .txt [6.2 KiB]
Скачиваний: 406

_________________
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт окт 17, 2008 20:07:28 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2128
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18423
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
вы меня извините, конечно, как профана CVAVR... но разве в нем нет встроенных delay_ms() и delay_us()? зачем из WinAVR портировать?

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт окт 17, 2008 20:20:18 
Э...
Аватар пользователя

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 0
Человеку ( и человечеству У-целом !!! ) нужна delay_us(x) с переменным аргументом x !
Встроеная в CVAVR функуия с константой в скобках.

_________________
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт окт 17, 2008 20:31:23 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2128
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18423
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
ощущение такое, что я к человечеству не принадлежу... мне это никогда не было нужно :( и с трудом могу придумать, для чего оно может быть необходимо...

может, это потому, что я WinAVR использую? хотя и там задержки только на десятки-сотни миллисекунд делаю, когда не охота связываться с таймерами-прерываниями... и до сих пор обходился константами в аргументе...

странно... ну расскажите, для чего переменная в аргументе требуется человечеству?!

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 8366 ]     ... , , , 21, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 25


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y