MSP430编程时,_bis_SR_bis sr registerr(GIE)和_enable_interrupt()都是开中断,有什么区别么?

MSP430G2553学习笔记_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
71页免费38页3下载券49页4下载券70页1下载券24页1下载券 18页1下载券70页3下载券70页1下载券8页1下载券70页1下载券
MSP430G2553学习笔记|
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢后使用快捷导航没有帐号?
查看: 4100|回复: 7
求解释__bis_SR_register(SCG1 + SCG0)
在线时间41 小时
TA的帖子TA的资源
一粒金砂, 积分 131, 距离下一级还需 69 积分
__bis_SR_register(SCG1 + SCG0)&这个__bis 是吧sr寄存器里面SCG1 SCG0中对应的位置1,是这个意思吗?这是430里面的通用语法吗,同意可以设置其他寄存器。是吗?
在线时间865 小时
芯币28957 枚
E金币22 枚
TA的帖子TA的资源
LZ的解释是对的,但未必是通用的语法,在进入低功耗状态时也有这样的语句,除此之外我没有在其他地方看到过
在线时间52 小时
芯币174 枚
E金币100 枚
TA的帖子TA的资源
LZ你好,这个操作是将SR寄存器的SCG1 SCG0置1
对于430来说,修改SR寄存器如果用C语言表达的话将会很复杂,因为C不能直接操作堆栈,只能用指针来进行,因此将会低效且晦涩。所以针对430,编译器会提供一些特殊的函数,这些函数称作 内部函数,这样我们就可以直接拿来使用。
至于其他的寄存器?LZ是指普通的寄存器吗?那些都有宏定义了,你直接拿来用就行了。
在线时间41 小时
TA的帖子TA的资源
谢谢两位指点
在线时间5 小时
TA的帖子TA的资源
在线时间4 小时
TA的帖子TA的资源
在线时间2 小时
TA的帖子TA的资源
之前一直看不懂__BIS_SR
在线时间3 小时
TA的帖子TA的资源
在IAR中可以找到
本帖子中包含更多资源
才可以下载或查看,没有帐号?
荣誉会员勋章
曾经的版主且威望大于2000,或对EEWORLD论坛有突出贡献的坛友
年度之星勋章
年度明星人物,根据每年年度回馈活动不同而不同。
Powered by
逛了这许久,何不进去瞧瞧?msp430g2553基本程序实例_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
49页4下载券49页免费49页免费2页1下载券125页2下载券 1页1下载券15页2下载券4页2下载券3页2下载券2页1下载券
喜欢此文档的还喜欢40页免费23页免费
msp430g2553基本程序实例|
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢msp430的中断怎么写啊_百度知道
msp430的中断怎么写啊
说起来很麻烦,P一个定时器的中断给你看看。你可以到TI上下载代码程序。希望帮到你。#include &msp430x54xA.h&void main(void){
WDTCTL = WDTPW + WDTHOLD;
// Stop WDT
P1DIR |= 0x01;
// P1.0 output
TA1CCTL0 = CCIE;
// CCR0 interrupt enabled
TA1CCR0 = 50000;
TA1CTL = TASSEL_2 + MC_2 + TACLR;
// SMCLK, contmode, clear TAR
__bis_SR_register(LPM0_bits + GIE);
// Enter LPM0, enable interrupts
__no_operation();
// For debugger}// Timer A0 interrupt service routine#pragma vector=TIMER1_A0_VECTOR__interrupt void TIMER1_A0_ISR(void){
P1OUT ^= 0x01;
// Toggle P1.0
TA1CCR0 += 50000;
// Add Offset to CCR0}
其他类似问题
按默认排序
其他1条回答
首先msp430的单片机中断分为可屏蔽中断与不可屏蔽中断这两类,而有的中断则会有几个不同的中断源,所以在编写中断函数的时候也要视具体情况而定,一般的写法首先在主函数中进行初始化之后打开总中断也就是这个函数_EINT();当然也可以这样_BIS_SR(LPM1_bits+GIE)这是低功耗模式下的写法,在主函数的最后别忘了写while(1) ; 注意加“;”,这句话作用是当程序执行完中断函数后cpu返回while(1)后边的“ ;”来等待中断。中断函数的写法:#prama vector=&中断函数向量&void
中断服务函数名称(void){ //中断函数的定义}想到这么多就先写到这把
msp430的相关知识
等待您来回答
您可能关注的推广回答者:
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 bis sr register 的文章

 

随机推荐