"); //-->
#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)
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
欧度最新军用通讯连接器产品介绍
台积电亚利桑那厂再添产品线,苹果Apple Watch芯片首次在美制造
微细间距QFP器件手工焊接指南 中文
2025 年人们将尝试在这个水下栖息地生活
CINNO 报告 2024 国内手机面板采购量:小米 1.71 亿片同比增 21.7%、OPPO 1.44 亿片同比增 3.5%
静态开关基本原理图
Altera PLD简介
SwitchBot 模块化移动房屋机器人K20+ Pro
稳压电源实用手册(1100页)
AHDL语言的问题
DZW75-48/50(50II)型整流模块原理图
AI带动需求 今年全球启建18座晶圆厂
DZW75-48/50(50II)高频变换电路
用于插针和插孔连接器的全新高性能合金
德国芯片大国梦碎?外媒叹错信英特尔 台积电救不了
TOYOTA合作英伟达 撼动全球车市!欧系可能没生存空间
黄仁勋:Blackwell正在45座工厂全面量产
Altera的FLEX10K系列CPLD产品
图书阅读器 Book Reader V1.0 (看NLC格式的图书工具)
用FLEX 10K进行MPEG编码
维兰德高性能铜合金以及其在连接器领域的解决方案
DZW75-48/50(50II)输入电路
混合动力汽车也是超级跑车:强调性能,而不是里程
Re: 请问哪里有xhdl(可以将verilog转换成vhdl)?
温差检测芯片 max6675
三相阶梯波逆变器输出变压器绕组连接方式及输出电压波形
3M 互连革命—新一代无卤素、高挠、高速线缆
牛人居然把功率MOS剖析成这样,很难得的资料!
网卡滤波器FB2022技术文档
连接器系统的安全性