Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Друг Кота
Аватара пользователя
Сообщения: 3059
Зарегистрирован: Пн май 11, 2009 14:15:00
Откуда: СПб

Сообщение *Trigger* »

Функция должна объявляться до её первого вызова.
Если при объявлении написано void main1(void), то при вызове нужно писать main1(). Второе void при объявлении обозначает отсутствие параметров функции, значит, нужно при вызове не писать параметров в скобках.
Этот пост оказался полезен? Не поленись, нажми Изображение слева!
:) :)) :)))
Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Реклама
Нашел транзистор. Понюхал.
Сообщения: 172
Зарегистрирован: Пн мар 19, 2012 13:04:11

Сообщение MS24 »

Уже разобрался, спасибо, что откликнулись! А не подскажите еще как создать случайное число? На сколько я знаю в Codevision есть функция которая создаст случайное число?
Реклама
Друг Кота
Аватара пользователя
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Сообщение Gudd-Head »

MS24 писал(а):Уже разобрался, спасибо, что откликнулись! А не подскажите еще как создать случайное число? На сколько я знаю в Codevision есть функция которая создаст случайное число?
Вот http://radiokot.ru/forum/viewtopic.php?f=20&t=5560 тема по Codevision
Вот http://radiokot.ru/forum/viewtopic.php?f=20&t=37190 тема по С/С++.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Нашел транзистор. Понюхал.
Сообщения: 172
Зарегистрирован: Пн мар 19, 2012 13:04:11

Сообщение MS24 »

У меня есть кнопки, на которые зажигают определенный диод с частями тела человека, в режиме контроль должен зажечься случ диод, и нужно
нажать на кнопку, которая соответвует этому диоду, при этом загорится диод "верно", иначе диод "Не верно"
Я создал случайное четное число , что бы в двоичном виде всегда была единица, и записал его в порт. Загорелся случайный диод, теперь мне нужно узнать какой кнопкой выбрать правильный ответ, подскажите как?
if (~(PINA) & (1<<PINA7)==0) // Режим контроль
{

random=(~rand()); // зажигаем случайный диод
random1=rand();
if ( random % 2 == 0 )
{
if (random1 > 13)
{
DDRD = 0xFF;
PORTD = random;
}
else DDRE = 0xFF;
PORTE = random;
}
else random = 6;
DDRE = 0xFF;
PORTE = random;
if (~(PINA) & (1<<PINA0)==0)
{
if ((PINA & (1<< PINA0))== random) //if ((PIND & (1<< PD0)) == 0)
{
PORTE = 0x11110111; // Светодиод верно
PORTC =0x11101111;
}
будет ли работать такой код?
Реклама
Эиком - электронные компоненты и радиодетали
Нашел транзистор. Понюхал.
Сообщения: 172
Зарегистрирован: Пн мар 19, 2012 13:04:11

Сообщение MS24 »

Вот я тупой, уже опять сам додумался ))) Я просто 3ий день прогаю, мне завтра готовый проект сдавать, поэтому постоянно спрашиваю, вы уж извините за офтоп ((
Реклама
Открыл глаза
Аватара пользователя
Сообщения: 49
Зарегистрирован: Вс дек 05, 2010 00:53:17
Откуда: Киев

Сообщение VannO))) »

Есть ли способ запустить АТмега16 на частоте большей, чем паспортные 16 МГц? Например, 20 или 24МГц? И если да, что для этого надо - внешний генератор или достаточно кварца в стандартной обвязке? Надо ли повышать напряжения питание мк?
[color=#FF80FF]Не втыкать.[/color]
Реклама
Chettuser

Сообщение Chettuser »

Это к оверлокерам. PIC'и гонятся хорошо, про AVR не знаю.
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

Гонятся. Но про стабильность можно забыть.
Рекорд с восьмой мегой был, если не ошибаюсь, под 40МГц (36 или 38).
Родился
Сообщения: 3
Зарегистрирован: Чт мар 22, 2012 22:20:02

Сообщение Igor2012 »

Подскажите, всегда ли надо инициализировать вершину стека при написании программ для МК AVR на Ассемблере. Т.е во всех программах инициализировать стек обязательно или нет ?
akl
Друг Кота
Сообщения: 4450
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Сообщение akl »

Обязательно.
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

Если вы не используете прерывания, подпрограммы, обмен через стек, то не обязательно. Но это редкий вариант. Согласен с akl - используется/не используется стек, проинициализировать не мешает.
Docendo discimus
Контактная информация:
Chettuser

Сообщение Chettuser »

Когда обучалку по ПЛИС допишут? :cry:
Друг Кота
Аватара пользователя
Сообщения: 7360
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Сообщение uldemir »

А что вы еще хотите, чтобы там было написано? Вроде как, там достаточно чтобы начать, а дальше можно (и нужно) самому учиться.
"Видно, боцман, ты прав -
Жить нельзя научить,
можно лишь научить
говорить попугая" (с) слова из песни
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Родился
Сообщения: 13
Зарегистрирован: Ср фев 29, 2012 19:21:08

Сообщение MorskoyZmey »

Здравия добрые люди

Хотел бы реже задавать глупые вопросы, но пока я в области МК профан

Есть задача: воспроизведение аудио потока 8кГц, 8 бит, моно.
Кварц на 12 МГц
Знаю что в сети есть готовый плеер на тиньке, но у меня мега8, и я хотел бы понять принцип и реализовать все самостоятельно.
Подскажите по какому принципу аппаратный ШИМ должен пульсировать, чтобы после RC цепочки было то, что нужно, а не набор пиков и п*ков?

Уже реализовал однотональное пианино используя CTC режим 16 битного таймера 1.

Знаю такую картинку, и понимаю что автор имел ввиду.
Изображение
Но у меня проблемы с настройкой таймера / прерывайний. Использую cvavr CodeWizard.
Какой режим PWM выбрать, и что собственно делать с полученным байтом из аудио потока?
Нужно ли его как-то преобразовывать?
Chettuser

Сообщение Chettuser »

uldemir писал(а):А что вы еще хотите, чтобы там было написано?
Например по verilog немного. А то так приходится пользоваться чужими сайтами.
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город

Сообщение Мастер Ломастер »

MorskoyZmey писал(а):Какой режим PWM выбрать, и что собственно делать с полученным байтом из аудио потока?
Нужно ли его как-то преобразовывать?
режим FAST PWM
байт из аудиопотока надо просто своевременно занести в OCR1A или какой вы там таймер решите применить - в соответствующий регистр

лучше использовать режим PHASE CORRECT FAST PWM, но с частотой несущей не промахнитесь - в этом режиме она получается меньше в 2 раза.
битва с дураками проиграна, победители торжествуют. слава победителям!
Контактная информация:
Родился
Сообщения: 13
Зарегистрирован: Ср фев 29, 2012 19:21:08

Сообщение MorskoyZmey »

Мастер Ломастер писал(а):но с частотой несущей не промахнитесь - в этом режиме она получается меньше в 2 раза.
Я промахнуться не могу, т.к. в принципе ее не знаю.
У меня есть как минимум 4 варианта Fast PWM:
1. top FF
2. top 1FF
3. top 3FF
4. top OCR1A

Я так понимаю мне нужно выбрать из 2-3.
Помимо этого выбора, есть еще выбор между тем что означает OCR1A - скважность или нечто обратное ей. Inverted / Non-inverted

Я пытаюсь юзать Non-Inv., т.е. как я понимаю OCR1A в этом случае определит амплитуду на выходе RC прямо пропорционально своему значению.

Я упустил из виду, что нужно с частотой сэмплирования подавать байты, значит нужен таймер для этого. И таймер должен быть настроен на частоту 8кГц..

Так ведь?

Еще видимо у меня проблема с подачей данных, т.к. пилу (play_sample_cnt%N) воспроизводит, как мне кажется с нужной частотой.
Извиняюсь.
Потрогал лапой паяльник
Сообщения: 342
Зарегистрирован: Чт июн 30, 2011 10:10:23
Откуда: лютая Россия

Сообщение WaL97 »

Захотелось сделать лампу настроения, с контроллерами дел не имел, в наличии только АТмега8. Хочу сделать с энкодером. Нашел такую схему:
Изображение
Вот проша: "Прошу" оформляем как вложение.
Gudd-Head


Суть - можно ли добавить кнопку, или добавить четвертое нажатие энкодера, чтобы свет начинал меняться сам. Затем опять жмем кнопку или энкодер, выставляем цвета и светодиод горит одним цветом. Поможет ли кто чайнику?
[b]— Да не боись, всего двенадцать вольт… и восемьсот ампер.[/b]
Контактная информация:
Встал на лапы
Сообщения: 129
Зарегистрирован: Вт мар 22, 2011 18:41:48

Сообщение Serj324 »

Всем привет.
Хочу изучить один микроконтроллер который у меня есть это Atmega8.
Подскажите сколько всего выводов можно использовать для управления светодиодами ?
И покажите пожалуйста их на схеме.
Вложения
Отправить.jpg
(24.47 КБ) 321 скачивание
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

При желании - все, кроме VCC и GND. Но только один раз. Если дальше хотите его использовать - то все, кроме VCC, GND и RESET
Ответить

Вернуться в «Разные вопросы по МК»