大家好!我现在使用ADSP-21489在CCES上面开发项目。
关于ADSP-21489串口(uart),我现已参考官方的例程实现串口的发送数据,采用的是查询发送方式,但是考虑到串口收发的效率,我想使用中断的方式来实现串口的接收与发送,并且使用DMA,现在有一些相关的问题,劳烦大家帮忙解决一下的:
1、关于串口的收发中断,应该怎么配置中断?我看了官方例程里面有P14的概念,P14表示什么?
2、中断服务函数应该怎么创建?
(1) 比如说sport1可以像这样创建中断服务函数:
/* Install and enable a handler*/
adi_int_InstallHandler(ADI_CID_SP1I,(ADI_INT_HANDLER_PTR )TalkThroughISR,0,true);
但是据我了解,串口应该是不能用上面这个函数来创建中断服务函数的。
(2) 另外,我上网找到一些相关的例程,代码里面有如下内容:
interrupt(SIG_P0, UART0_Tx_isr);
interrupt(SIG_P1, UART1_Rx_isr);
interrupt(SIG_P2, UART1_Tx_isr);
interrupt(SIG_P3, UART0_Rx_isr);
我想,上面这四行应该就是创建中断服务函数的吧,但是我按照这个方法来尝试,程序编译不过,提示interrupt以及SIG_P0、SIG_P2、SIG_P3、SIG_P4没定义。所以我觉得这个例程应该不是CCES上面开发的,其中,SIG_P0、SIG_P2、SIG_P3、SIG_P4表示什么意思?
(3)那么,在CCES上,怎么实现这个终端服务函数怎么创建的问题呢?
3、还有,我想用DMA来实现串口传输,应该怎么实现?怎么管理串口的DMA中断?
问题如上面三点所述,请大家指点解决方法,如有相关资料和例程,麻烦发送给我参考,不胜感激,谢谢!
「该帖子被 stephenbruce 在 2017-03-30 18:09:20 编辑过」