Например TDA7294

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

Текущее время: Сб авг 30, 2025 12:51:38

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


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



Начать новую тему Ответить на тему  [ Сообщений: 8295 ]    , 2, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс июн 17, 2007 23:27:44 
Э...
Аватар пользователя

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 0
Линк в моем профиле - страница 5 "Си для МК"

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс июн 17, 2007 23:45:16 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Ср мар 07, 2007 22:58:02
Сообщений: 586
Откуда: Черкассы, Украина
Рейтинг сообщения: 0
Ваш курс у меня скачанный - прочитал страницы 5.htm и 5a.htm - нашёл про violitale но про указатели там ничего нет...а так всё понял...

Хотя неважно - работает - и хорошо(щас в дебри лесть тоже не охота) я наверно просто названия битов забью в библиотеку КодВижна и на этом мои проблемы, надеюсь , закончатся

_________________
There is only 10 kind of people: those who understands binary code and those who dont!!!


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

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 0
ТРЕНЕРУЙТЕ ВНИМАНИЕ !!!

на странице 5a есть:

1.2.4. Указатели

Обчитаешься.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн июн 18, 2007 11:00:45 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Ср мар 07, 2007 22:58:02
Сообщений: 586
Откуда: Черкассы, Украина
Рейтинг сообщения: 0
Прошу прощения - неузрел... чтож последую вашему совету - буде тренироватся юзать поиск... в любом случае спасибо

_________________
There is only 10 kind of people: those who understands binary code and those who dont!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн июн 18, 2007 16:25:20 
Модератор
Аватар пользователя

Карма: 27
Рейтинг сообщений: 58
Зарегистрирован: Пн апр 03, 2006 11:43:25
Сообщений: 4517
Откуда: Санкт - Петербург
Рейтинг сообщения: 0
Медали: 3
Получил миской по аватаре (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
tych писал(а):
ТРЕНЕРУЙТЕ ВНИМАНИЕ !!!

на странице 5a есть:

1.2.4. Указатели

Обчитаешься.


И снова здравствуйте, возвращаемся к нашим баранам...
Просили же уже 1024 раза: есть что рассказать - расскажи на Форуме или напиши статью. Хочешь послать в свой курс - пиши в личку. :evil:

_________________
Оптимизм х (Опыт + Знания) = const


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн июн 18, 2007 19:28:28 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Ср мар 07, 2007 22:58:02
Сообщений: 586
Откуда: Черкассы, Украина
Рейтинг сообщения: 0
Продолжаю изучать таймеры:чего не хватает в этом коде чтобы по переполнению таймера состояние на PORTB.0 изменилось на противоположное?
Код:
#include <tiny2313>
#include <delay>

interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
        PORTB.0=~PORTB.0;
}

void main(void)
{
       
        DDRB=0xFF;
        TCCR0B|=(1<<CS00);//|(1<<CS02);
        #asm("SEI");
        while(1);
}

_________________
There is only 10 kind of people: those who understands binary code and those who dont!!!


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

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


Курс почитайте - задачи о тайцере и мастером CVAVR воспользуйтесь. Нужно включить прервание от таймера.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн июн 18, 2007 20:08:05 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Ср мар 07, 2007 22:58:02
Сообщений: 586
Откуда: Черкассы, Украина
Рейтинг сообщения: 0
tych писал(а):
Нужно включить прервание от таймера.

Да что вы говорите, не может такого быть :) .
Извините за иронию, но у меня прерывание по переполнению таймера включено
Код:
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
        PORTB.0=~PORTB.0;
}


и разрешение прерываний есть
Код:
#asm("SEI")


Вы же код мой читали....
Просто подскажите что может помешать выполнятся обработчику

_________________
There is only 10 kind of people: those who understands binary code and those who dont!!!


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

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 0
Страницу 3 курса почитайте "прерывания в AVR" - что нужно сделать кроме "СЕЙ".

Я ж написал "... ПРЕРЫВАНИЯ ОТ ТАЙМЕРА" а не только "вообще прерывания".

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн июн 18, 2007 20:49:56 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Ср мар 07, 2007 22:58:02
Сообщений: 586
Откуда: Черкассы, Украина
Рейтинг сообщения: 0
Слушай, ну хватит меня мучить.... :cry: открой секрет - чего нехватает? Я глазами проел 3-ю страницу курса, но кроме того что надо установить 7 бит статус регистра ничего не увидел... :cry:

_________________
There is only 10 kind of people: those who understands binary code and those who dont!!!


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

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


Дак читать надо ...

Вот там есть:

Цитата:
в CodeVision:

interrupt [прерывание] void adc_isr(void)
{
код выполняемый при возникновении
разрешенного локально и глобально прерывания
}


Глобально вы разрешили прерывания,

но В ТРЕТИЙ РАЗ говорю вам, нужно разрешить нужное вам прерывание локально - т.е. именно его, ТО которое вам нужно.

"таймер оверфло"

Проще всего это сделать мастером компилятора - пример в задаче 3,

либо прочитать ДШ про таймеры и прерывания и
сделать то что там написано.

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


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

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


Вложения:
cvavr.png [9.95 KiB]
Скачиваний: 1436

_________________
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн июн 18, 2007 21:25:28 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Ср мар 07, 2007 22:58:02
Сообщений: 586
Откуда: Черкассы, Украина
Рейтинг сообщения: 0
А-а-а-а-а вот оно что.... с третьего раза въехал... извините что я "Ты"кнул... эмоции+паника...

_________________
There is only 10 kind of people: those who understands binary code and those who dont!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн июн 18, 2007 23:17:09 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Ср мар 07, 2007 22:58:02
Сообщений: 586
Откуда: Черкассы, Украина
Рейтинг сообщения: 0
Ур-р-р-р-аа - зработало!!!
Для новичков сообщаю - не наступайте на грабли - читайте даташит(не знаю почему, но с даташитом мне веселее чем с Визардом)
Есть регистр в кот-ом разрешаются прерывания для таймера!!! Будте внимательны :roll:

_________________
There is only 10 kind of people: those who understands binary code and those who dont!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 19, 2007 00:06:23 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Ср мар 07, 2007 22:58:02
Сообщений: 586
Откуда: Черкассы, Украина
Рейтинг сообщения: 0
Итак: требуется критика(код глаза намозолил, скорее всего чегото очевидного не вижу, но в симуляторе вроде работает). Цели:
-антидребезг;
-реакция на нажатие один раз с момента нажатия до момента отпускания;
-должно быть реализованно в виде отдельной функции, кот-ая фозвращает состояние порта.
Собственно код
Код:
#include <tiny2313>
#include <delay>
unsigned char FrstState,ScndState,RealState,Flag;
unsigned char KeyState(void)
{
       
        FrstState=PIND;                         //Запоминаем состояние кнопок
        delay_ms(10);                           //Задержка на антидребезг
        ScndState=FrstState & PIND;             //Контрольная проверка на нажатие
        RealState=(ScndState) & ~(Flag);        //Состояние изменилось?
        Flag=ScndState;                         //Флаг для контроля состояния при след проверке
     return RealState;   
}

void main(void)
{
       
        unsigned char i=0;
        DDRB=0xFF;
        DDRD=0x00;
        while(1)
        {       
                   if (KeyState()!=0)  i++;
        }
}

_________________
There is only 10 kind of people: those who understands binary code and those who dont!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 19, 2007 07:12:21 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2117
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18405
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Negor писал(а):
Для новичков сообщаю - не наступайте на грабли - читайте даташит(не знаю почему, но с даташитом мне веселее чем с Визардом)

Голос не мальчика, но мужа: растешь, Negor! Поздравляю.

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 19, 2007 09:45:25 
Опытный кот

Зарегистрирован: Пт фев 02, 2007 10:19:58
Сообщений: 764
Откуда: Железногорск
Рейтинг сообщения: 0
Negor писал(а):
Итак: требуется критика...

есть ещё один вариант. проверяем состояние кнопок по переполнению таймера (например 100 раз в секунду)
если в предыдущий раз и в текущий раз состояние кнопки не изменилось, значит пишем это состояние в какую-либо глобальную переменную.

в основном цикле программы (да и вообще из любого места) для того чтобы узнать нажата ли кнопка или нет - достаточно заглянуть в эту переменную.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 19, 2007 18:04:43 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Ср мар 07, 2007 22:58:02
Сообщений: 586
Откуда: Черкассы, Украина
Рейтинг сообщения: 0
Кашпо писал(а):
Negor писал(а):
Итак: требуется критика...

есть ещё один вариант. проверяем состояние кнопок по переполнению таймера (например 100 раз в секунду)
если в предыдущий раз и в текущий раз состояние кнопки не изменилось, значит пишем это состояние в какую-либо глобальную переменную.

в основном цикле программы (да и вообще из любого места) для того чтобы узнать нажата ли кнопка или нет - достаточно заглянуть в эту переменную.


дело в том что главное во всей этой функции(по крайней мере я ставил приоритет именно на это) - что бы если кнопка нажата длительное время - реакции на нажатие не поступало. т.е. допустим кнопка нажата в течении десяти циклов, но реакция на нажатие была только в первом и больше не произойдёт, пока кнопку не отпустят... примерно так... а вот делать это всё по переполнению таймера - мысль хорошая...

_________________
There is only 10 kind of people: those who understands binary code and those who dont!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср июн 20, 2007 03:29:34 
Опытный кот

Зарегистрирован: Пт фев 02, 2007 10:19:58
Сообщений: 764
Откуда: Железногорск
Рейтинг сообщения: 0
Negor писал(а):
если кнопка нажата длительное время - реакции на нажатие не поступало. т.е. допустим кнопка нажата в течении десяти циклов, но реакция на нажатие была только в первом и больше не произойдёт, пока кнопку не отпустят...

т.е. типа буфера клавиатуры? я нечто подобное недавно делал. в каждом переполнении таймера, если кнопка нажата то наращивается некая глобальная переменная "счётчик". если кнопка отпущена переменная сбрасывается в ноль. При достижении счётчиком определённого значения (например 10) будет означать, что в течении последних 10 срабатываний таймера кнопка была нажата. В этом случае номер нажатой кнопки заносится в другую переменную.
Состояние этой переменной читается какой-либо функцией и после прочтения - обнуляется. таким образом одно нажатие кнопки попадёт в переменную лищь единожды и прочитается лишь единожды.

Правда оно может прочитаться даже тогда, когда кнопка уже будет отпущена. Но по крайней мере факт нажатия не прозевается процом ;-)


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср июн 20, 2007 15:55:14 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Ср мар 07, 2007 22:58:02
Сообщений: 586
Откуда: Черкассы, Украина
Рейтинг сообщения: 0
Имхо уж очень легко ты разкидываешся таймерами... я понимаю, если бы их было штук восемь... а так два таймера(я изучаю тини2313) и, как правильно заметил ARV один просто будет молотить и энергия расходуется в никуда...

_________________
There is only 10 kind of people: those who understands binary code and those who dont!!!


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

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


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

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


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

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


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