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/TMS320F28035:tms320f28035

Guru**** 2589300 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/666513/ccs-tms320f28035-tms320f28035

器件型号:TMS320F28035

工具/软件:Code Composer Studio

_Cla1Task2:    MMOVZ16   MR0、 @转换计数               ;1电流转换    

;通道0    

MMOV16    MAR1、MR0、#_Ch0                      ;2点 MAR1寄存器至 Ch0[转换计数]     

MNOP                                             ;3等待    

MNOP                                             ;4等待     

MNOP                                             ;5等待    

MNOP                                             ;6等待     

MNOP                                             ;7等待 I8读取结果     

MMOVZ16   MR2、 @μ_AdcResult.ADCRESULT0          ;8读取 ADCRESULT0     

MMOV16    * MAR1、MR2                            ;9使用指向 Ch0[转换计数]的指针存储 ADCRESULT0    

;通道1    

MMOV16    MAR1、MR0、#_Ch1                      ;2点 MAR1寄存器至 Ch1[转换计数]     

MNOP                                             ;3等待    

MNOP                                             ;4等待     

MNOP                                             ;5等待     

MNOP                                             ;6等待     

MNOP                                             ;7等待 I8读取结果     

MMOVZ16   MR2、 @μ_AdcResult.ADCRESULT0          ;8读取 ADCRESULT1     

MMOV16    * MAR1、MR2                            ;9使用指向 Ch1[转换计数]的指针存储 ADCRESULT1    

;通道2.    

MMOV16    MAR1、MR0、#_Ch2                      ;2点 MAR1寄存器至 Ch1[转换计数]     

MNOP                                             ;3等待     

MNOP                                             ;4等待     

MNOP                                             ;5等待     

MNOP                                             ;6等待     

MNOP                                             ;7等待 I8读取结果     

MMOVZ16   MR2、 @μ_AdcResult.ADCRESULT0          ;8读取 ADCRESULT1     

MMOV16    * MAR1、MR2                            ;9使用指向 Ch1[转换计数]的指针存储 ADCRESULT1

MADDF32   MR0、MR0、#1.0                        ;在转换计数中添加1     

MCMPF32   MR0、#NUM_DATA_POINS.0               ;比较转换计数到最大值    

MF32TOUI16 MR0、MR0                              ;将计数转换为 UINT16     

MNOP    

MNOP     

MBCNDD    _RestorartCount、GEQ                    ;If count >= NUM_DATA_POINS     

MMOVIZ    MR1、#0.0                             ;预先载入 MR1为0    

MNOP     

MNOP     

MMOV16    @_ConversionCount,MR0                ;如果没有分支,则存储当前计数     

MSTOP

_RestorartCount    

MMOV16    @_ConversionCount、MR1                ;如果采用分支、则重新启动计数    

MSTOP     

MNOP    

MNOP    

MNOP

Cla1T2End:

我 在  Example_2803xClaAdc.c 中定义了 Ch0[ConversionCount]、Ch1[ConversionCount]、Ch2[ConversionCount]和 ConversionCount

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

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉、我忘记了发布问题
    在读取 ADC 值时、CLA 遇到了一些问题。 我根据 ClaAdc 示例开始我的代码、最初、我对该示例进行了调整、将3个 ADC 值读取为简单的整数变量、然后尝试将这些值存储在3 (ADC) x 20 (阵列大小)数组中、这正是我遇到问题的地方。 第一个数组中的值是正确的、但其他的值不正确、从某种意义上讲、这些数组结果是相同的
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    哪个阵列是正确的? CH0? 通道1? 通道2?

    我现在不明白为何只有一个是正确的。 是否所有数组都位于分配给 CLA 数据存储器的 RAMLS 块中?

    我有几点意见。

    1) 1)对于 ConversionCount 整数索引、我建议使用 MADD32和 MCMP32、它们在整数上运行。 然后、您还将不需要 MF32TOUI16指令。 然后、您将需要替换此指令"MMOVIZ" MR1、#0.0"您可以从内存加载一个值、您知道该值为0x00000000。 或带有 MR 寄存器的 MAND32 MR1、其中包含0x00000000。


    2) 2) MSTOP 之后不需要3个 MNOP。


    3) 3)您可以用 C 语言编写此函数。CLA 编译器支持 C 语言代码。

    此致、
    SAL