мигающий светодиод - необходимостью решения кода проблема

V

Vinesh

Guest
HIIII,
И. М. Блинкин привели через atmega32, я HVE код, но когда я кодом M / C и подключить его к главе, а не Блинкин это просто оказалось on.can any1 сказать точно вес проб ..... это мой код Ниже приводятся

# включить <avr/io.h>
# включить <avr/interrupt.h>
# включить <avr/signal.h>
# включить <inttypes.h>
# включить <avr/iom16.h>

# DEFINE F_OSC 4000000 / * осциллятора частоты в Гц * /
# DEFINE UART_BAUD_RATE 9600
# DEFINE UART_BAUD_CALC (UART_BAUD_RATE, F_OSC) ((F_OSC) / ((UART_BAUD_RATE) * 16L) -1)

Пустота delay_ms (неподписанных краткий MS) (
неподписанных краткий outer1, outer2;
outer1 = 200;
While (outer1) (
outer2 = 1000;
While (outer2) (
в то время (мс) мс -;
outer2 -;
)
outer1 -;
)
)

Пустота usart_putc (неподписанных Чары C) (
/ / Подождать, пока УДР готова
While (! (UCSRA & (1 <<Удре)));
UDR = C; / / передать характер
)

Пустота uart_puts (Char * S) (
/ / Цикл, пока * S! = NULL
While (* S) (
usart_putc (* S);
S ;
)
)

Пустота Init (void) (
/ / Установить скорость передачи данных
UBRRH = (uint8_t) (UART_BAUD_CALC (UART_BAUD_RATE, F_OSC)>>

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Круто" border="0" />

;
UBRRL = (uint8_t) UART_BAUD_CALC (UART_BAUD_RATE, F_OSC);

/ / Включите приемник и передатчик; позволить прервать RX
UCSRB = (1 <<RXEN) | (1 <<TXEN) | (1 <<RXCIE);

/ / асинхронных 8N1
UCSRC = (1 <<URSEL) | (3 <<UCSZ0);
)

/ / Interrupt может быть прервано
/ / Сигнал не может быть прервано
SIGNAL (SIG_UART_RECV) (/ / USART RX прерываний
неподписанных Чары C;
C = UDR;
usart_putc (С);
)

Основными Int (void) (
Init (); / / Инициализация USART
Сэй (); / / разрешить прерывания

/ / Передать первоначальный характер
While (! (UCSRA & (1 <<Удре)));
UDR = 0x43; / / "С"
While (! (UCSRA & (1 <<Удре)));
UDR = 0x0d;

/ / Позволить PD5 в качестве выходного
ДРРР | = (1 <<PD5);
While (1) (
/ / PIN5 PORTD четко -> индикатор не горит
PORTD & = ~ (1 <<PD5);
delay_ms (500);
/ / PIN5 PORTD набор -> индикатор на
PORTD | = (1 <<PD5);
delay_ms (500);
)
вернуть 0;
)Просьба помочь мне ............

 
Первый в инициализации функцией определения портов D3 в качестве выходного Pin

ДРРР | = (1 <<PD3);

а также увеличению задержек и соблюдать привели около 1-2 минуткак часто вы работаете на?
и для отладки отправить характера через UART после каждого включения / выключения

 
м Workin на частоте 4Mhz частоты ........... я alrdy увеличились задержки й до сих пор нет ответа .........

 
Ранее мой код был таким же, как я ур Sayin был моим выходом на PD2 но я имела тот же результат ........ й моя PGM является Gettin смоделирован на симуляторе AVR Studio правильной .......

 
Vinesh Наир пишет:

Ранее мой код был таким же, как я ур Sayin был моим выходом на PD2 но я имела тот же результат ........ й моя PGM является Gettin смоделирован на симуляторе AVR Studio правильной .......
 
Я NT Gettin U ............... I Код М. Использование устанавливает PD5 мигать индикатор ........ и я использую PD0 и PD1 в интерфейсе с последовательным портомДобавлено через 1 минуту:Пожалуйста, можете указать U с кодом вес точно RU Tryin 2 сказать ..........

 
Функция задержки вы используете все еще мала
После первой итерации значения MS будет 0
Поэтому в следующий раз дальнейшем он не будет идти в то время как MS петля

Vinesh Наир пишет:Пустота delay_ms (неподписанных краткий MS) (

неподписанных краткий outer1, outer2;

outer1 = 200;

While (outer1) (

outer2 = 1000;

While (outer2) (

в то время (мс) мс -;

outer2 -;

)

outer1 -;

)

)
 
Код да за задержки до сих пор не Givin меня результат ....... может у меня должность код, отличный от того, что я использовал Coz ..... я не смог обнаружить здесь проблема ...... ... Код вроде нормально ....... но все еще не выводится ....... PLS помочь мне.

 
может any1 Оставьте мне код для создания задержки с помощью цикле ........ PLSДобавлено через 2 часа 22 минут:pLS ребята помочь мне с Somthin ........ Я новичок в этом ......

 
Ли мигающий светодиодный нужно это многое кодирования.Я думала, выберите булавка для вывода и инициализировать его как выходной.Положите цикл задержки / Loop тратить время с помощью двух петлях, как вы делали.Следите за тем, как только будет выполнен внутренний цикл, соответствующий регистр Reloaded с его первоначальной стоимости в следующем запуске.В конце задержки цикла (как петли) просто дополняют выводе порта.держать весь процесс запуска Бери.Значения задержек цикла может быть оценена из кода и частота, проб и ошибок тоже работает.
Рауф

 

Welcome to EDABoard.com

Sponsor

Back
Top