打印

PSoc designer5.4如何进中断,在4.3 版本可以

[复制链接]
1089|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
caihong001|  楼主 | 2014-5-4 10:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PSoc designer5.4如何进中断,在4.3 版本可以

程序不使用模块配置,完全用C配置,原程序是在4.3版本下编写的,编译运行完全正常,但现在移植到5.4版本上出了点小问题
主要问题出在程序进不了中断,我使用了USB 端点0与端点1中断,boot.ASM中也加入了中断服务函数名
  org 20h                 ;USB Endpoint 0 Interrupt Vector
    ljmp  usb_endpoint_0_isr
    reti
    org 24h                 ;USB Endpoint 1 Interrupt Vector
    ljmp  usb_endpoint_1_isr
    reti
现在问题就来了,我只要一编译boot.asm又会变会原来那样
    org 20h                 ;USB Endpoint 0 Interrupt Vector
    // call        void_handler
    reti
    org 24h                 ;USB Endpoint 1 Interrupt Vector
    // call        void_handler
    reti

这就导至程序无法进入中断。在4.3版本上不会出现这样的现象

沙发
caihong001|  楼主 | 2014-5-4 11:03 | 只看该作者
已经好了,虽然没人回贴,依旧感谢各位过客,看了下相关手册,中有一段:
"To associate the interrupt handler with an interrupt, add ljmp _name at the interrupt vector in the
boot.tpl file. "
改错了文件,应该改boot.tpl文件而不是boot.asm

改了boot.tpl后,编译boot.asm也自动改了

使用特权

评论回复
板凳
soso| | 2014-5-4 11:22 | 只看该作者
问题在与如果用定时器中断的话,比如用TIMER1,程序上这样写就可以运行也不会报警
#pragma interrupt_handler TIMER_1_ISR :0X20
void TIMER_1_ISR(void)
{
}
但是如果在IO中断后面加相应的入口地址的话就不会产生中断,也不会报错.
感觉是BOOT.ASM文件中的问题,可也没找到具体的答案,仍在努力找问题的关键.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

46

主题

91

帖子

1

粉丝