专栏中心

EEPW首页 > 专栏 > PIC24F初始设置代码(Uart)

PIC24F初始设置代码(Uart)

发布人:0750long 时间:2009-07-11 来源:工程师 发布文章
PIC24F初始设置代码(Uart)

 

#define FCY      16000000
#define BAUDRATE 115200              
#define BRGVAL   ((FCY/BAUDRATE)/16)-1

void Uart1_Init()
{
 U1BRG = BRGVAL; //Set Baudrate
 U1STA = 0;
 U1MODE = 0;
 
 U1MODEBITS.BRGH = 1;
 U1MODEBITS.STSEL = 0;   // 1-stop bit
 U1MODEBITS.PDSEL = 0;   // No Parity, 8-data bits
 U1MODEBITS.ABAUD = 0;   // Autobaud Disabled
 
 U1STABITS.UTXISEL0 = 0;   // Interrupt after one Tx character is transmitted
 U1STABITS.UTXISEL1 = 0;                              
 U1STABITS.URXISEL  = 0;   // Interrupt after one RX character is received
 
 U1MODEBITS.UARTEN = 1;//Enable Uart1
 U1STABITS.UTXEN = 1; //Enable Transmit
 
 IEC0BITS.U1TXIE = 1; //Enable Transmit Interrupt
 IEC0BITS.U1RXIE = 1; //Enable Receive Interrupt

 IPC3BITS.U1TXIP = 0x01;  //Setup Uart1 TX interrupt for desired priority level
 IPC2BITS.U1RXIP = 0x01;  //Setup Uart1 RX interrupt for desired priority level

 IFS0BITS.U1RXIF = 0;//Clear the Recieve Interrupt Flag
 IFS0BITS.U1TXIF = 0;//Clear the Transmit Interrupt Flag

 IEC4BITS.U1ERIE = 0;  //Uart1 Interrupt error
}

/********************************************************************
* Function:  void PutChar(BYTE Char)
*
* Precondition: UART Setup
*
* Input:   Char - Character to transmit
*
* Output:   None
*
* Side Effects: Puts character into destination pointed to by ptrChar.
*
* Overview:  Transmits a character on UART1.
*     Waits for an empty spot in TXREG FIFO.
*
* Note:    None
********************************************************************/
void PutChar(char txChar)
{
 while(U1STAbits.UTXBF); //wait for FIFO space
 U1TXREG = txChar; //put character onto UART FIFO to transmit
}//end PutChar(char txChar)


/********************************************************************
* Function:        void GetChar(BYTE * ptrChar)
*
* PreCondition:    UART Setup
*
* Input:  ptrChar - pointer to character received
*
* Output:  
*
* Side Effects: Puts character into destination pointed to by ptrChar.
*    Clear WDT
*
* Overview:  Receives a character from UART1. 
*
* Note:   None
********************************************************************/
void GetChar(char *ptrChar)
{
 //get the data
 while(U1STAbits.URXDA);
  * ptrChar = UxRXREG;  //get data from UART RX FIFO
}//end GetChar(char *ptrChar)

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

欧度最新军用通讯连接器产品介绍

视频 2011-03-24

台积电亚利桑那厂再添产品线,苹果Apple Watch芯片首次在美制造

微细间距QFP器件手工焊接指南 中文

2025 年人们将尝试在这个水下栖息地生活

CINNO 报告 2024 国内手机面板采购量:小米 1.71 亿片同比增 21.7%、OPPO 1.44 亿片同比增 3.5%

SwitchBot 模块化移动房屋机器人K20+ Pro

稳压电源实用手册(1100页)

资源下载 2007-03-27

AI带动需求 今年全球启建18座晶圆厂

EDA/PCB 2025-01-09

用于插针和插孔连接器的全新高性能合金

视频 2011-03-24

德国芯片大国梦碎?外媒叹错信英特尔 台积电救不了

EDA/PCB 2025-01-09

TOYOTA合作英伟达 撼动全球车市!欧系可能没生存空间

汽车电子 2025-01-09

黄仁勋:Blackwell正在45座工厂全面量产

图书阅读器 Book Reader V1.0 (看NLC格式的图书工具)

维兰德高性能铜合金以及其在连接器领域的解决方案

视频 2011-03-24

混合动力汽车也是超级跑车:强调性能,而不是里程

温差检测芯片 max6675

3M 互连革命—新一代无卤素、高挠、高速线缆

视频 2011-03-24

牛人居然把功率MOS剖析成这样,很难得的资料!

网卡滤波器FB2022技术文档

连接器系统的安全性

视频 2011-03-24
更多 培训课堂
更多 焦点
更多 视频

技术专区