Мелкие вопросы по МК и ПЛИС.
Re: Мелкие вопросы по МК и ПЛИС.
Функция должна объявляться до её первого вызова.
Если при объявлении написано void main1(void), то при вызове нужно писать main1(). Второе void при объявлении обозначает отсутствие параметров функции, значит, нужно при вызове не писать параметров в скобках.
Если при объявлении написано void main1(void), то при вызове нужно писать main1(). Второе void при объявлении обозначает отсутствие параметров функции, значит, нужно при вызове не писать параметров в скобках.
Этот пост оказался полезен? Не поленись, нажми
слева!

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Re: Мелкие вопросы по МК и ПЛИС.
Уже разобрался, спасибо, что откликнулись! А не подскажите еще как создать случайное число? На сколько я знаю в Codevision есть функция которая создаст случайное число?
- Gudd-Head
- Друг Кота
- Сообщения: 20091
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Мелкие вопросы по МК и ПЛИС.
MS24 писал(а):Уже разобрался, спасибо, что откликнулись! А не подскажите еще как создать случайное число? На сколько я знаю в Codevision есть функция которая создаст случайное число?
Вот viewtopic.php?f=20&t=5560 тема по Codevision
Вот viewtopic.php?f=20&t=37190 тема по С/С++.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Мелкие вопросы по МК и ПЛИС.
У меня есть кнопки, на которые зажигают определенный диод с частями тела человека, в режиме контроль должен зажечься случ диод, и нужно
нажать на кнопку, которая соответвует этому диоду, при этом загорится диод "верно", иначе диод "Не верно"
Я создал случайное четное число , что бы в двоичном виде всегда была единица, и записал его в порт. Загорелся случайный диод, теперь мне нужно узнать какой кнопкой выбрать правильный ответ, подскажите как?
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;
}
будет ли работать такой код?
нажать на кнопку, которая соответвует этому диоду, при этом загорится диод "верно", иначе диод "Не верно"
Я создал случайное четное число , что бы в двоичном виде всегда была единица, и записал его в порт. Загорелся случайный диод, теперь мне нужно узнать какой кнопкой выбрать правильный ответ, подскажите как?
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;
}
будет ли работать такой код?
Re: Мелкие вопросы по МК и ПЛИС.
Вот я тупой, уже опять сам додумался ))) Я просто 3ий день прогаю, мне завтра готовый проект сдавать, поэтому постоянно спрашиваю, вы уж извините за офтоп ((
Re: Мелкие вопросы по МК и ПЛИС.
Есть ли способ запустить АТмега16 на частоте большей, чем паспортные 16 МГц? Например, 20 или 24МГц? И если да, что для этого надо - внешний генератор или достаточно кварца в стандартной обвязке? Надо ли повышать напряжения питание мк?
[color=#FF80FF]Не втыкать.[/color]
-
Chettuser
Re: Мелкие вопросы по МК и ПЛИС.
Это к оверлокерам. PIC'и гонятся хорошо, про AVR не знаю.
Re: Мелкие вопросы по МК и ПЛИС.
Гонятся. Но про стабильность можно забыть.
Рекорд с восьмой мегой был, если не ошибаюсь, под 40МГц (36 или 38).
Рекорд с восьмой мегой был, если не ошибаюсь, под 40МГц (36 или 38).
Re: Мелкие вопросы по МК и ПЛИС.
Подскажите, всегда ли надо инициализировать вершину стека при написании программ для МК AVR на Ассемблере. Т.е во всех программах инициализировать стек обязательно или нет ?
Re: Мелкие вопросы по МК и ПЛИС.
Обязательно.
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Если вы не используете прерывания, подпрограммы, обмен через стек, то не обязательно. Но это редкий вариант. Согласен с akl - используется/не используется стек, проинициализировать не мешает.
Docendo discimus
Re: Мелкие вопросы по МК и ПЛИС.
А что вы еще хотите, чтобы там было написано? Вроде как, там достаточно чтобы начать, а дальше можно (и нужно) самому учиться.
"Видно, боцман, ты прав -
Жить нельзя научить,
можно лишь научить
говорить попугая" (с) слова из песни
"Видно, боцман, ты прав -
Жить нельзя научить,
можно лишь научить
говорить попугая" (с) слова из песни
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
-
MorskoyZmey
- Родился
- Сообщения: 13
- Зарегистрирован: Ср фев 29, 2012 19:21:08
Re: Мелкие вопросы по МК и ПЛИС.
Здравия добрые люди
Хотел бы реже задавать глупые вопросы, но пока я в области МК профан
Есть задача: воспроизведение аудио потока 8кГц, 8 бит, моно.
Кварц на 12 МГц
Знаю что в сети есть готовый плеер на тиньке, но у меня мега8, и я хотел бы понять принцип и реализовать все самостоятельно.
Подскажите по какому принципу аппаратный ШИМ должен пульсировать, чтобы после RC цепочки было то, что нужно, а не набор пиков и п*ков?
Уже реализовал однотональное пианино используя CTC режим 16 битного таймера 1.
Знаю такую картинку, и понимаю что автор имел ввиду.

Но у меня проблемы с настройкой таймера / прерывайний. Использую cvavr CodeWizard.
Какой режим PWM выбрать, и что собственно делать с полученным байтом из аудио потока?
Нужно ли его как-то преобразовывать?
Хотел бы реже задавать глупые вопросы, но пока я в области МК профан
Есть задача: воспроизведение аудио потока 8кГц, 8 бит, моно.
Кварц на 12 МГц
Знаю что в сети есть готовый плеер на тиньке, но у меня мега8, и я хотел бы понять принцип и реализовать все самостоятельно.
Подскажите по какому принципу аппаратный ШИМ должен пульсировать, чтобы после RC цепочки было то, что нужно, а не набор пиков и п*ков?
Уже реализовал однотональное пианино используя CTC режим 16 битного таймера 1.
Знаю такую картинку, и понимаю что автор имел ввиду.

Но у меня проблемы с настройкой таймера / прерывайний. Использую cvavr CodeWizard.
Какой режим PWM выбрать, и что собственно делать с полученным байтом из аудио потока?
Нужно ли его как-то преобразовывать?
-
Chettuser
Re: Мелкие вопросы по МК и ПЛИС.
uldemir писал(а):А что вы еще хотите, чтобы там было написано?
Например по verilog немного. А то так приходится пользоваться чужими сайтами.
-
Мастер Ломастер
- Поставщик валерьянки для Кота
- Сообщения: 1995
- Зарегистрирован: Ср май 11, 2011 21:37:45
- Откуда: Цветочный город
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
MorskoyZmey писал(а):Какой режим PWM выбрать, и что собственно делать с полученным байтом из аудио потока?
Нужно ли его как-то преобразовывать?
режим FAST PWM
байт из аудиопотока надо просто своевременно занести в OCR1A или какой вы там таймер решите применить - в соответствующий регистр
лучше использовать режим PHASE CORRECT FAST PWM, но с частотой несущей не промахнитесь - в этом режиме она получается меньше в 2 раза.
битва с дураками проиграна, победители торжествуют. слава победителям!
-
MorskoyZmey
- Родился
- Сообщения: 13
- Зарегистрирован: Ср фев 29, 2012 19:21:08
Re: Мелкие вопросы по МК и ПЛИС.
Мастер Ломастер писал(а):но с частотой несущей не промахнитесь - в этом режиме она получается меньше в 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) воспроизводит, как мне кажется с нужной частотой.
Извиняюсь.
-
WaL97
- Потрогал лапой паяльник
- Сообщения: 342
- Зарегистрирован: Чт июн 30, 2011 10:10:23
- Откуда: лютая Россия
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Захотелось сделать лампу настроения, с контроллерами дел не имел, в наличии только АТмега8. Хочу сделать с энкодером. Нашел такую схему:

Вот проша:
"Прошу" оформляем как вложение.
Gudd-Head
Суть - можно ли добавить кнопку, или добавить четвертое нажатие энкодера, чтобы свет начинал меняться сам. Затем опять жмем кнопку или энкодер, выставляем цвета и светодиод горит одним цветом. Поможет ли кто чайнику?
Вот проша:
Код: Выделить всё
...Gudd-Head
Суть - можно ли добавить кнопку, или добавить четвертое нажатие энкодера, чтобы свет начинал меняться сам. Затем опять жмем кнопку или энкодер, выставляем цвета и светодиод горит одним цветом. Поможет ли кто чайнику?
[b]— Да не боись, всего двенадцать вольт… и восемьсот ампер.[/b]
Re: Мелкие вопросы по МК и ПЛИС.
Всем привет.
Хочу изучить один микроконтроллер который у меня есть это Atmega8.
Подскажите сколько всего выводов можно использовать для управления светодиодами ?
И покажите пожалуйста их на схеме.
Хочу изучить один микроконтроллер который у меня есть это Atmega8.
Подскажите сколько всего выводов можно использовать для управления светодиодами ?
И покажите пожалуйста их на схеме.
- Вложения
-
- Отправить.jpg
- (24.47 КБ) 319 скачиваний
Re: Мелкие вопросы по МК и ПЛИС.
При желании - все, кроме VCC и GND. Но только один раз. Если дальше хотите его использовать - то все, кроме VCC, GND и RESET