社区
单片机/工控
帖子详情
msp430 中断后返回不到主函数 搞了2天了..
C__Allen
2010-07-25 10:14:58
RT
msp430F149 IAR版本4.20
我用了ADC中断采样和看门狗定时器中断数码管输出
在主程序while(1)循环语句前打开全局中断使能_EINT()
然后主程序循环就一直没进去过
但是确实有实时的采样和数码管输出
我同学用51的也遇到过类似情况,在加函数声明时关键字reentrant就好了
可是我主程序里面不调用其他函数也进不去啊
大虾们点拨一下吧,还需要些什么信息尽管问
...全文
1900
11
打赏
收藏
msp430 中断后返回不到主函数 搞了2天了..
RT msp430F149 IAR版本4.20 我用了ADC中断采样和看门狗定时器中断数码管输出 在主程序while(1)循环语句前打开全局中断使能_EINT() 然后主程序循环就一直没进去过 但是确实有实时的采样和数码管输出 我同学用51的也遇到过类似情况,在加函数声明时关键字reentrant就好了 可是我主程序里面不调用其他函数也进不去啊 大虾们点拨一下吧,还需要些什么信息尽管问
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhangweichina111
2012-07-17
打赏
举报
回复
#pragma vector=TIMERA0_VECTOR
__interrupt void timea0(void)
{
i++;
cnt++;
TACCR0 +=0X1000;
}
我的中断可是短啊,,也是出现这个问题
Tue Jul 17 12:12:46 2012: Target execution stopped
lucky_xiao
2011-02-01
打赏
举报
回复
当中断采样的时钟过快时,会造成程序停止不前,我也遇到过。你把采样时间调大一些。譬如,用SHT0_15;如果还不行那就不知道了!!我也是初学!!
schlafenhamster
2010-07-26
打赏
举报
回复
msp430F149我不熟,请仔细看手册
C__Allen
2010-07-25
打赏
举报
回复
[Quote=引用 5 楼 schlafenhamster 的回复:]
中断执行的总时间应该<主循环的60%,也就是不能一个中断接着一个中断,否则主循环怎么有时间执行,所以中断要尽可能短,主要工作放后台(主循环中)。
[/Quote]
我重新改了下中断 整个程序就这一个中断
#pragma vector=ADC_VECTOR
__interrupt void ADC12ISR (void)
{
static unsigned int index = 0;
A3results[index] = ADC12MEM3; // Move results
A4results[index] = ADC12MEM4;
index++;
if(index==Num_of_Results){index=0;}
}
然后其他函数使用A3results A4results这两个全局变量
中断还是跳不出来
再问一下有多个中断的情况怎样用软件的方式给标志位清零 ADC12IFG=0 吗? ADC12IFG&=~BIT3吗?
schlafenhamster
2010-07-25
打赏
举报
回复
中断执行的总时间应该<主循环的60%,也就是不能一个中断接着一个中断,否则主循环怎么有时间执行,所以中断要尽可能短,主要工作放后台(主循环中)。
C__Allen
2010-07-25
打赏
举报
回复
我怀疑是AD中断有问题 中断里面调用的其他的函数
C__Allen
2010-07-25
打赏
举报
回复
ADC采样速度为ADC内部时钟的1/32 看门狗定时器中断为1.9MS (32KHZ下)
C__Allen
2010-07-25
打赏
举报
回复
补充:编译器会提示target execution stopped
看门狗定时器:
void WDTInit()
{
WDTCTL = WDT_ADLY_1_9; // 设置内部看门狗工作在定时器模式,1.9ms中断一次
IE1 |= WDTIE+UTXIE0;
}
#pragma vector=WDT_VECTOR
__interrupt void watchdog_timer(void)
{
P4OUT = 0xff;
P5OUT = scandata[DispBuf[cnt]]; //输出段选信号
P4OUT &= ~(1 << cnt); //输出位选信号
cnt++; //位计数变量在0~7之间循环
if(cnt == 8) cnt = 0;
}
AD采样:
void ADCInit()
{
P6SEL |= BIT3+BIT4; // 使能ADC通道A3和A4 6.3红外 6.4灰度传感器
ADC12CTL0 = ADC12ON+SHT0_8+MSC; // 打开ADC,设置采样时间
ADC12CTL1 = CSTARTADD_3+SHP+CONSEQ_3; //SHP: 使用采样定时器,CONSEQ_3:单通道多次转换 ,序列转换首地址CSTARTADD选MEM3
ADC12MCTL3 |= INCH_3; //选择模拟通道A1 (SREF_6,选择外部参考电压,SREF_2,选择外部参考电压和AVSS)
ADC12MCTL4 |= INCH_4+EOS; //A4,EOS最后通道
ADC12IE = BIT3+BIT4; // 使能ADC中断
ADC12CTL0 |= ENC; // 使能转换
ADC12CTL0 |= ADC12SC; // 开始转换
}
#pragma vector=ADC_VECTOR
__interrupt void ADC12ISR (void)
{
static unsigned int index = 0;
A3results[index] = ADC12MEM3; // Move results
A4results[index] = ADC12MEM4;
index++;
if(index == Num_of_Results)
{
unsigned char i;
unsigned long sum_A3 = 0;
unsigned long sum_A4 = 0;
index = 0;
for(i = 0; i < Num_of_Results; i++)
{
sum_A3 += A3results[i];
sum_A4 += A4results[i];
}
sum_A3 >>= 5; //除以32
sum_A4 >>= 5;
Trans_val(sum_A3,kind1); //两个不同的采样通道
Trans_val(sum_A4,kind2);
}
bluesea87
2010-07-25
打赏
举报
回复
定时器多少时间中断一次,还有想看下你的定时器数码管输出那段程序,
C__Allen
2010-07-25
打赏
举报
回复
谢了 应该是中断里面程序太多了 开始是IAR出错了
还是想问一下怎样用软件给标志位清零
schlafenhamster
2010-07-25
打赏
举报
回复
中断是电平还是沿方式,中断标记有没有复位?
【速成
MSP430
f149】电赛期间学习
MSP430
f149笔记
MSP430
笔记
使用
MSP430
实现温控(一)
这部分博客主要是对以前做的使用
MSP430
进行温控的经验进行整理,以防后来资料遗失的情况。对于
MSP430
而言,实现温控模块以下几个模块互相配合。将分为下面几个部分进行讲解: 时钟源部分 ADC部分
中断
部分 温控中代码逻辑的初步调试 UART的初步调试 一:时钟源部分:现在项目中,需要使用
msp430
单片机作为控制端,所以,要先对
msp430
的时钟源进行了解和分析。
msp430
拥有unifie
【跑飞、死机】单片机
msp430
程序跑飞原因和解决方式积累
目录 单片机
msp430
程序跑飞原因和解决方式积累
MSP430
数组填充越界引起的栈溢出 导致程序跑飞 【单片机重启】
MSP430
重启/频繁重启/跑飞 原因分析 单片机
msp430
程序跑飞原因和解决方式积累 1.
中断
或
主函数
中有死循环,现象是程序停在某处。 2.堆栈溢出。现象是程序跑飞。 *****...
MSP430
G2553电子时钟实验
用
msp430
g2553控制1602液晶显示时间,并能够通过按键设置时间。我做了正计时和倒计时两种模式 /*********************************************************************
msp430
g2553与1602引脚连接情况 * PIN1 --> 地 * PIN2 --> VCC(一定要接+5V)...
MSP430
使用库函数上手
暑假回东北参加了全国大学生智能汽车竞赛,可是学校不能住,只能回学校的实验室拿东西。于是就借了块
MSP430
F5529LP的开发板回来耍一耍,顺便准备一下电赛(去年也参加了,不过软件部分不是我负责的哈哈哈)。还有就是的确是自己比较懒,不是太想对照芯片手册一个一个扣寄存器,就想完全用官方出的库函数来上手。 本文仅为基于LaunchPad的简单上手,还没有长期使用,一定会有一些bug隐藏其中。 环境搭建 编写和编译调试程序用的是ti自己出的CCS。这个应该是基于eclipse开源平台做的,和智能车隔壁双车组用英飞
单片机/工控
27,515
社区成员
28,799
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章