主题中讨论的其他器件:C2000WARE
工具/软件:Code Composer Studio
你(们)好
我正在尝试在 cpu02上运行 C2000软件示例 buffdac_sine_cpu01。 当我在 cpu01上运行时、它工作正常、但在 cpu02上、DAC 输出卡在零。 程序加载到 cpu02上并执行、但 DAC 输出不工作。
我对 CCS 和 MCU 非常陌生。 您能否解释在 cpu02上运行 buffdac_sine_cpu01的过程? 谢谢
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
你(们)好
我正在尝试在 cpu02上运行 C2000软件示例 buffdac_sine_cpu01。 当我在 cpu01上运行时、它工作正常、但在 cpu02上、DAC 输出卡在零。 程序加载到 cpu02上并执行、但 DAC 输出不工作。
我对 CCS 和 MCU 非常陌生。 您能否解释在 cpu02上运行 buffdac_sine_cpu01的过程? 谢谢
尊敬的 Francesco:
要控制 CPU2上的外设、您必须为 CPU2提供外设所有权、因为 CPU1默认拥有所有外设。 请按照此帖子中的建议操作、如果您有任何疑问、请告知我们。
谢谢、这解决了我的问题。
在我使用的 cpu01上运行的程序中
EALLOW; DevCfgRegs.CPUSEL14.bit.DAC_A = 1; EDIS;
将 DAC_A 的所有权转让给 cpu02;
然后、在我使用的要在 cpu02上运行的程序中
EALLOW; DacaRegs.DACCTL.bit.DACREFSEL =基准; DacaRegs.DACOUTEN .bit.DACOUTEN = 1; DacaRegs.>DACVALS.ALL = 0; DELAY_US (10); //缓冲 DAC 加电 EDIS 的延迟;
来配置 DAC_A
之后、使用设置一个值
DacaRegs.DACVALS.ALL = 2048;
我在 cpu02上运行时检查了 DAC_A 是否正常工作(寄存器 DACVALA 已正确更新、并且从"Expressions"窗口中检查了其值)。
对于这两个程序,我都使用了 C2000Ware 中的 F2837xD_xxxx 源来实现 InitSysCtrl()、InitPie()等
链接的链接
cpu01上的2837xD_RAM_lnk_CPU1.cmd 和 F2837xD_Headers_nonBIOS_CPU1.cmd、具有预定义符号 CPU1
cpu02上的2837xD_RAM_lnk_CPU2.cmd 和 F2837xD_Headers_nonBIOS_CPU2.cmd、具有预定义符号 CPU2
也许其他人会发现这些信息很有用。
谢谢
弗朗西斯科