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/TM4C123GH6PGE:应用中断和复位控制(APINT)//内核复位

Guru**** 2482155 points
Other Parts Discussed in Thread: TM4C123GH6PGE

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/718079/ccs-tm4c123gh6pge-application-interrupt-and-reset-control-apint-core-reset

器件型号:TM4C123GH6PGE
主题中讨论的其他器件: TM4C123

工具/软件:Code Composer Studio

大家好、

我的平台是 TM4C123GH6PGE

CCS 版本6.1、

 我的问题出现在 SD_CARD 接口中。

 我的代码工作正常,但在几个小时后,我的模块 自动重新启动(例如,1小时后的某个时间,2或3小时后的某个时间)。

 应用程序中断 复位或内核复位可能会发生此问题。

我的中断优先级是.........  

SysCtlClockSet (SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL |
SYSCTL_OSC_MAIN| SYSCTL_XTAL_16MHz);

//设置应用程序使用的中断的优先级。

IntMasterEnable();

IntPrioritySet (INT_TIMER0A、0x00);

IntPrioritySet (INT_PWM0_0_TM4C123、0x05);

IntPrioritySet (INT_PWM0_1_TM4C123、0x0A);

IntPrioritySet (INT_PWM0_2_TM4C123、0x10);

IntPrioritySet (INT_ADC0SS0_TM4C123、0x1A);

IntPrioritySet (INT_TIMER2A、0x22);

IntPrioritySet (INT_TIMER1A、0x2A);

IntPrioritySet (FAULT_SysTick、0x3A);


IntPrioritySet (INT_HIBERY_TM4C123、0x40);

那么,请建议我,如何解决这个问题



此致、
Satya

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

    您如何确定您的 MCU 具有"实现了不需要的复位?"   这没有说明-除非您的代码需要、否则"操作员干预"- MCU 的复位通常会将操作恢复为"正常"。   ("询问"此类"复位"的检测)

    有一个寄存器-记录"此类复位的来源/原因"。   您对该注册的搜索/查找/审核应该会有所帮助。

    电源突降也可能导致此类问题-您的电源设计应满足 MCU 和电路板组件长期运行的规格-在(合法)极端温度下。

    MCU 复位线路-除非由"MCU 主管"驱动-应上拉并使用电容器接地- Thich 使"复位"更能抵抗潜在的"干扰复位..."

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

    请访问此链接

     

    已通过 CCS 调试器的帮助附加故障图片。

    这是我的太阳能水泵项目,,,,,,,,,这个项目在没有 SD_Card 的情况下工作的很好。

    我的模块通过帮助 PWM (空间矢量技术)和 GSM 功能操作三相交流电机、这些功能还可用于在服务器上推送数据。

    我的 SD_CARD 通信基于 SPI 协议。我的 SD_CARD 代码如...

    e2e.ti.com/.../SD_5F00_card.c

    SD_Card 写入函数基于定时器中断(Timer2 IntPrioritySet (INT_TIMER2A、0x22);)运行。  该中断每隔1秒以上触发一次。

    TimerConfigure (TIMER2_base、TIMER_CFG_A_PERIODICRACASE);
    TimerLoadSet (TIMER2_base、TIMER_A、3*SysCtlClockGet ());//*11/3延迟计数30
    IntEnable (INT_TIMER2A);
    TimerIntEnable (TIMER2_base、TIMER_TINA_TIMEOUT);

    因此,请建议我如何解决 API 中断复位原因 ,因为在此情况下,此控制器正在使用 SD_CARD 应用程序运行更多的应用程序,因此会发生应用程序复位情况。

    重置后、我的代码正常工作、持续到1小时或1小时以上、然后 MCU 重置再次发生、工作方式与之前相同、但在重置案例后、我的 GSM 未在服务器上推送数据。

    那么、我会怎么做?、这个问题不会发生。  

    此致、
    Satya

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

    [引用 user="CB1_MOBIST"]您如何确定您的 MCU 已"实现不需要的复位?"[/quot]

    您的最新帖子中未显示任何答案。

    [引用 user="CB1_MOBIST">有一个寄存器-用于记录"此类复位的来源/原因"。   您对该注册的搜索/查找/审核应该会有所帮助。

    这是"模拟指导"-不是吗?   再次-没有发现任何答案。

    您的"诊断"(通过添加外围功能/问题的轰炸)是 违反"吻!"的"安全"行为    因此、您经常会遇到(准确)什么情况...

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

    如 CB1所建议的那样、系统模块中有一个被称为复位原因(RESC)的寄存器、用于识别复位源。 您能否在意外复位后断点并读取该寄存器的内容? (我看不到随附的您的故障状况图片。)