
我用飞思卡尔的K60调试一个UART接收,但是k60芯片的接收数据寄存器只有一个字节,我那个模块在 70
我用飞思卡尔的K60调试一个UART接收,但是k60芯片的接收数据寄存器只有一个字节,我那个模块在那边却一下就要发送一个比较数长的,每次读那个接收数据寄存器只能读到其中一...
我用飞思卡尔的K60调试一个UART接收,但是k60芯片的接收数据寄存器只有一个字节,我那个模块在那边却一下就要发送一个比较数长的,每次读那个接收数据寄存器只能读到其中一个数据,该如何解决?中断方式还是DMA方式?有大神能指导一下吗?
展开
展开全部
写一个接收中断函数,在里面用数组把接收到的数存起来。
void UART_Init(void)
{
uart_init_struct.UART_Uartx = UART4; //使用UART4
uart_init_struct.UART_BaudRate = 115200; //设置波特率115200
uart_init_struct.UART_RxPin = PTE25; //接收引脚为PTE25
uart_init_struct.UART_TxPin = PTE24; //发送引脚为PTE24
uart_init_struct.UART_RxIntEnable=TRUE;
uart_init_struct.UART_RxIsr = uart_isr;//接收中断函数
LPLD_UART_Init(uart_init_struct);
LPLD_UART_EnableIrq(uart_init_struct);
}
void uart_isr(void)//中断函数里做处理
{
recv[i]=GetChar(UART4);
i++;
}
//本例程用的LPLD库
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询