当前位置:首页 > 技术心得 > 正文内容

OSAL系统如何写中断服务函数

xjtudll10年前 (2015-12-26)技术心得9730

参考资料;

http://bbs.21ic.com/icview-192248-1-1.html

问题:

OSAL添加中断服务程序的时候编译报错

3e15f11d43214a2f923f71e5f866d321

提示:Error[Pa045]: function "T4_ISR" has no prototype
但是定时器中断实验程序(裸机,无OSAL)就没这个问题

解答:

OSAL里中断进行了封装,不能直接写

#pragma vector = URX0_VECTOR
__interrupt void UART0_ISR(void)
{
  ;
}

而应该类似于下面这个写法:

HAL_ISR_FUNCTION( halUart0RxIsr, URX0_VECTOR )
{

}

在hal_mcu.h里

#define _PRAGMA(x) _Pragma(#x)
#define HAL_ISR_FUNC_DECLARATION(f,v)   _PRAGMA(vector=v) __near_func __interrupt void f(void)
#define HAL_ISR_FUNC_PROTOTYPE(f,v)     _PRAGMA(vector=v) __near_func __interrupt void f(void)
#define HAL_ISR_FUNCTION(f,v)           HAL_ISR_FUNC_PROTOTYPE(f,v); HAL_ISR_FUNC_DECLARATION(f,v)

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://xjtudll.cn/Exp/378/

标签: CC254xOSAL
分享给朋友:

“OSAL系统如何写中断服务函数” 的相关文章

IAR Fatal Error[Cp001]解决

IAR Fatal Error[Cp001]解决

很久没用IAR了,这次重新折腾MSP430,安装软件后,编译程序,提示一个莫名奇妙的错误,以前一直没碰到过,错误内容如下: Fatal Error[Cp001]: Copy protection check, No valid license found for this product [20]...

DDS原理

DDS原理

DDS原理框图 假设时钟为2MHz,数据保持寄存器选择N Bit,在时钟驱动下,累加器输出结果S被反馈到累加器输入端B,B和A的数据被累加到S,下一个时钟脉冲又将S反馈到B,再次与A累加到S,下一个时钟脉冲又将S反馈到B,如此循环累加,实现按步进值,按时钟节拍循环累加,使得N Bit数据被徐循...

Mac OS安装心得

配置我就不说了,我的是Acer 4738G 安装的系统:东皇V3.2 下载地址:http://www.verycd.com/topics/2887773/ 具体安装教程可参照: 《新手windows下安装苹果教程。最详细,最全面,最值得看的教程》http://bbs.pcbeta.com/v...

I2C协议简单分析

I2C协议简单分析

一、什么是I2C协议 I2C协议是单片机与其它芯片常用的通讯协议,只需要两根线,号称最简单的串行通信协议,所以很好使用。 二、I2C协议的特点 1、只需要两条线路,一条串行数据线SDA,一条串行时钟线SCL; 2、每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机/从机关系软件设定地址...

OKI单片机-如何查看编译后的汇编代码

OKI单片机-如何查看编译后的汇编代码

使用OKI单片机时,有几种情况需要看汇编代码: 1、精确延时,这个用C基本上无法实现; 2、用汇编编程,但某部分程序用汇编写感觉有难度。此时先用C编写,然后查看其汇编代码,借鉴一二。 有两种方式可以看到编译后的汇编代码: 1、程序编译完成后,编译器自动生成各C文件的汇编代码 (1)能看到绝大部分汇编...

php环境如何测试是否配置成功

<?php phpinfo(); ?> 编写一个PHP文件(注意:是PHP文件,不是txt文件),里面内容如上。 浏览器里访问这个文件。如果能看到配置信息,表明PHP环境配置成功。...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。