Как то надо было следить за переменными по USART на ATMEGA48PA, в результате прочтения даташитов был получен следующий код:
/*
* UART48.cpp
*
* Created: 15.09.2014 19:35:04
* Author: Serhiy
*/
#include <avr/io.h>
#define F_CPU 1000000L
#include<util/delay.h>
void MyUartInit()
{
UBRR0 = 12; //из таблицы в даташите для 9600бод и частоты 1МГц
UCSR0A|= 1<<U2X0;//из той же таблицы
UCSR0B|= 1<<TXEN0;//включаем передатчик
}
void printInt(int i)//для вывода чисел 0-99
{
if(i<10)
{
i+=48;
UDR0=i;
while(!(UCSR0B&(1<<TXEN0)))
{ }
}
else if(i<100)
{
UDR0=(i/10)+48;
while(!(UCSR0B&(1<<TXEN0)))
{ }
UDR0=i-((i/10)*10)+48;
while(!(UCSR0B&(1<<TXEN0)))
{ }
}
}
int main(void)
{
MyUartInit();
while(1)
{
printInt(87);
_delay_ms(1000);
}
}
Комментариев нет:
Отправить комментарий