我的 IAR 开发 430 不能用 _NOP 和 中断使能 之类的 系统语句 该怎么办啊是不是缺什么头文件的引用

我的 IAR 开发 430 不能用 _NOP 和 中断使能 之类的 系统语句 该怎么办啊是不是缺什么头文件的引用,第1张

型号不一样,引用的头文件不一样都会出现这种问题,我一般是用 io430h这个头文件,iar的版本是55版本。空语句是__no_operation();全局中断使能的方法是__enable_interrupt();注意开头的都是两个下划线。

还有就是你要在option里面选择你的单片机型号,这样在引用io43h的时候会自动包涵进去你的单片机型号对应的头文件,比如我用的是MSP430G2553,那么头文件里面就会有io430g2553h这个文件。里面有关于你这款单片机的中断向量地址啥的。

同时也会包涵一个intrinsicsh的头文件,里面就有那些中断使能还有空语句的宏定义。

仔细查看各个标志位,充许位是不是配置正确。IE1 IE2 串口中断控制寄存器 IFG1 IFG2 串口中断标志控制寄存器 ME1 ME2 串口模块控制寄存器 UxRCTL 串口接受寄存器把这些寄存器配置仔细查查。

每次上电就产生中断,那正常是产生串口中断了。这个中断是怎么产生的,就得查了,是一上电你就在发送东西,并且你允许了发送中断,开了总中断。那这样就是应该的。如果不是不是有干拢查查。

这是IAR头文件里的,你编程的时候就是按这个宏定义的名称编的

/

Interrupt Vectors (offset from 0xFFE0)

/

#define PORT2_VECTOR (1 2u) / 0xFFE2 Port 2 /

#define USART1TX_VECTOR (2 2u) / 0xFFE4 USART 1 Transmit /

#define USART1RX_VECTOR (3 2u) / 0xFFE6 USART 1 Receive /

#define PORT1_VECTOR (4 2u) / 0xFFE8 Port 1 /

#define TIMERA1_VECTOR (5 2u) / 0xFFEA Timer A CC1-2, TA /

#define TIMERA0_VECTOR (6 2u) / 0xFFEC Timer A CC0 /

#define ADC12_VECTOR (7 2u) / 0xFFEE ADC /

#define USART0TX_VECTOR (8 2u) / 0xFFF0 USART 0 Transmit /

#define USART0RX_VECTOR (9 2u) / 0xFFF2 USART 0 Receive /

#define WDT_VECTOR (10 2u) / 0xFFF4 Watchdog Timer /

#define COMPARATORA_VECTOR (11 2u) / 0xFFF6 Comparator A /

#define TIMERB1_VECTOR (12 2u) / 0xFFF8 Timer B CC1-6, TB /

#define TIMERB0_VECTOR (13 2u) / 0xFFFA Timer B CC0 /

#define NMI_VECTOR (14 2u) / 0xFFFC Non-maskable /

#define RESET_VECTOR (15 2u) / 0xFFFE Reset [Highest Priority] /

#define UART1TX_VECTOR USART1TX_VECTOR

#define UART1RX_VECTOR USART1RX_VECTOR

#define UART0TX_VECTOR USART0TX_VECTOR

#define UART0RX_VECTOR USART0RX_VECTOR

#define ADC_VECTOR ADC12_VECTOR

IRQ全称为Interrupt Request,即是“中断请求”的意思(以下使用IRQ称呼)。IRQ的作用就是在我们所用的电脑中,执行硬件中断请求的动作,用来停止其相关硬件的工作状态,比如我们在打印一份,在打印结束时就需要由系统对打印机提出相应的中断请求,来以此结束这个打印的 *** 作。在每台电脑的系统中,是由一个中断控制器8259或是8259A的芯片(现在此芯片大都集成到其它的芯片内)来控制系统中每个硬件的中断控制。目前共有16组IRQ,去掉其中用来作桥接的一组IRQ,实际上只有15组IRQ可供硬件调用。

你这个程是切换振荡器的

430默认情况下使用的是内部的DCO,但刚使能时外部振荡器时是不稳定的,会产生中断,所以你程序中利用这个中断来确认是否稳定(do while)。个人觉得最后那句清标志没有意义。。

以上就是关于我的 IAR 开发 430 不能用 _NOP 和 中断使能 之类的 系统语句 该怎么办啊是不是缺什么头文件的引用 全部的内容,包括:我的 IAR 开发 430 不能用 _NOP 和 中断使能 之类的 系统语句 该怎么办啊是不是缺什么头文件的引用 、430单片机 为什么每次一上电,就会响应串口发送中断。、430单片机中所有的C语言中断矢量变量名,哪位高手可以给总结一下等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9315518.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存