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;
)Просьба помочь мне ............
И. М. Блинкин привели через 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;
)Просьба помочь мне ............