⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usart._c

📁 实现机于通讯芯片的电话接听 拨出 以及来电振领提示
💻 _C
字号:
//***************************************************************************

#include <iom8v.h>
#include <macros.h>
#include "usart.h"

/*****************************************************************************
*
*   Function name : USART_Init
*
*   Returns :       None
*
*   Parameters :    unsigned int baudrate
*
*   Purpose :       Initialize the USART
*
*****************************************************************************/
void USART_Init()
{
	   // Set baud rate (38.4k)EXT OSC = 3.6864M
	  UBRRH = 0x00;
	  UBRRL = 0x01;      
	
	  UCSRB = (1 << RXEN)|(1<<TXEN)|(1 << RXCIE);    //RXEN->enable usrt recieving;
	  // Set frame format : 8data, 1stop bits 
	  UCSRC = (1<<URSEL) | (0 << USBS) | (3 << UCSZ0);
}


/*****************************************************************************
*
*   Function name : Usart_Tx
*
*   Returns :       None
*
*   Parameters :    char data: byte to send
*
*   Purpose :       Send one byte through the USART
*
*****************************************************************************/
void Usart_Tx(char data)
{
    while (!(UCSRA & (1<<UDRE)));
    UDR = data;
}
void Usart_TxData(unsigned int iValue)
{
    char data;
	unsigned int iTemp;
	iTemp = iValue;
	data = (iTemp >> 8) & 0xff;
	Usart_Tx(data);
	data = iValue & 0xff;
	Usart_Tx(data);
}
void Usart_Command(char *command, char num_bytes)
{
    unsigned char J;
	char ComCounter;
	  for (J = 0; J < num_bytes; J++)
	  {
	    Usart_Tx(command[J]);
	  }
}
/*****************************************************************************
*
*   Function name : Usart_Rx
*
*   Returns :       char: byte received
*
*   Parameters :    None
*
*   Purpose :       Receives one byte from the USART
*
*****************************************************************************/
char Usart_Rx(void)
{
    int iCounter;
	char data;
	iCounter = 0;
	while (!(UCSRA & (1<<RXC)))
	{
	    Delay(5);
		iCounter++;
		if (iCounter > 60000) break;
	}
	return UDR;
}
//*****************************************************************************/
#pragma interrupt_handler Usart_Rx_isr:12
void Usart_Rx_isr(void)
{
   unsigned char data;
   // Usart_Tx(UDR);
}
	

⌨️ 快捷键说明

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