为什么还是0x0606呢?——兄弟,FIFO的原理你总知道点吧!它有两个指针,主机这边往里写操作的是写指针,每写一个字节指针前进一次;DSP这边操作的是读指针,每读一个字节指针前进一次。现在的情况是,你写了4个字节,写指针应该指向4(或者是3吧,假定从0开始的);DSP读到4个字节之后,读写指针指到同一个位置,再读指针也不会前进了。所以后边的就是固定数06。大致就是这样。
是不是用的双缓冲,跟你初始化有关系,没搞清概念之前,别瞎猜。
15楼出错的图不是发的512字节。这个图发到第二次就出错了。
你怎么发的两次512,而且还都读对了?用VC6的程序还是cyconsole?即便发下去了,DSP也不会缓冲两次数据,再分别发回来。实际应用没这么用的。你继续上图吧。 |