TIwilliam hill官网
直播中

李宏

7年用户 174经验值
私信 关注
[问答]

麻烦问一下,c6678串口是否支持全双工呢?

麻烦问一下,c6678串口是否支持全双工呢?如支持,怎么使用呢?

回帖(7)

王英

2018-6-19 07:56:49
UART支持双工,william hill官网 有例子,你找一下。
举报

李宏

2018-6-19 08:08:12
引用: hdfsf 发表于 2018-6-19 07:56
UART支持双工,william hill官网 有例子,你找一下。

非常感谢您这么快回答我的问题!
我查看了串口资料,发现收发寄存器RBR,THR地址是一样的,说明收发共用了一个寄存器,这时候我该怎么才能做到一边收数据的同时一边发数据呢?
举报

王英

2018-6-19 08:23:02
引用: csyyyyy 发表于 2018-6-19 08:08
非常感谢您这么快回答我的问题!
我查看了串口资料,发现收发寄存器RBR,THR地址是一样的,说明收发共用了一个寄存器,这时候我该怎么才能做到一边收数据的同时一边发数据呢?

RBR,THR只是共享地址,内部还是分开的,如果你使用fifo模式,从手册你可以看到tx和rx 有各自的fifo,可以进行全双工通信。
举报

李宏

2018-6-19 08:41:23
引用: hdfsf 发表于 2018-6-19 08:23
RBR,THR只是共享地址,内部还是分开的,如果你使用fifo模式,从手册你可以看到tx和rx 有各自的fifo,可以进行全双工通信。

非常感谢您的回复,我把串口输入输出直连,验证了一下,是全双工的。
还有个问题想请教一下:我在william hill官网 提供例子http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/8458.aspx
基础上修改了uart收数据部分,去掉了EDMA相关程序,程序在core0可以正常中断接收数据。现在我想将这个工程放在core1上运行,还需要修改哪些地方呢?是否修改底下这部分程序,注释部分理解起来有点困难啊,需要看哪些资料?
void UART_Interrupts_Init(void)
[
 CP_INTC_Init_UART();
 
 //map Uart Rx interrupt to INT4
 /*on Nyquist, INTC0 out64 event number are 22 on core 0  
 on Shannon, INTC0 out33 event number are 22 on core0  
 map this event 22 to INT4 */
 CGEM_regs->INTMUX1 = (22<   /*Clear all DSP core events*/
 CGEM_regs->EVTCLR[0]=  0xFFFFFFFF;
 CGEM_regs->EVTCLR[1]=  0xFFFFFFFF;
 CGEM_regs->EVTCLR[2]=  0xFFFFFFFF;
 CGEM_regs->EVTCLR[3]=  0xFFFFFFFF;
 //clear DSP core interrupt flag
 ICR= IFR;
 //enable INT4, 5, 6
 IER = 3|(1<<4)|(1<<5);
 /*Interrupt Service Table Pointer to begining of LL2 memory*/
 ISTP= 0x800000;
 //enable GIE
 TSR = TSR|1;
]
举报

更多回帖

发帖
×
20
完善资料,
赚取积分