LM3S产生硬件故障hard faults的各方面原因

2019-03-24 12:28发布

LM3S产生硬件故障hard faults的各方面原因 有哪些? 比如每个外设模块都需要时钟和使能,如果没开时钟和使能直接访问就会产生hard faults 程序跳转到 FaultISR
        B       FaultISR 的位置,,   我做了一个串口通讯,发送20字节,接受32字节,这样相互通信1000多次后,就准确的产生hard faults,,不知道这是为什么? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
kiilycn
1楼-- · 2019-03-24 18:23
搞定,原来是访问内存超界的原因...
ddllxxrr
2楼-- · 2019-03-24 22:34
 精彩回答 2  元偷偷看……
fengzhang2002
3楼-- · 2019-03-24 22:41
一般碰见都是内存越界或者溢出引起的
bjmonsoon
4楼-- · 2019-03-25 03:59
学习 
john1337
5楼-- · 2019-03-25 06:46
 精彩回答 2  元偷偷看……
lan001
6楼-- · 2019-03-25 07:00

我调用 ADCProcessorTrigger(ADC_BASE, 0); 后就进入 FaultISR 了。

 

void adc_init(void)

{

        SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE); SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC); // 使能ADC模块的时钟  

        SysCtlADCSpeedSet(SYSCTL_ADCSPEED_125KSPS); // 125KSps采样率

        ADCSequenceDisable(ADC_BASE, 0); // 禁能所有采样序列

 

        ADCSequenceConfigure(ADC_BASE, 0, ADC_TRIGGER_PROCESSOR, 0);

        ADCSequenceStepConfigure(ADC_BASE, 0, 0, ADC_CTL_CH0 | ADC_CTL_IE | ADC_CTL_END);        

 

        ADCHardwareOversampleConfigure(ADC_BASE,8); // 为对16个采样进行平均计算

 

        ADCSequenceEnable(ADC_BASE, 0); // 使能采样序列0

        IntEnable(INT_ADC0); // 使能AD中断

        ADCIntEnable(ADC_BASE, 0); // 使能AD中断模块

}

[ 本帖最后由 lan001 于 2011-8-12 16:04 编辑 ]

一周热门 更多>

相关问题

    相关文章