uart.c

来自「针对杭州中正公司的SM-62光学指纹识别模块在Atmega128芯片板上移植后的」· C语言 代码 · 共 40 行

C
40
字号
// Crystal: 3.6864Mhz
#include "includes.h"
unsigned char temp ;
/************************************* InitUART *************************************/
void InitUART( unsigned char baudrate )
{
  UBRR0L = baudrate; /* set the baud rate */

  UBRR0H = 0x00;
  UCSR0C = 0x06;
  UCSR0B&= ~0x18;
  UCSR0A|= 0x02;
}

/************************************* TransmitByte *************************************/
void TransmitByte( unsigned char data )
{
  UCSR0B|=BIT(TXEN0);
  UCSR0B&=~BIT(RXEN0);
  while ( !(UCSR0A & (1<<UDRE0)) ); /* wait for empty transmit buffer */
  UDR0 = data; /* start transmittion */
}

/************************************* receiveByte *************************************/
void receiveByte()
{
  unsigned int i,temp;
  TIMSK&=~0x40;
  UCSR0B&=~BIT(TXEN0);
  UCSR0B|=BIT(RXEN0);
  while ( !(UCSR0A & (1<<RXC0))&& TIMER0FLAG==0);
  temp=UDR0;
}
////////////////////////////////////////////////////////////////////////////////
main()
{
    InitUART( 7 ) ;
    TransmitByte( 0xAB ) ;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?