gpt4 book ai didi

arm - 在 lpc 2468 中配置 UART1

转载 作者:行者123 更新时间:2023-12-04 22:22:25 25 4
gpt4 key购买 nike

我正在研究基于 lpc2468 ARM 的微 Controller 。我无法配置 Controller 的 UART1。以前我出于同样的目的使用 UART0,但由于硬件的一些变化,现在我不得不使用 UART1。

我想将GPRS模块(SIMCOM 300)连接到微 Controller 的UART1。到目前为止,这是我的代码:

void init_serial_gprs (void){
PINSEL7 |= 0x0000000F;
U1LCR = 0x00000080;
U1DLL = 0x00000041;
U1DLM = 0x00000000;
U1LCR = 0x03;
VICVectAddr7 = (unsigned)serial1_isr;
VICIntEnable = 1 << 7;
SBUF= U1RBR;
U1IER = 3;
}

void serial1_isr(void) __irq {
volatile char dummy;
volatile UWORD32 IIR1;

/*------------------------------------------------
Repeat while there is at least one interrupt source.
------------------------------------------------*/
while (((IIR1 = U1IIR) & 0x01) == 0)
{
switch (IIR1 & 0x0E)
{
case 0x06: /* Receive Line Status */
dummy = U1LSR; /* Just clear the interrupt source */
break;

case 0x04: /* Receive Data Available */
case 0x0C: /* Character Time-Out */
SBUF= U1RBR;
if(genflag.fl_m_psw || new_st == 0 ||new_st == 0x1f){
if(genflag.gprs_con) receive_data();
else
receive_data_gprs();
}
break;

case 0x02: /* THRE Interrupt */
if(genflag.gprs_con) transfer_data();
else transfer_data_gprs();
dummy = U1LSR;
break;

default:
break;
}
}
VICVectAddr = 0; /* Acknowledge Interrupt */
}

最佳答案

您是否尝试先针对哑终端(hyperterm、minicom、putty)轮询串行端口以确保您具备基础知识,然后再转向中断?

关于arm - 在 lpc 2468 中配置 UART1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8339324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com