Мастер:
Спойлер
Код: Выделить всё
Chip type : ATmega8515
Program type : Application
Clock frequency : 8,000000 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 128
*****************************************************/
#include <mega8515.h>
#include <delay.h>
// Declare your global variables here
int init_UART(void)
{
// Установка скорости 115200
UBRRH=0; // UBRR=f/(16*band)-1 f=8000000Гц band=115200,
UBRRL=3;
UCSRA=0b00000000;
UCSRB=0b00011000;
UCSRC=0b10000110; // 8-битовая посылка
DDRB = 0b00000011; // Port B0 na vihod
PORTB.0=1; // Port b0 = 1
return;
}
// UART
void send_Uart(unsigned char c)// Отправка байта
{
while(!(UCSRA&(1<<5))) // Устанавливается, когда регистр свободен
{}
UDR = c;
}
int main(void) // ММММЭЭЭЭЭЙЙЙЙННННН ТТТУУУУТТТТТ ----=====
{
init_UART(); // инициализация UART
delay_ms(1000); // задержка 1c
while(1) // бесконечный рабочий цикл
{
// Мастер МАСТЕР
PORTC=0xFF;
DDRC=0xFF;
PORTA=0x00;
DDRA=0xFF;
PORTB.2=1;
while (1) {
PORTB.1=1;
delay_ms(100);
send_Uart(PINC); // Отправить данные о порте С =
PORTB.1=0;
delay_ms(100);
}
}
return;
} Спойлер
Код: Выделить всё
Chip type : ATmega8515
Program type : Application
Clock frequency : 8,000000 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 128
*****************************************************/
#include <mega8515.h>
#include <stdio.h>
#include <delay.h>
// USART Receiver interrupt service routine
interrupt [USART_RXC] void usart_rx_isr(void)
{
char data;
data=UDR;
PORTC=data;
}
void main(void)
{
// Port C initialization
PORTC=0x00;
DDRC=0xFF;
DDRB=0xFF;
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: Off
// USART Mode: Asynchronous
// USART Baud Rate: 115200
UCSRA=0x00;
UCSRB=0x90;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=3;
// Global enable interrupts
#asm("sei")
while (1)
{
PORTB.1=1;
delay_ms(100);
PORTB.1=0;
delay_ms(100);
};
}