真心请教一个dsp的问题(有没有出现过相同问题的)
做了一块电路板 : 板子完成的功能是2块dsp2812分别控制3块ad7712采集(同时踩)之后分别通过dsp上的can模块传出去 板子上2套采集是镜像的(PCB上)程序一样只是管脚定义不一样而已 现在出现的问题在can模块上 问题如下:与can相关的程序代码用到了影子寄存器时 当用仿真器仿真dsp时候没问题 但当程序下载到2块DSP后 一块正常工作 但另外一块必须通过硬件复位1次DSP后(除了自身上电复位)才能正常工作 若此dsp的与can相关的程序不用影子寄存器的话烧写后就不会出现此问题,有没有大侠遇到过此种问题 为什么会这样子?虽然现在不影响工作但小弟还是想知道为什么会这样子?先谢了 很多时候, 这类用仿真器仿真没问题 但当程序下载工作,需要通过硬件复位1次后才能正常工作的情况. 是上电问题, 更详细地说是上电时序问题. 通常在外设初始化之前及之后增加一段时间的延迟能够解决问题. 楼主不妨试试. 我在DSP28_Ecan.c文件中开头和结尾以及每次影子寄存器给Ecan的配置寄存器赋值的时候加了延时函数 但还是不成 不知为什么?还有什么别的方法吗?谢谢了 2# airwill 楼主,你好,我也正在学习DSP2812,并在做相关的项目,能否把你的代码给我参考一下,非常感谢,QQ:181530540 时序设定问题,需要同步时序关系,最好的办法是采用逻辑分析观察,调整 有可能是芯片的初始化流程不对,你可以对比一下官方例程,看一下从 main 到你的 while(1) 这一段,是不是有什么不同。
页:
[1]