在线时间18 小时
UID3918806
注册时间2023-5-5
NXP金币0
该用户从未签到
注册会员
- 积分
- 140
- 最后登录
- 2023-11-24
|
想请问一下,这个配置有什么问题吗?实现不了串口接收发送
void rs485_init(void)
{
Chip_GPIO_Init(LPC_GPIO_PORT);
Chip_GPIO_SetPinDIROutput(LPC_GPIO_PORT, 0, 0);//设置单个GPIO引脚的GPIO方向为输出
Chip_GPIO_SetPinState(LPC_GPIO_PORT, 0, 0, false);//通过GPIO字节寄存器设置GPIO引脚状态
Chip_GPIO_SetPinDIROutput(LPC_GPIO_PORT, 0, 4);//设置单个GPIO引脚的GPIO方向为输出
Chip_GPIO_SetPinState(LPC_GPIO_PORT, 0, 4, false);//通过GPIO字节寄存器设置GPIO引脚状态
// Chip_GPIO_SetPinDIROutput(LPC_GPIO_PORT, 0, 28);//设置单个GPIO引脚的GPIO方向为输出
// Chip_GPIO_SetPinState(LPC_GPIO_PORT, 0, 28, false);//通过GPIO字节寄存器设置GPIO引脚状态
Chip_Clock_EnablePeriphClock(SYSCTL_CLOCK_SWM);//开启时钟
Chip_SWM_MovablePinAssign(SWM_U0_TXD_O, 4);//为物理引脚指定一个可移动引脚函数
Chip_SWM_MovablePinAssign(SWM_U0_RXD_I, 0);//为物理引脚指定一个可移动引脚函数
//Chip_SWM_MovablePinAssign(SWM_U0_RTS_O, 28);//为物理引脚指定一个可移动引脚函数
Chip_Clock_DisablePeriphClock(SYSCTL_CLOCK_SWM);//关闭时钟
Chip_UART_Init(LPC_USART0);//串口初始化
Chip_UART_ConfigData(LPC_USART0,
UART_CFG_DATALEN_8
| UART_CFG_PARITY_NONE
| UART_CFG_STOPLEN_1);//配置数据宽度、奇偶校验和停止位
Chip_Clock_SetUSARTNBaseClockRate((115200 * 16), true);//设置USART 0/1/2 UART基本速率
Chip_UART_SetBaud(LPC_USART0, 115200);//设置uart波特率
Chip_UART_TXEnable(LPC_USART0);//启用UART TxD引脚传输
Chip_UART_Enable(LPC_USART0);//启用uart
//发送数据
void UART0_SendByte (uint32_t ucData)
{
while (!Chip_UART_GetStatus(LPC_USART0))
; //获取状态寄存器
Chip_UART_SendByte(LPC_USART0,ucData);//传输单个字节
//LPC_USART0->TXDATA = ucData;
}
//接收数据
uint32_t UART0Received (void)
{
uint32_t data;
while (!Chip_UART_GetStatus(LPC_USART0));//获取状态寄存器
data = Chip_UART_ReadByte(LPC_USART0);//读取单个字节
return data;
}
int main(void)
{
rs485_init();
MRTInit();
uint32_t buff = 0;
UART0_SendByte ('h');
while(1)
{
buff = UART0Received();
UART0_SendByte(buff);
//led_init();
}
}
|
|