在线时间9 小时
UID3238066
注册时间2017-9-13
NXP金币0
该用户从未签到
注册会员
- 积分
- 66
- 最后登录
- 2018-1-23
|
网上买的LPC845开发板,按照串口驱动基本设置串口收不到数据,我的代码如下,大神帮忙看看哪里有问题
void UART(void)
{
// Enable clocks to relevant peripherals
LPC_SYSCON->SYSAHBCLKCTRL[0] |= (1<<14|1<<7|1<<6);
// Connect UART0 TXD, RXD signals to port pins
LPC_SWM->PINASSIGN0 |= ( 0x19 << 0 ); /* P0.25 ~ UART0_TXD */
LPC_SWM->PINASSIGN0 |= (0x18<< 8 ); /* P0.24 ~ UART0_RXD */
// Configure FRG0
LPC_SYSCON->FRG0MULT = 0;
LPC_SYSCON->FRG0DIV = 255;
// Select main_clk as the source for FRG0
LPC_SYSCON->FRG0CLKSEL = 0x00000001;
// Select frg0clk as the source for fclk0 (to UART0)
LPC_SYSCON->UART0CLKSEL =0x00000002;
// Give USART0 a reset
LPC_SYSCON->PRESETCTRL0 &= (~(1<<14));
LPC_SYSCON->PRESETCTRL0 |= ~(~(1<<14));
// Configure the USART0 baud rate generator
LPC_USART0->BRG = 155;
// Configure the USART0 CFG register:
// 8 data bits, no parity, one stop bit, no flow control, asynchronous mode
LPC_USART0->CFG =(0x01<<2)| (0x00<<4)| (0x00<<6);
// Configure the USART0 CTL register (nothing to be done here)
// No continuous break, no address detect, no Tx disable, no CC, no CLRCC
LPC_USART0->CTL = 0;
// Clear any pending flags, just in case
LPC_USART0->STAT = 0xFFFF;
// Enable USART0
LPC_USART0->CFG |= (0x01<<0);
// Enable the USART0 RX Ready Interrupt
LPC_USART0->INTENSET = (0x01<<0);
NVIC_EnableIRQ(UART0_IRQn);
}
最佳答案
一种感觉 发表于 2017-10-25 16:02
是的,我是按照官网上的code bundle代码在keil上编译的,不确定的可能是开关矩阵那个配置,其他的是完全 ...
你先把LPC_SWM->INASSIGN0这个相关的位清一下,然后再或,否则,如 ...
|
|