pine222 发表于 2012-9-19 22:02:18

M16 串口调试助手都回的数据都是00 80 是怎么回事?代码如下

#include<iom16v.h>
#define FOSC 8000000// Clock Speed
#define BAUD 9600
#define MYUBRR FOSC/16/BAUD-1

unsigned char data;
void USART_Init( unsigned int ubrr)
{
/* Set baud rate */
UBRRH = (unsigned char)(ubrr>>8);
UBRRL = (unsigned char)ubrr;
/* Enable receiver and transmitter */
UCSRB = (1<<RXEN)|(1<<TXEN);
/* Set frame format: 8data, 2stop bit */
UCSRC = (1<<URSEL)|(1<<USBS)|(3<<UCSZ0);
}


unsigned char USART_Receive( void )
{
/* Wait for data to be received */
while ( !(UCSRA & (1<<RXC)) );
/* Get and return received data from buffer */
data=UDR;
return UDR;
}

void USART_Transmit( )
{
/* Wait for empty transmit buffer */
while ( !( UCSRA & (1<<UDRE)) );
/* Put data into buffer, sends the data */
UDR = data;
}
void main( void )
{
USART_Init ( MYUBRR );
   while(1)
      {
          USART_Receive( );
          USART_Transmit();
      }
}

pine222 发表于 2012-9-19 22:06:54

如下图11111111

本帖最后由 pine222 于 2012-9-19 22:08 编辑

1211111111111111111

pine222 发表于 2012-9-19 22:58:03

晶振问题,熔丝位自动改了。{:sweat:}
页: [1]
查看完整版本: M16 串口调试助手都回的数据都是00 80 是怎么回事?代码如下