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

 
 
> программирование МК MEGA 8515 на С++, Помогите исправить ошибки в коде, заранее большое спасибо
Sky_light
сообщение Dec 18 2010, 17:51
Сообщение #1





Группа: Новичок
Сообщений: 1
Регистрация: 18-12-10
Пользователь №: 61 710



CODE
#include <avr/io.h> //подключение библиотеки ввода-вывода
#include <util/delay.h> //подключение библиотеки задержек

//============Объявление глобальных функций и переменных=======


void UART_Translate (unsigned char data) // Передача данных
{
while (!(USRA & (1<<5))); //UDRE
UDR = data;//запись переменной data в регистр UDR
}

unsigned char UART_Reseive (void) //Прием данных
{
unsigned char result;
while (!(USRA & (1<<7))); //проверка бита RXC регистра USRA
result = UDR; //result присваивается значение UDR
return result;
}


//==============ОСНОВНАЯ ПРОГРАММА===================
int main(void) //Начало основной программы
{
unsigned char a,b,c,i; //объявление переменных

PORTA=0b00001111; //выводы 0,1,2,3 порта А
DDRA=0b00000000; //все выводы порта А - входы

PORTB=0b11111111; //выводы 0,1 порта В
DDRB=0b11111111; //все выводы орта В - выходы

PORTC=0b00000100; //вывод 3,4,5,6,7 порта С
DDRC=0b00000000; //все выводы порта С - выводы

PORTD=0b10000010; //вывод 5 порта D
DDRD=0b00000010; //все выводы порта D - входы,кроме 1

UCSRA=0x00; //установка параметров связи 8n1
UCSRB=0x18; //включение приемника и передатчика в USART
UCSRC=0x06;
UBRRH=0x00;//режим UART асинхронный
UBRRL=0x5F; //скорость обмена передачи в порту через UART - 1200 бод.

UART_Translate('O');
UART_Translate('N');
UART_Translate('M');
UART_Translate('A');
UART_Translate('\n');UART_Translate('\r'); //заставка


While(1) //бесконечный цикл
{
a=USART_Receive(); //принимаем данные
if(a=='i'); //если символ прошел переходим ко 2-му

{
b=UART_Receive(); //принимаем данные
if(b=='j'); //если символ прошел переходим к 3-му

{
c=UART_Receive(); //принимаем данные
if(c=='n');
{
UART_Translate('K');UART_Translate('u');UART_Translate('r');
UART_Translate('s');UART_Translate('о');UART_Translate('v');
UART_Translate('a');UART_Translate('y');UART_Translate('a');
UART_Translate('n');UART_Translate('r');UART_Translate('a');
UART_Translate('b');UART_Translate('о');UART_Translate('t');
UART_Translate('a');UART_Translate('r');UART_Translate('k');
UART_Translate('y');UART_Translate('r');UART_Translate('s');
UART_Translate('a');UART_Translate('n');UART_Translate('t');
UART_Translate('F');UART_Translate('i');UART_Translate('l');
UART_Translate('i');UART_Translate('n');UART_Translate('o');
UART_Translate('v');UART_Translate('a');UART_Translate('E');
UART_Translate('l');UART_Translate('e');UART_Translate('n');
UART_Translate('a');UART_Translate('n');UART_Translate('r') //ответ на строку инициализации//

for(i=0,i<=5,i++);
{
_delay_ms(100); //требуемая задержка в мс
PORTD=0b10000000; //включаем звук on
_delay_ms(100); //требуемая задержка в мс
PORTD=0b00000000; //выключаем звук off
}
}
}
}
}
}


Сообщение отредактировал IgorKossak - Dec 18 2010, 19:10
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 08:35
Рейтинг@Mail.ru


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