дык [+]
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
const unsigned char sinus [33]={0,2,9,21,37,56,78,102,127,151,175,197,216,232,244,251,254,251,244,232,216,197,175,151,127,102,78,56,37,21,9,2,0};OCR0A=sinus[0];
temp2=65535;
for(;temp2 != 0;temp2--)
{
OCR0A=sinus[(unsigned char)temp2 & 0x1F];
__delay_cycles(1000);
}
Составить ответ
|||
Конференция
|||
Архив
Ответы
- Ну,мля, и где тут ШИМ, таймер? Вот это интересно!!! — shkiper (27.11.2006 14:07 213.227.194.209, пустое)
- ??? а что такое тогда OCR0A ??? и что такое __delay_cycles ??? — megajohn (27.11.2006 14:09 82.140.84.195, пустое)
- Я вижу что OCR0A. Как на счет какой-то частоты ШИМа. Есть вобщето зависимость ч-ты синуса и ШИМа? — shkiper (27.11.2006 14:18 213.227.194.209, пустое)
- Совсем тяжело ??? допустим надо синус 1кгц, тогда длительность одной волны 1мс. Нужно что бы за 1 мс таймер выдал в OCR все 32 значения. Дальше осилишь ? — megajohn (27.11.2006 14:27 82.140.84.195, пустое)
- это все делаем одним таймером? т.е. по прерыванию совпадения??? — shkiper (27.11.2006 14:54 213.227.194.209, пустое)
- по прерыванию совпадения ШИМ не получишь !!! Для начала заведи два таймера #1 и #2, #1 будет в OCR2 грузить значения, а #2 будет ШИМ генерить учитывая собственный OCR2. Лучше всего #1 ввести в mode=CTC и, а #2 в Mode 5 (FastPWM, 8-bit) — megajohn (27.11.2006 15:01 82.140.84.195, пустое)
- Ну собсно чего то пошло, но импульсы правда чет не сильно видно чтоб модулировались...Хлопцы, гляньте уж код мой,плз,мож че нахомутал — shkiper (27.11.2006 15:51 213.227.194.209, 691 байт)
- исправь "sinus[33]= {0,2," на "sinus[]= {,2,". Код пиши в так: перед началом поставть <pre>, и после </pre>. Сдвиг влево и вправо разделяй пробелом — megajohn (27.11.2006 15:55 82.140.84.195, пустое)
- тьфу, запятая после { лишняя — megajohn (27.11.2006 16:03 82.140.84.195, пустое)
- Вот код — shkiper (27.11.2006 16:03 213.227.194.209, 710 байт)
- Бля,че оно его урезает??? — shkiper (27.11.2006 16:04 213.227.194.209, пустое)
- написано же "Сдвиг влево и вправо разделяй пробелом" — megajohn (27.11.2006 16:08 82.140.84.195, пустое)
- Еще попытка — shkiper (27.11.2006 16:17 213.227.194.209, 601 байт)
- замучал меня, пишу-пишу, а не смотришь. Короче [+] — megajohn (27.11.2006 16:24 82.140.84.195, 301 байт)
- Да я то в принципе уже вьехал в тему. Просто не понял,что ты имеешь виду таймер№1 - это условно или именно авровский таймер 1. его то и можна включить в режим фаст пвм,8бит, но не таймер 2... — shkiper (27.11.2006 16:33 213.227.194.209, пустое)
- Да я то в принципе уже вьехал в тему. Просто не понял,что ты имеешь виду таймер№1 - это условно или именно авровский таймер 1. его то и можна включить в режим фаст пвм,8бит, но не таймер 2... — shkiper (27.11.2006 16:33 213.227.194.209, пустое)
- Да я то в принципе уже вьехал в тему. Просто не понял,что ты имеешь виду таймер№1 - это условно или именно авровский таймер 1. его то и можна включить в режим фаст пвм,8бит, но не таймер 2... — shkiper (27.11.2006 16:33 213.227.194.209, пустое)
- Зашибись, шлю...:)) — shkiper (27.11.2006 16:26 213.227.194.209, пустое)
- мля, код обрезало...а как его сделать чтоб нормально передало??? — shkiper (27.11.2006 15:53 213.227.194.209, пустое)
- Ждем AVRa всего в белом с примером. — Сергей Борщ (27.11.2006 15:14 217.198.224.174, пустое)
- и плавно меняя OCR1 получаешь плавно изменяющуюся частоту синуса — megajohn (27.11.2006 15:03 82.140.84.195, пустое)
- Потому что я тут кое-чего програмил, и в прерывании по совпадении задавал новое значение из таблицы, но на осцылопере нихрена не меняется,импульсы одинаковые!!! — shkiper (27.11.2006 14:21 213.227.194.209, пустое)
- Ответ: Только я бы делал это в прерывании от таймера, и значения синусоиды апроксимировал. — Artem-1.6E-19 (27.11.2006 13:59 85.90.203.83, пустое)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание