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.

[参考译文] CCS:6.0

Guru**** 2595800 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/666512/ccs-ccs6-0

工具/软件:Code Composer Studio

在读取ADC值方面,我在CLA上遇到了一些麻烦。 我开始了基于ClaAdc示例的代码,最初,我修改了这个示例,将3个ADC值读为简单的整数变量,然后尝试将这些值存储在3 (ADC) x 20 (数组大小)数组中,这是我遇到问题的地方。 第一个数组中的值将更新,但其他值 不正确。 我还尝试调整调用的CLA中断的频率,但这没有任何影响。 CLA代码如下所示。

_Cla1Task2:   MMOVZ16   MR0, @_ConversionCount               ;1当前转换   ;Ch0   MMOV16    MAR1,MR0,#_Ch0                      ;2点MAR1寄存器到Ch0[ConversionCount]   MNOP                                             ;3等待   MNOP                                             ;4等待   MNOP                                             ;5等待                                                   MNOP                                             ;7等待I8读取结果MADMPV0       ,MULM0,MORM0,@ MAD0,MULV0          ,MAD0,MNOP,M0,MAD0,MNOP,M0,M0,M0,MAD0,M0,M0,M0,M0        MR2                            ;9使用指向Ch0[ConversionCount]的指针存储ADCRESULT0   ;Ch1   MMOV16    MAR1,MR0,#_Ch1                      ;2点MAR1注册到Ch1[ConversionCount]   MNOP                                             ;3等待   MNOP                                             ;4等待   MNOP                                             ;5等待   MNOP                                                                                             ;7等待I8读取结果   MMOVADMR1    ,MADM0,@ MADM0          ,MADM0,MADM0,MADM0,MADM0,MAD1,MADMADM0,M0,MADM0,M0,MADM0,M0,M        MR2                            ;9使用指向Ch1[ConversionCount]的指针存储ADCRESULT1   ;Ch2   MMOV16    MAR1,MR0,#_Ch2                      ;2点MAR1注册到Ch1[ConversionCount]   MNOP                                             ;3等待   MNOP                                             ;4等待   MNOP                                             ;5等待MNOP                                                ;                                                7等待I8读取结果MMOVZMR1       ,MAD1,MESMAD1,MAD1,MADM0,M0,M0,@ MAD1,MADMADM0,M0,M0,MADM0,M0,MAD1,M0,MADM0                  MR2                            ;9使用指向Ch1的指针存储ADCRESULT1 [ConversionCount]

   MADDF32   MR0,MR0,#MNOP                        ;将1添加到ConversionCount   MCMFP32   MR0,#NUM_DATA_points.0               ;将ConversionCount比较为最大   MF32TOUI16 MR0,1.0                              ;将count转换为UINT16   MNOP   MNOP   MBR1    _RestartCount,GEQ                    ;如果count >=== MMOVI_Points MMOM0                                                 @,MNOP M0,MMOMNOP,M0,MNOP,MMOM0,MNOP,M0,MNOP,MNO0,MMOM0,0.0 ,MNOP                 如果未采取分支,则存储当前计数   MSTOP _RestartCount   MMOV16    @_ConversionCount, MR1                ;如果采取分支,则重新启动计数   MSTOP   MNOP   MNOP   _CLA1T2End:

是否有人提供帮助? 谢谢你

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,

    您是否尝试过为CLA编写C代码并编译该代码?

    它应该更容易开发和调试。

    此致,
    SAL