mega16的简单发送数据程序,仿真正确,但是与计算机连接用串口调试助手接收的数据完全不对,接线是9针接口,我用三线制接线,波特率和数据形式设置都没有错,请大家帮忙看一下了。谢谢了!
#include"iom16.h"
#define uint unsigned int
#define uchar unsigned char
uint flag_2s;
void ioint()
{
DDRA=0XFF;
PORTA=0XFF;
DDRB=0XFF;
PORTB=0XFF;
DDRC=0XFF;
PORTC=0XFF;
DDRD=0X02;
PORTD=0XFF;
}
void Timer0_int()
{
SREG|=0X80;
TCCR0=(1<<CS01)|(1<<CS00);
TIMSK|=(1<<TOIE0);
TCNT0=5;
}
void USART_int()
{
UCSRB = 0x00;
UCSRC=0X8F;
UBRRH = 0;
UBRRL = 191;
UCSRB = 0x08;
}
void USART_data(uchar data)
{
while(!(UCSRA&(1<<UDRE)));
UDR=data;
}
void main()
{
flag_2s=0;
ioint();
Timer0_int();
USART_int();
while(1);
}
#pragma vector=TIMER0_OVF_vect
__interrupt void TO_WORK()
{
flag_2s++;
if(flag_2s>=2000)
{ flag_2s=0;
USART_data(0x03);
}
} |