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/MSP430G2553:使用MSP和ADS1118与K型热电偶连接进行温度采集

Guru**** 2611705 points
Other Parts Discussed in Thread: ADS1118, ENERGIA, MSP430G2553

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/657010/ccs-msp430g2553-temperature-acquisition-using-msp-and-ads1118-interfaced-with-a-k-type-thermocouple

部件号:MSP430G2553
主题中讨论的其他部件:ADS1118ENERGIAMSP-EXP430G2

工具/软件:Code Composer Studio

大家好,我们为一个项目购买了MSP430和ADS1118增强器包,用于使用k型热电偶获取温度数据并将其打印到串行COM端口。 我们在C#中创建了一个数据采集应用程序,它定期读取串行COM,以Windows格式显示,并将其另存为带有时间戳的csv文件。 我们使用Arduino和MAX6675成功实现了这一目标,但我们无法使用TI组件实现这一目标:(。 我们在Energia和CCS中都尝试过。 我们能够使用从TI软件支持下载的TI MSP430闪光灯刷新MSP。 在ADS1118 LCD中成功打印温度,因此我们可以上传简单的照片,如hello world和blink。 但温度采集和打印到序列不起作用,

任何人都有预装在MSP430中的默认温度采集程序的Energia或CCS版本源代码(现在为bin格式,我们无法编辑)。

上述链接中的程序也无法正常工作。 请帮忙!!!

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

    您是否可以使用其中一个串行示例草图将串行发送到PC?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们自定义了GitHub中的ADS1118.h库,现在我们可以将数据打印到串行, 但是,您是否具有闪存至MSP430的默认程序的源代码,即连接到ADS1118并从k型热电偶获取温度值?

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

    您好,

    您应该能够在  设备链接的登录页面上找到有关ADS1118 BoosterPack的所有查找信息。 提供 了用户指南 以及固 件的压缩文件

    此致,

    Matt Calvo

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

    尊敬的Matthew,感谢您的回复,但事实上,我们已经尝试了登录页面上捆绑的支持软件,有一个Flash帮助程序(批处理文件)可将(bin格式)草图上载到MSP430,以显示ADS 1118LCD中的温度。 该方案全面运作,稳定。 所有开关(蜂鸣器蜂鸣器温度阈值和C/F温度格式切换也正常工作),但连接到PC时不会将这些值写入串行端口, 因此,我们希望获得程序的Energia或CCS源代码,以便我们可以对其进行自定义以执行串行打印。 我们在捆绑包中看到了一个CCS代码,但我们的CCS 6or7中没有编译。

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

    当我从登录页面下载固件时,我看到原始zip文件中有另一个zip文件,其中包含MSP430G2553的CCS源代码。 请告诉我您是否也能看到它,因为这似乎是您正在寻找的CCS源代码。 从这里,您可以深入研究文件,了解如何添加串行端口接口。

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

    是的,我看到了! 正如我已经说过的那样,我们尝试编译该文件,但有一些不正确的地方,我认为问题在于“宽限” 工具, 我们尝试了不同的版本,但似乎没有什么帮助。在 调整了从GitHub获得的ADS1118库后,我们成功地通过自己自定义的Energia代码获得了一些稳定的结果 。您是否可以通过共享原始的Energia (首选)或CCS等效支持来帮助我们 登录页面zip存档中提供的package(bin/flas可 刷新)文件

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我能够重现您所提到的问题,现在我理解您的问题。 由于最近版本的CCS不再支持Grace,我将联系负责开发此增压包板和源代码的团队,以确定他们是否可以提供兼容版本的源代码供客户使用。

    感谢您将此事提请我们注意,当我收到回复时,我一定会回答您的问题。 感谢您的耐心等待!

    此致,

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

    我已经对此进行了一些深入研究,结果发现TI的另一位工程师与您在另一个岗位上合作,开发与CC3220平台兼容的源代码。 在E2E帖子( e2e.ti.com/.../63.5811万 )上,Josh附上了与CCSv7兼容的MSP430G2xx CCS项目,现在他的团队正在努力将该解决方案移植到CC3220平台。 非常感谢您的耐心等待,请留意您的SimpleLink Wifi论坛主题,当他向您提出解决方案时。 我已与他确认,他将在该进程完成后就另一个职位与你联系。

    此致,

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

    尊敬的Matthew,感谢您的快速响应,正如您所注意到的,我们在cc3220上遇到了类似的问题,但Josh承认,带有ads1118的cc3220支持软件包尚未开发,因为它是一个新软件包。 他保证了立即的支持,但他几个月没有回应,但由于我们必须按时完成项目,我们决定购买MSP430,该MSP430应该可以与ads1118配合使用,我们使用了此链接中的代码>>    但是,原始ads1118.h  库存在一些问题,我想您可以查看,另外,ads1118登录页中的CCS项目和josh https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/968/ADS1118_5F00_LP_5F00_CCSv73.zip发送的CCS代码对 我们都不起作用。 最后,我们自定义了从GitHub获取的ads1118.h库,并开发了一个Energia源代码替代程序    现在程序还可以,但没有ads1118登录页上提供的(出厂刷新的)可刷新版本(bin文件版本)那么完美,如果您能与我们分享默认MSP430 ADS1118程序的稳定Energia或CCS版本,我们将非常高兴。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    必须通过将登录页面上提供的基于Grace的旧源代码迁移到CCSv7.x兼容的版本来创建稳定的源代码CCS版本。 我已经与一位软件应用程序工程师会面,看看如何做到这一点。 同时,我找到了这个资源,它可以帮助您开始迁移旧代码( processors.wiki.ti.com/.../CCSv7_Grace_Migration )

    此致,

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

    您好,

    我已将基于CCSV7.x的5.3 Graceface源代码迁移到CCSv7.x,并附加了默认MSP430 ADS1118程序的工作CCS版本。

    e2e.ti.com/.../ADS1118_5F00_test.zip

    请告诉我您是否能够成功构建/运行它。 这将为您提供一个工作基础,以便为您的特定设计进行扩展。

    此致,

    Matt Calvo

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

    Matthew,您好,感谢您的回复,顺便说一下,代码有两个问题

    1。 该代码只能转换高达500摄氏度的温度。(我们正在尝试扩展ADS1118.h中ADC_Code2temp()的功能,使其支持高达900)

    2. 我们无法将数据打印到串行,我们尝试了System_printf(),但随后出现了内部版本错误。 (我们在 Energia中使用serial.print()完成)

    错误#1.0234万-D:仍存在未解析的符号
    错误#1.001万:链接期间遇到错误;"ADS1118_test.out未构建

    任何帮助??

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在查看ADS1118.h文件并看到ADC_Code2temp函数后,您似乎必须更改IF语句树以考虑更广泛的温度范围。

    我找到了一篇E2E文章,该文章可以为您提供一些解决串行打印数据问题的指导( e2e.ti.com/.../4.3747万 )。 在将代码导入到CCS中时,代码应该构建而不会出现问题。 导入项目后,是否添加了任何内容,哪些内容可能会产生错误?

    此致,

    Matt Calvo
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的Matthew,再次感谢您的快速响应,是的,我们已扩展ADC_Code2temp()中的If语句树以满足我们的要求,您共享的代码运行良好(但其测量值仅可达500度), 但当我们尝试将温度打印到PC的串行端口时,它显示了构建错误。
    这是我们的代码
    void ADC_DISPLAY()

    //
    二.
    Act_temp =临时;
    LCD_DISPLAY_temp (1,5,ACT_temp);
    LCD_DISPLAY_CHAR (1,11,'C');
    printf ("温度:%d!\r\n",Act_temp);//此语句导致错误。
    .
    }

    抛出错误
    --------

    链接>
    "../lnk_msp430g2553.cmd",第91行:错误#1.0099万-D:程序将不适合可用内存。对齐区域".data"大小0x102的运行放置失败。 可用内存范围:
    RAM 大小:0x200 未使用:0x22 最大孔数:0x22
    "../lnk_msp430g2553.cmd",第94行:错误#1.0099万-D:程序将不适合可用内存。对齐运行分区".stack"大小0x50失败。 可用内存范围:
    RAM 大小:0x200 未使用:0x22 最大孔数:0x22
    "../lnk_msp430g2553.cmd",第93行:错误#1.0099万-D:程序将不适合可用内存。对齐区域".sysmem"大小0x50的运行放置失败。 可用内存范围:
    RAM 大小:0x200 未使用:0x22 最大孔数:0x22
    错误#1.001万:链接期间遇到错误;"ADS1118_test.out未构建

    >>编译失败
    Makefile:159:目标'ADS1118_test.out的配方失败
    gmake [1]:***[ADS1118_test.ut]错误1
    Makefile:155:目标'All'的配方失败
    gmake:***[All]错误2
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我可以通过添加来重新创建您看到的内容

    #include <stdio.h>

    并在main函数中添加了printf()语句,它导致了相同的错误标志。 这是因为"printf()"代码非常大,并且MSP430G2553上只有.RAM 5 KB。 有关说明,请参阅此E2E帖子( e2e.ti.com/.../25.336万 )。


    您可以使用View-> Memory Allocation实时查看内存分配,并查看在添加printf()语句前后生成的代码,以查看其对RAM使用的影响。 您尝试向PC发送什么串行通信? 您是否可以使用专用串行通信外围设备来实现相同的目标,也许是Launchpad上提供的反向信道UART?

    请参阅此帖子( e2e.ti.com/.../214.7756万 ),Ryan Brown在其中举例说明了如何使用背信道UART与PC连接。

    此致,

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

    还可以  顺便说一句,我找到了你刚才提到的Ryan Brown的帖子,但遗憾的是,这并没有解决我们 的问题。 我们实际上在Energia中执行了整个代码,并且正在获得预期的结果,

    无论如何,由于Energia有局限性,我们希望在  CCS方面有公平的经验用于未来的项目,我们希望在CCS 7中重新创建整个过程,我们修改了CCS (Grace工具迁移版本) 您根据我们的温度范围要求共享的代码,一切都很好,预计串行打印会出现问题。 serial.println()在我们的Energia代码中工作正常,CCS中是否有任何其它选项希望printf()在MSP430的CCS中工作?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    对于较小的微控制器(如MSP430G2553),printf()的替代方案是使用板载串行通信外设。 CCS上有printf()支持,但它仅限于内存占用较大的设备。

    使用MSP-EXP430G2 Launchpad用户指南( www.swarthmore.edu/.../slau318b.pdf )和这个简单的"Hello World"示例( forum.43oh.com/.../ ),您可以扎实地了解背信道UART如何与主板配合工作。 您必须使用任何终端连接SW设置终端,我使用Tera Term,并初始化通信参数(在本例中,将波特率设置为9600)。 通读该示例和用户指南,全面了解其工作原理。 需要记住的一点是,在编程和代码执行过程中,UART跳线在Launchpad上的方向非常重要。

    希望这能帮助您成功实现与PC的串行通信!

    此致,

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

    如果对该请求的MSP430端的支持已完成,请继续并选择“已解决”,以便我可以关闭此线程。 感谢您的帮助!

    此致,

    Matt Calvo