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.

[参考译文] TM4C123GH6PM:内部上拉电阻器将 PD3引脚设置为"模拟输入"功能时的软件复位失败

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1423730/tm4c123gh6pm-software-reset-failure-with-setting-pd3-pin-as-analog-in-feature-with-internal-pull-up

器件型号:TM4C123GH6PM

工具与软件:

大家好、我们最近遇到了  下面描述的 Tiva TM4C123GH6PM 软件复位问题

编程步骤

设置引脚#64 (PD3)启用内部上拉电阻的模拟功能(AIN4)。

2.通过设置   应用中断及复位控制寄存器(APINT)的位2 "SYSRESREQ"来执行软件系统复位请求。

结果:

我们发现整个系统将出现重新引导故障、所有 GPIO 都处于重置状态。

通过 GPIO 功能设置 PD3和 excute 软件复位可以成功地使 MCU 复位。

您可以帮助检查原因吗?

谢谢

Jason

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="275538" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1423730/tm4c123gh6pm-software-reset-failure-with-setting-pd3-pin-as-analogue-in-feature-with-internal-pull-up "]

    设置引脚#64 (PD3)启用内部上拉电阻的模拟功能(AIN4)。

    [报价]

    尊敬的 Jason:

     如果您使用 PD3作为 AIN4的 ADC 输入、那么为什么要启用内部上拉? 只有在 GPIO 模式下使能内部上拉或下拉、而不能在配置为模拟输入时启用。  

     请使用 SysCtlReset 生成系统复位。 您不能简单地写入  APINT 寄存器的位2。 您还需要将正确的密钥写入31:16。 SysCtlReset 将执行它。  

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

    尊敬的 Charles:

    感谢您的回复。

    是否有任何限制、PD 用 ADC 功能不能设定内部 PU/ADC?  由于我仍然可以使用内部 PU 设置 ADC、而不显示任何警告消息、因此我遇到的唯一问题是软件复位失败。 我想好奇软件复位故障和具有 PU 设置的 ADC 之间的关系。  我在数据表中看不到限制条件的任何信息、您能否分享更多相关信息??

    让我更准确地描述症状。   实际上已执行软件复位(可以看到 GPIO 引脚状态已复位为默认状态)。 但是 MCU 储存在复位状态、系统无法成功启动。   重现的故障率是100%。

    谢谢  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否有任何限制规定不能使用 PD 功能设置内部 PU/ADC?  由于我仍然可以使用内部 PU 设置 ADC、而不显示任何警告消息、因此我遇到的唯一问题是软件复位失败。 我想好奇软件复位故障和具有 PU 设置的 ADC 之间的关系。  我在数据表中没有看到限制的任何信息、能否分享更多有关信息??

    尊敬的 Jason:

     如果删除上拉配置、您是否看到相同的问题?  有关如何配置 ADC、请参阅 C:\ti\TivaWare_C_Series-2.2.0.295\examples\peripherals\adc\single_ended.c 中的示例。  

    让我更频繁地描述这一症状。   实际上已执行软件复位(可以看到 GPIO 引脚状态已复位为默认状态)。 但是 MCU 储存在复位状态、系统无法成功启动。   而且重现的故障率是100%。[/报价]

    您的意思是 MCU 卡在复位状态? 如果您使用调试器来检查处理器、它会在哪里停止?

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

    您好、Charles

    MCU 卡在复位 状态意味着、当我们通过设置 APINT 寄存器来执行软件复位(VECTKEY = 0x05FA、SYSRESREQ = 1)时、MCU 被复位(所有 GPIO 都返回其复位状态)。  但是、MCU 将保持(卡在)在复位状态、并且不会跳过复位。

    我们通过检查另一个 GPIO PA1配置发现了问题。 PA1 =输出高电平、经过上述复位过程后、PA1将保持为复位状态、无法进行配置(代码未运行?)

    2.如果我们使用 PD3=ADC"不使用"上拉电阻对 MCU 进行复位、则不会出现这样的故障。

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="275538" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1423730/tm4c123gh6pm-software-reset-failure-with-setting-pd3-pin-as-analogue-in-feature-with-internal-pull-up/5461284 #5461284(1999)但是、MCU 将保持(卡在)在复位状态、不会跳过复位。

    我仍然不清楚您的意思是 MCU 卡在复位状态。 如果您使用调试器、什么代码行是 MCU 卡住的? 您能否截取处理器卡在哪一行代码上的屏幕截图?

    [报价用户 id="275538" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1423730/tm4c123gh6pm-software-reset-failure-with-setting-pd3-pin-as-analogue-in-feature-with-internal-pull-up/5461284 #5461284"] PA1将保留为复位状态、无法配置(代码未在运行??)

    代码未运行并不意味着它卡在复位状态。 处理器可能已运行一些代码、但在将 PA1设置为高电平之前、它可能已崩溃、出现异常故障或其他原因。 但这并不意味着它卡在复位状态。  

    [报价 userid="275538" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1423730/tm4c123gh6pm-software-reset-failure-with-setting-pd3-pin-as-analogue-in-feature-with-internal-pull-up/5461284 #5461284"]

    2.如果我们使用 PD3=ADC"不使用"上拉电阻对 MCU 进行复位、则不会出现这样的故障。

    [报价]

    尽管我不能解释为什么在 ADC 引脚上添加上拉电阻会导致故障、但我认为绝对没有理由在模拟引脚上添加上拉电阻。