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/MSP430FR2422:MSP430FR2422

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/959703/ccs-msp430fr2422-msp430fr2422

器件型号:MSP430FR2422

工具/软件:Code Composer Studio

尊敬的先生:  

我在编译后实现了三通道轮询方法、该方法占用了最大的内存。 如果我添加 ADC 初始化和 ADC 采样转换。 某些默认存储器占用了存储器区域。  

空 ADC_SequentialSampling (空)

int i =0;

通道= 7;
端口引脚= 0x080;

while (频道!= 4)

ADCCode[i]+= ADCSamplingDatatoRead (通道、端口引脚);
ADCNEXTCANNEL;
ADCSTOP;
频道-= 1;
Portpin >>=1;
i++;

ADCCLEAR;
ADCSTOP;
COUNT1 ++;

if (国家1 > 100)

TVSTemPCount = ADCCode[0]/100;
LekageCount = ADCCode [1]/100;
TVS DummyCount = ADCCode [2]/100;

TVSlekagePositiveVolt =(float)((TVSTempCount * 3.3)/ 1023);
TVSEarthleakageVolt =(float)((LekageCount * 3.3)/ 1023);
TV_TemperatureMVolt =(float)((TV_DummyCount * 3.3)/ 1023);
TVSTempCount = 0;
LekageCount = 0;
TVS DummyCount = 0;
COUNT1 = 0;
I = 0;

 它将占用最大的内存。 FRAM 大小达到7.3KB。 如何减少内存。  

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

    我的第一个猜测是浮点支持库代码正在占用您的代码空间。

    是否可以使用缩放整数而不是浮点来完成所需的操作? 例如、将所有内容乘以1000并将其保持为整数、然后在使用时将其考虑在内。

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

    我同意 Bruce 的观点、即浮点是占用大量代码空间的根本原因。 您能否尝试将其更改为整数计算、看看是否有任何改进?  

    谢谢、  

    Lixin