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.

[参考译文] MSP430L092:加载器API函数不能正常工作

Guru**** 2513045 points
Other Parts Discussed in Thread: MSP430L092

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/665736/msp430l092-loader-api-functions-don-t-seem-to-work

部件号:MSP430L092

我们在从EEPROM启动的产品中使用MSP430L092。  我们正在将程序下载到EEPROM,处理器启动并正常运行。  但是,我们希望将一些校准信息放入EEPROM中,并希望将加载器API函数用于此目的。  在测试几个函数时,它们似乎没有返回预期值,或者根本没有返回(处理器似乎崩溃)。  我可以理解为什么我们可能会遇到与EEPROM进行实际对话的函数问题,但返回的一个函数是SWID函数,但R12和R13中的值与预期的完全不一样。  我可以理解为什么R12与文档不同,因为它指的是加载器软件版本,但R13包含TI和MSP430的标识符,也不正确。  我们已经阅读了《M 430L092装载机代码用户指南》以及《M 430x09x系列用户指南》中有关装载机代码的第8章。  这一切看起来都很简单,这意味着我们在调用函数之前缺少一些应该做的事情。  函数调用的一个示例是:

调用   &0xF884 ;SWID

在固件启动后,我们会立即执行此调用,然后再修改时钟速度或端口配置。  在调用函数向量之前,我们是否需要执行某些操作来使这些函数可用?  我们看了Michael Pedigo的主题,标题为“加载程序的API函数似乎都不起作用”,他似乎遇到了类似的问题,但我看不到解决方案。


至于loader.h文件,我们已经根据文档中的信息重新创建了它,因此除非该文件实际包含的 信息与文档中的信息不同或其他信息,否则可能对我们没有用处。

如有任何帮助,我们将不胜感激。

谢谢!

Robert Buchanan

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

    最近还有其他几个类似您的请求。 您甚至可以自己找到其中一个。 我将推动我们的内部团队进行此项工作,看看我们能否提供您所经历行为的解释以及官方loader.h文件。 感谢您在此期间的耐心等待。

    我将随时向您通报最新情况,如果您取得了任何进展或有任何其他问题,请随时通知我。

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

    感谢您的快速回复。 如果有任何关于我们所做工作的其他信息,请告诉我。

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

    您好,Caleb,

    关于这个主题有什么新的内容?  我们正处于开发阶段,我必须找到另一种保存配置信息的方法。 不幸的是,当生产人员设置设备时,这可能需要更多的工作,并且可能需要我们使用不同的处理器重新设计系统。

    此致,

    Robert Buchanan

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

    我对沟通的延误表示歉意。 跟踪此操作所需的信息尤其困难。 您是否可以提供您创建的loader.h文件,以便我验证所有设置是否正确?

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

    该文件仅包含我们计划可能需要的功能。 内容包括:

    ;*****************************************************************

    ; LoaderAPI.h

    ; 此模块包含L092加载器代码API的定义

    ;*****************************************************************
    #define SWID 0x0F884
    #Define LedOn 0x0F886
    #Define LedOff 0xF88A
    #Define SpiReadByte 0x0F894
    #Define SpiWriteByte 0x0F89C


    我们再次使用IAR开发系统和汇编语言的编程。 根据文档,这些地址实际上是函数的向量,而不是函数本身的地址,因此对这些函数的外调用示例为:

    调用&SWID

    我们预计该功能的结果为R12和R13。

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

    感谢您提供此信息。 您似乎正在正确调用SWID函数。 您在R12和R13寄存器中看到什么值?

    此外,在执行读/写操作时,您是否能够使用逻辑分析器探测SPI线路以查看是否有任何活动?

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

    我似乎在测试SWID命令时丢失了笔记。 我无法使用仿真器轻松获取此信息,因此需要一段时间才能重新设置系统以重新执行测试。 明天上午我应该向你们提供这些信息。 至于SPI信号,我从未检查过它们的命令,以读取和写入EEPROM。 由于SWID命令不起作用,而且它只是获取内部加载程序的版本信息,我没有花更多时间去了解读/写命令。 我还将尝试它们,看看是否看到任何SPI通信。 我们的程序确实可以从EEPROM正常加载,所以我知道基本SPI接口工作正常。

    如果您有任何其他需要我查看的内容,请告诉我,我会将其添加到我的测试中。

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

    在从SWID调用重新检查寄存器时,R12和R13中的值似乎与文档所示的值相交换。 R13显示0x0302,而R12显示0x2843。 我最初只看了R13,因为它应该有TI/MSP标识符。 另外,当我尝试SpiReadByte函数时,它在读取过程中锁定。 使用示波器时,我确实可以看到时钟,MOSI和芯片选择信号上的活动,因此该功能似乎正在尝试工作。 我们的逻辑分析器现在正用于调试另一个项目,但我应该能够在明天将其转移到该项目,以便更好地查看信号。 我会在收到更多信息后尽快回复您。

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

    您好,Robert:

    感谢您提供信息。 您是否还可以提供我们可以用来尝试重新生成问题的代码? 如果代码是最小的并且只包含重现问题所需的内容,则此功能会有所帮助。

    此致,
    Caleb Overbay

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

    只是快速更新。 我查看了SWID函数的源代码,并确认您在正确的寄存器中看到了这些值。 这是文档中的打字错误。 在接下来的一周内,我将创建一个loader.h文件和示例应用程序,以测试该功能,并有望解决此问题。 您是否在这方面取得了任何进展?

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

    您好,Caleb,

    很抱歉耽误你的时间。  是的,我们取得了一些进展。  我认为我对字节读取功能的问题可能是我们的问题。 我今天将测试更多的字节读取功能,并将告知您。

    loader.h官方文件将会很好...谢谢。

    此致,

    Robert Buchanan

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

    很抱歉耽误你的时间。 读取字节函数的部分问题出现在我们的端,我想我们已经解决了。 但我们仍然有一个问题。 明天我应该为您提供更多信息。

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

    您好,Caleb,

    我们解决了一个问题,即EEPROM过早断电。  但是,SpiByteRead函数仍存在问题。  如果你能告诉我我们缺少了什么。  下面是测试程序的代码。  它非常简单,因为我在调用API函数之前不更改时钟速度或使用中断。

    //*************************************************************************************************
    
    ////
    
    LoaderAPI.h
    
    ////
    
    本模块包含L092加载器代码API
    
    ////*****************************************************************************************************************的定义
    
    
    
    #define SWID 0x0F884
    
    #define LedOn 0x0F886
    
    #define LedOff 0xF88A
    
    #define SpiReadByte 0x0F894
    
    #define SpiWriteByte 0x0F89C
    
    ;**********************************************************************
    
    ;;;
    
    main.s43;
    
    
    
    ; 此模块是一个简单的程序,用于测试
    
    ;加载器API函数
    
    ;
    
    ;*****************************************************************
    
    包括"MSP4S.h" ;#define受控的include文件
    
    #include "Loaderapi.h";加载器API定义
    
    命名main ;模块名称
    
    公共主菜单 ;使主标签可见
    
    ;在此模块外
    
    #define true 1#define
    
    false 0
    
    ;
    
    ;中断向量
    
    ;
    
    #if debug
    
    ORG 0FFE0h
    
    #else
    
    ORG 01C60h
    
    #endif
    
    DC16集成 ;无效中断--只需返回
    
    DC16集成 ;无效中断--只需返回
    
    DC16集成 ;无效中断--只需返回
    
    DC16集成 ;无效中断--只需返回
    
    DC16集成 ;无效中断--只需返回
    
    DC16集成 ;I/O端口P2 (P2IFG.0至P2CONFIG.3)
    
    DC16 INVINT;Timer0_A3 (TA0CCR1 CCIFG1)-中断示例
    
    DC16集成 ; Timer0_A3 (TA0CCR0 CCIFG0)
    
    DC16集成 ;I/O端口P1 (P1IFG.0至P1IFG.6)
    
    DC16集成 ; A池(CxIFG)
    
    DC16集成 ; WDTIFG
    
    DC16集成 ; Timer1_A3 (TA1CCR1 CCIFG1)
    
    DC16集成 ; Timer1_A3 (TA1CCR0 CCIFG0)-发射中断
    
    DC16集成 ;用户NMI (NMIFLG)
    
    DC16集成 ;系统NMI (SVMIFG, VMAIFG)
    
    DC16初始化 ;重置引导程序地址
    
    RSEG CSTACK ;段的预声明
    
    RSEG代码 ;将程序放入'code'段
    
    初始化: MOV #SFE (CSTACK),SP ;设置栈
    
    主: NOP ;主程序
    
    MOV.W #WDTPW+WDTHOLD,&WDTCTL;停止监视计时器
    
    BIS.B #0x60,&P1DIR
    
    BIS.B #0x40,&P1OUT
    
    #IF FALSE;测试软件ID函数
    
    调用&SWID
    
    #IF FALSE;检查R13的TI/MSP版本
    
    CMP.W #0x2843, R13;这将产生故障
    
    #else;检查TI
    
    的MSP版本0x2843 这将生成成功
    
    的#endif
    
    JEQ IndSuccessess
    
    JMP IndFailure;调用
    
    #endif没有返回;END SWID函数测试
    
    #if true;测试EEPROM读取字节函数
    
    测试100//
    
    调用&LedOn SPI
    
    MOV.W #0,R12
    
    MOV.W #0,R13; 读取EEPROM
    
    调用的第一个字节&SpiReadByte
    
    #if true // delay in loop,以启用范围/逻辑分析器SPI监控
    
    NOP
    
    NOP
    
    NOP
    
    NOP NOP
    
    
    
    NOP
    
    NOP
    
    NOP
    
    NOP
    
    NOP NOP NOP
    
    NOP
    
    NOP
    
    NOP
    
    NOP
    
    JMP test100
    
    #endif
    
    cmp.B #055H,R12
    
    JEQ IndSuccessess
    
    JMP IndFailure
    
    #endif;End SpiReadByte函数测试
    
    ;
    
    指示成功-- up pulse
    
    ;
    
    Indess
    
    BIS.B #040h,&P1OUT
    
    BIC.B #040h,&P1OUT
    
    NOP
    
    NOP NOP NOP NOP NOP成功
    
    
    
    
    
    
    
    NOP
    
    NOP
    
    NOP
    
    NOP
    
    NOP NOP NOP
    
    NOP
    
    NOP NOP NOP
    
    
    
    
    
    JMP IndSuccessess
    
    ;
    
    ;Indicate Failure -- Down pulse
    
    ;
    
    IndFailure
    
    BIC.B #040h,&P1OUT
    
    BIS.B #040h,&P1OUT
    
    NOP
    
    NOP
    
    NOP NOP NOP NOP NOP NOP NOP NOP
    
    
    
    
    
    NOP
    
    NOP
    
    NOP
    
    NOP
    
    NOP NOP NOP
    
    NOP
    
    NOP NOP NOP
    
    
    
    
    
    JMP IndFailure
    
    INVINT NOP
    
    RETI
    
    结束 

    检查读取函数时,我有两个选项...一个用于检查返回的值并指示成功或失败,另一个用于循环并反复调用读取函数,以便能够轻松检查SPI信号。

    下面是初始程序加载期间时钟(蓝色)和MOSI (红色)的范围屏幕截图。  位定时和电压级别都是我所期待的,处理器发出状态读取请求,然后发出字节读取请求。

    下面是SpiByteRead呼叫过程中活动的范围屏幕截图。

    此处显示的两个方面是极慢的SPI时钟和较高的基电压电平。  从代码中可以看出,我不是在更改处理器时钟速度,也不是在更改设置,计时器或其它端口。  也许这里有一些东西确实需要设置SPI函数以具有正确的SPI时钟。  至于基电压升高,我不知道...我希望您能这样做。

    我们正在使用MM9.5512万-DFDW6TP EEPROM,正如您从第一个屏幕截图所看到的,启动时的程序加载功能工作正常,所以我知道基本SPI接口正常。

    如果您需要更多信息,请告诉我。

    此致,

    Robert Buchanan

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

    除了MSP430L092之外,是否可能还有其他因素驱动SPI线路?

    我刚收到一个目标板来测试您的代码,但我在让最新版本的IAR与此设备正常配合使用时遇到了一些问题。 您使用的是什么版本的IAR?

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

    您好,Caleb,

    至于SPI信号,我在原理图中看不到在程序启动后影响SPI信号的任何东西,在程序加载期间不会影响这些信号。  但在该区域,主板上安装了一些修补程序。  我会看看是否可以获得这些修补程序的新示意图并进行检查。

    我用于此主板的IAR副本有6.30 版本1,常用组件是7.2 .0.3640 版本。

    此致,

    Robert Buchanan

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

    您好,Caleb,

    SPI信号上唯一的信号是47k上拉电阻器,电压为+1.8V。  这不会影响处理器加载程序时的信号,所以我不明白为什么它们会影响程序启动后的信号。  但您认为这可能是一个问题吗?  我想我们这里有一个L092测试目标板。  如果我可以找到它,我将看到我是否可以在其中尝试我的代码。

    此致,

    Robert Buchanan

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

    我从未听说过在SPI线路上使用上拉电阻器。 通常,上拉电阻器用于I2C通信。 您是否可以拆下电阻器并再次尝试通信?

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

    删除拉线解决了基线提升问题,现在使用API时,我获得了良好的信号水平。 我仍有极慢的时钟频率,没有或无效的关于miso的信息。 此时,我认为miso问题必须在我们的最后。所以,在我向您提供更多信息之前,我想唯一想让您思考的是如何提高SPI时钟频率。 同样,程序加载时钟速率也很好,程序刚启动,我正在使用API函数。

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

    如果您提供原理图中的MSP430部分以验证所有设置是否正确,可能会有所帮助。 我还将与TI内部的专家一起努力了解导致时钟频率降低的原因和可能的修复方法。

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

    您好,Caleb,

    昨天我开始初始化时钟,发现SPI时钟发生了变化,这是意料之中的事。  我今天会再多玩几遍, 看看会发生什么。  我现在似乎对 昨天尝试的两个SPI时钟频率的每一个都得到了一致的响应,但这两个频率的结果不同,两者都不符合预期。  我会告诉你我的测试结果。  今天下午我还会试着给你们一份原理图的副本,但是我得拿一些专有的信息。  但是,除了校准阶段的API之外,应用程序本身似乎运行良好。

    此致,

    Robert Buchanan

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

    您好,Caleb,

    下面是主板示意图中与处理器相关的部分。  有几个补丁,但仅与始终启用u11有关,以保持EEPROM通电,并使用HDR1上的引脚11和12作为EEPROM芯片选择信号。  我现在还删除了R46和R47,这对时钟和MOSI信号的低电平进行了修正。

    我还尝试过将系统时钟设置为不同的速度。  相关时钟似乎是MCLK。  如果我以1 MHz运行MCLK,我得到的SPI时钟速度大约是程序加载过程中看到的速度的一半,但信号不是像样的方波,也不是 程序加载过程中看到的信号的高。  屏幕截图如下:

    因此,似乎还需要设置其他设置才能获得正确的结果??

    我将在启动我的正常应用程序代码时加入这个字节读取函数,在所有内容都已初始化并看到发生了什么情况后。  如果您想让我尝试其他任何内容或需要我提供的信息,请告诉我。

    此致,

    罗伯特

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

    您的修改是否包括移除与MSP430 RST系列的u11 EN连接? 连接到RST引脚时必须格外小心,以确保设备不会意外重置。 此外,TI建议在RST线路上使用1.1nF保护罩。

    我假设您在MOSI_F,Miso_F,SCLK_F和MOSI,Miso和SCLK连接之间有某种电压电平转换? 如果没有,我强烈推荐它,因为MSP和EEPROM在不同电压下工作。 您可以在设备用户指南的8.2 和8.2 Tm3部分找到此设备的典型目标硬件配置示例以及适配网络。

    您能解释一下连接到MSP的WFP 1.1 的电路吗? 另外,原理图上的“WFP 1.2 ”连接在哪里?

    最后,我将与我们的专家合作,了解在调用API函数之前是否需要进行任何类型的初始化。 不幸的是,他目前因疾病而不在办公室,因此这一问题的答案将被推迟。

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

    与RST线路的U11EN连接是在系统重置并保持电源几秒钟时为EEPROM供电,以允许处理器从EEPROM启动。 但是,由于我们现在想要使用EEPROM保存固件生成的校准信息,因此我们正在对电路进行重新处理,以允许固件根据需要启动和关闭EEPROM。

    EEPROM由~Ω 1.8 V供电,因此我想我们的硬件工程师不需要SPI信号的电压转换器。 但我会将此信息与推荐的RST CAP一起传递给他。 当我给你们看原理图时,我忘了提到它显示的EEPROM不是我们正在使用的EEPROM。 我们已将其更换为MM9.5512万-DFDW6TP EEPROM。 我想我以前曾提到过这一点,但这是以前的许多信息。

    WFP 1.1 是来自频率检测器的输入信号。 我们将使用非常低的射频发射器向固件提供控制信号。

    另外,我刚刚打开了另一个关于温度传感器的标签。 我不知道你是否可以抓住它或者它是否只是随机分配的。 但如果您能接受,我将不胜感激。

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

    我想给你们一个关于这个的快速更新。 编写API和loader.h文件的工程师休假后返回,我有机会就您遇到的问题与他同步。

    在使用API之前,似乎需要执行一些初始化。 不幸的是,加载器代码文档在这方面描述得不是很详细。 我正在为您创建一个装配体示例,以便进行测试,我将尽量最迟在星期一下午将其提供给您。

    请记住,我正在对MSP-TS430L092 EVM上的所有组件进行测试,因此我们的设置之间可能存在一些硬件差异。 此外,我们还需要对您的设置中可能导致SPI通信行为不正确的硬件错误保持警惕。 再次感谢您对此事的耐心等待。

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

    您好,Caleb,

    感谢您的更新。

    此致,

    Robert Buchanan

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

    您好,Robert:

    我有好消息! 我想我已经找到了问题的根源。 我在创建示例时发现了一些主要问题:

    1.  MSP430L092加载器代码用户指南表2中提供的地址 不正确
      1. 您会注意到SWID的地址是0xFF86,而LedOn的地址是0xFF8A
        1. 它只被认为是0x02而不是0x04的增量,并且它放弃了所有其他地址
      2. 可以在随附的loader.h文件中找到正确的地址
    2. API软件寄存器需要解锁和初始化
      1. 参考 《MSP430L092加载器代码用户指南》的2.7 部分
      2. 这包括提供LedOn和LedOff功能的功能地址
    3. 用户需要禁用JTAG才能执行SPI通信
      1. SPI引脚与JTAG引脚共享相同的接口
      2. 意味着您不能使用调试器进行调试
    4. 用户需要初始化用于PWM输出的SPI引脚和Timer_A0

    我知道文档中没有明确的内容,我将采取相应的措施进行更新。 请查找显示如何正确读取SPI内存中的字节的附加测试文件。 我使用CCS编写代码,因此语法可能与IAR不同。 如果您在让事情运转时遇到任何问题,请告诉我。

    e2e.ti.com/.../0458.L092_5F00_API_5F00_Test.asm

    e2e.ti.com/.../3162.loader.h

    此致,  

    Caleb Overbay

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

    您好,Caleb,


    Thanks...great工作!  我对代码的唯一问题是它似乎从呼叫至LedOff时一直没有返回。  但由于我们以不同的方式控制EEPROM的功率,我现在可以从EEPROM读取数据,而无需调用LedOn和LedOff。  我今天没有时间测试写入EEPROM的情况,将在本周的剩余时间内进行测试。  但我会在我回来后尽快尝试,并告知您。

    此致,

    Robert Buchanan

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

    您好,Caleb,

    我测试了SpiWriteByte函数,它似乎工作正常。  我还发现在测试LedOff函数时出现了打字错误,而且它似乎工作正常。

    再次感谢你们的大力支持!

    Robert Buchanan