我在做C6455芯片的MCBSP1的EDMA3传输,(传输位宽为8bit,同步模式A,在DLB模式下测试)遇到了一些问题:
1、每次完成EDMA传输,产生中断之后,我又要重新对MCBSP1的寄存器进行初始化,才能进行下一次传输,而不是只配置EDMA寄存器就可以(选择的STATIC_DIS);
2、每次完成传输,我发现接收总是多接收一个字节(第一个字节固定是0x00),因此我的接收长度比发送长度多一个字节才能接收完整;
3、当我把MCBSP1的时钟分频设置成0(1分频)的时候,我发现接收的数据是不完整的,会出现一个字节重复接收两次,有的字节却丢失了(我需要166MHZ的时钟才能满足传输需求);
这几个问题有人能给我提供帮助吗?非常感谢。
Tony Tang:
Z T(我需要166MHZ的时钟才能满足传输需求)
McBSP哪能达到这么高的时钟速度啊。
Z T:
回复 Tony Tang:
我当时看的手册,cpu固定6分频到sysclk3,是166MHz,然后在mcbsp的SRGR'寄存器的CLKGDV写0,不就是可以配置到时钟166MHz吗?
Tony Tang:
回复 Z T:
ESR是event set register,这是用来手动触发,一般用做调试,或者内存到内存传输时用的。如果是用外设的事件触发,不应该设这个寄存器啊。