реклама на сайте
подробности

 
 
> режим шим
AnKing
сообщение Aug 10 2011, 03:15
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 2-02-08
Пользователь №: 34 686



Пользую atmega 48. Включаю шим на таймере 0
Но светодиод горит постоянно и не геснет.
в чем вилы?

CODE
#define F_CPU 7372800

#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>


void init_pwm (void)
{
TCCR0A=(1<<COM0A1)|(1<<WGM00);
TCCR0B=(1<<CS00);
OCR0A=0x00;
}

void pause (unsigned int a)
{
unsigned int i;
for (i=a;i>0;i--);
}

int main (void)
{

unsigned char i;
DDRD=0b01000000;

init_pwm();

while (1)
{
for (i=0;i<255;i++)
{
OCR0A++;
pause(1000);
}
for (i=0;i<255;i++)
{
OCR0A--;
pause(1000);
}
}

}


Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
AnKing
сообщение Aug 29 2011, 19:09
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 2-02-08
Пользователь №: 34 686



использовал функцию _delay_us() и все заработало.
Только такой вопрос, при вызове этой функции обработка приложения разве не прекращается?
пока контроллер спит, выполняются ли прерывания?
что конкретно "спит" во время выполнения этой функции?

И второй вопрос... как сгенерировать синусоидальный сигнал? при помощи двух последовательных таймеров?
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Aug 30 2011, 01:52
Сообщение #3


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (AnKing @ Aug 30 2011, 04:09) *
использовал функцию _delay_us() и все заработало.
Только такой вопрос, при вызове этой функции обработка приложения разве не прекращается?

delay_us и delay_ms ничто инное как холостые циклы, рассчитываемые препроцессором. Микроконтроллер в сон не уходит. Поскольку компилятор "знает", что эти холостые циклы нужны, он их не удаляет. Поэтому Ваша программа заработала.
QUOTE (AnKing @ Aug 30 2011, 04:09) *
И второй вопрос... как сгенерировать синусоидальный сигнал? при помощи двух последовательных таймеров?

Ключевое слово ШИМ (PWM). В инете можно найти примеры программной генерации различных сигналов. Даже речь воспроизводят.


--------------------
Выбор.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 18:04
Рейтинг@Mail.ru


Страница сгенерированна за 0.0138 секунд с 7
ELECTRONIX ©2004-2016