在线时间97 小时
UID384705
注册时间2017-3-8
NXP金币0
TA的每日心情 | 开心 2019-7-20 09:11 |
---|
签到天数: 7 天 [LV.3]偶尔看看II
高级会员
- 积分
- 642
- 最后登录
- 2019-12-2
|
485(一般称作RS485、EIA-485)是属于OSI模型物理层的电器特性,规定位2线,半双工,多点通信的标准。它的电气特性和RS232不一样。RS485的电气特性:以两个线间的电压差为+(2~6)V表示逻辑“1”;以两线间的电压差为-(2~6)表示逻辑“0”。接口信号电平比RS232降低了,不易损坏接口电路芯片,而且于TTl电平兼容,可以方便与TTLD电路连接。
- /************************************************************************************************
- ** 函数名: void UARTInit( uint32_t PortNum, uint32_t baudrate)
- ** 函数功能:串口初始化程序
- ** 输入参数: UARTNum 选择串口号,baudrate串口波特率大小
- ** 输出参数 :无
- ** 返回值:无
- *************************************************************************************************/
- void UARTInit( uint32_t UARTNum, uint32_t baudrate)
- {
- if ( UARTNum == 0 )
- {
-
- Chip_IOCON_PinMux(LPC_IOCON, 0, 2, IOCON_MODE_INACT, IOCON_FUNC1);//设置P0.2为串口功能管脚
- Chip_IOCON_PinMux(LPC_IOCON, 0, 3, IOCON_MODE_INACT, IOCON_FUNC1); //设置P0.3为串口功能管脚
- Chip_UART_Init(LPC_UART0);//初始化串口0
- Chip_UART_SetBaud(LPC_UART0, baudrate);//设置波特率
- Chip_UART_ConfigData(LPC_UART0, UART_LCR_WLEN8 | UART_LCR_SBS_1BIT | UART_LCR_PARITY_DIS);// 8 bits, 无校验, 1 个停止位
- Chip_UART_TXEnable(LPC_UART0);//使能发送
- }
- else if ( UARTNum == 2 )
- {
-
- Chip_IOCON_PinMux(LPC_IOCON, 0, 10, IOCON_MODE_INACT, IOCON_FUNC1);//设置P0.10为串口功能管脚
- Chip_IOCON_PinMux(LPC_IOCON, 0, 11, IOCON_MODE_INACT, IOCON_FUNC1); //设置P0.11为串口功能管脚
- Chip_UART_Init(LPC_UART2);//初始化串口2
- Chip_UART_SetBaud(LPC_UART2, baudrate);//设置波特率
- Chip_UART_ConfigData(LPC_UART2, UART_LCR_WLEN8 | UART_LCR_SBS_1BIT | UART_LCR_PARITY_DIS); // 8 bits, 无校验, 1 个停止位
- Chip_UART_TXEnable(LPC_UART2);//使能发送
- }
-
- else if ( UARTNum == 3 )
- {
-
- <span style="color: rgb(102, 102, 102); font-family: Monaco, Consolas, "Lucida Console", "Courier New", serif; font-size: 12px;">//第一步 设置P4.28 P4.29为串口功能</span>
- Chip_IOCON_PinMux(LPC_IOCON, 4, 28, IOCON_MODE_INACT, IOCON_FUNC3);//设置P4.28为串口功能管脚
- Chip_IOCON_PinMux(LPC_IOCON, 4, 29, IOCON_MODE_INACT, IOCON_FUNC3); //设置P4.29为串口功能管脚
复制代码 /************************************************************************************************
** 函数名: int UART2_GetChar (void)
** 函数功能:串口2接收字节数据
** 输入参数:无
** 输出参数 :无
** 返回值:一个字节数据
*************************************************************************************************/
int UART3_GetChar (void)
{//判断接收线是否有数据,没有数据,则等待。有数据,则读出
while (!(Chip_UART_ReadLineStatus(LPC_UART3) & UART_LSR_RDR));
return Chip_UART_ReadByte(LPC_UART3);
} SET_DIR(1);//设置发送 SET_DIR(0);//设置接收
【05】LPC1768_RS485实验.rar
(249.2 KB, 下载次数: 54)
|
|