4790|8

667

帖子

3

TA的资源

版主

楼主
 

TM4C123G使用ADC和GPIO引起FaultISR [复制链接]

初学M4遇到的问题,我在ti官方的例程timers上加入了ADC模块的使用,同时使用了一个普通IO口驱动的显示屏,发现一旦运行就会进入FaultISR函数。查阅Program Status Register (xPSR) 寄存器,为0x01000003,应该是出现了hard fault。但是我不知道是什么原因。
1.去掉ADC部分程序可以运行,显示屏工作正常;
2.加入ADC初始化程序,程序调试时可以工作,掉电后重新上电无法工作;
3.加入ADC初始化及调用函数,程序运行后很快进入FaultISR函数。
请问大家知道是什么原因吗?
工程见附件。

timers.zip

109.57 KB, 下载次数: 12

最新回复

是不是外设时钟没开  详情 回复 发表于 2014-7-13 19:38
 
点赞 关注(1)

回复
举报

667

帖子

3

TA的资源

版主

沙发
 
ADC初始化函数:

void ConfigureADCs(void){

SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC0);
ADCSequenceConfigure(ADC0_BASE, 1, ADC_TRIGGER_PROCESSOR, 0);
ADCSequenceStepConfigure(ADC0_BASE, 1, 0, ADC_CTL_TS);
ADCSequenceStepConfigure(ADC0_BASE, 1, 1, ADC_CTL_TS);
ADCSequenceStepConfigure(ADC0_BASE, 1, 2, ADC_CTL_TS);
ADCSequenceStepConfigure(ADC0_BASE, 1, 3, ADC_CTL_TS|ADC_CTL_IE|ADC_CTL_END);
ADCSequenceEnable(ADC0_BASE, 1);

}

点评

没看到你i设置ADC的采样速率嘛  详情 回复 发表于 2014-3-7 13:09
 
 

回复

667

帖子

3

TA的资源

版主

板凳
 
ADC调用在while (1)循环中:

while(1)
{
//show power-on time
show_time(79,0,Power_On_time);

//show internal temperature of the core
/*ADCIntClear(ADC0_BASE, 1);
ADCProcessorTrigger(ADC0_BASE, 1);
while(!ADCIntStatus(ADC0_BASE, 1, false)){}
ADCSequenceDataGet(ADC0_BASE, 1, ui32ADC0Value);
ui32TempAvg = (ui32ADC0Value[0] + ui32ADC0Value[1] + ui32ADC0Value[2] + ui32ADC0Value[3] + 2)/4;
ui32TempValueC = (1475 - ((2475 * ui32TempAvg)) / 4096)/10;*/
//LCD_P6x8Int(85,2,Main_Loop_Count);

//show main loops
Main_Loop_Count++;
if (Main_Loop_Count > 9999999) Main_Loop_Count = 0;
LCD_P6x8Int(85,7,Main_Loop_Count);
}
 
 
 

回复

400

帖子

0

TA的资源

五彩晶圆(中级)

4
 
While程序中加个延时测试一下.

点评

什么意思?  详情 回复 发表于 2014-3-8 14:39
 
 
 

回复

1944

帖子

32

TA的资源

纯净的硅(高级)

5
 
nemo1991 发表于 2014-3-6 23:17
ADC初始化函数:

void ConfigureADCs(void){

没看到你i设置ADC的采样速率嘛

点评

这个可以不设置,一般没有问题。  详情 回复 发表于 2014-3-8 14:38
 
 
 

回复

667

帖子

3

TA的资源

版主

6
 
azhiking 发表于 2014-3-7 13:09
没看到你i设置ADC的采样速率嘛

这个可以不设置,一般没有问题。
 
 
 

回复

667

帖子

3

TA的资源

版主

7
 
Triton.zhang 发表于 2014-3-7 11:44
While程序中加个延时测试一下.

什么意思?
 
 
 

回复

400

帖子

0

TA的资源

五彩晶圆(中级)

8
 
我认为问题不出在配置设置,因为这个配置都是按照例程来做的。
你可以单步运行下,看运行到哪一步进入到异常中断的。
 
 
 

回复

20

帖子

0

TA的资源

一粒金砂(中级)

9
 
是不是外设时钟没开
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表