cy8c29866程序进不了I/O中断

[复制链接]
8504|61
 楼主| hulan1985 发表于 2009-12-12 21:38 | 显示全部楼层 |阅读模式
我的cy8c29866程序进不了I/O中断,但是能够进入UART中断,怎么回事啊?
 楼主| hulan1985 发表于 2009-12-12 21:39 | 显示全部楼层
大家碰到的都有哪些情况呢?我是菜鸟,不知怎么办了
juventus9554 发表于 2009-12-12 21:46 | 显示全部楼层
情况很多,详细说说你的问题
god_like 发表于 2009-12-12 23:15 | 显示全部楼层
是啊,说的详细一点,或者把程序贴上来
love_life 发表于 2009-12-12 23:37 | 显示全部楼层
jxin 发表于 2009-12-13 08:50 | 显示全部楼层
进不了I/O中断就是I/O中断没配置好吧
juventus9554 发表于 2009-12-13 20:04 | 显示全部楼层
楼主这也没个后文了……
 楼主| hulan1985 发表于 2009-12-13 20:05 | 显示全部楼层
==,我贴个程序
 楼主| hulan1985 发表于 2009-12-13 20:10 | 显示全部楼层
#include <m8c.h>        // part specific constants and macros
#include "PSoCAPI.h"    // PSoC API definitions for all User Modules
#pragma interrupt_handler UART_TX_ISR
#pragma interrupt_handler UART_RX_ISR
#pragma interrupt_handler PSoC_GPIO_ISR
#define Port6 PRT6DR                 
#define over  (PRT0DR&0x04)>>2        
#define EN_1  PRT0DR=PRT0DR|0x50      
#define EN_0  PRT0DR=PRT0DR&0xaf      
#define CLK_0 PRT2DR=PRT2DR&0xfa     
#define CLK_1 PRT2DR=PRT2DR|0x05      
#define WR_W  PRT2DR=PRT2DR|0x50      
#define WR_R  PRT2DR=PRT2DR&0xaf     
unsigned char cmd=0;
unsigned char flag_wr=0;
unsigned char start=0;
unsigned char  databuffer[160];
unsigned char row_finish=0;
unsigned char counter_collum=0;
unsigned char counter_row=0;
void UART_TX_ISR(void)
{
   UART_1_PutChar(over);
}
void UART_RX_ISR(void)
{
  cmd=UART_1_cGetChar( );
  if (cmd==0xe2)UART_1_PutChar(over);
}
void PSoC_GPIO_ISR(void)
{EN_1;CLK_0;WR_W;
}
void main()
{   
      UART_1_CmdReset();                    
     UART_1_IntCntl(UART_1_ENABLE_RX_INT|UART_1_ENABLE_TX_INT);
// Enable RX&TX interrupts     
     UART_1_Start(0x00);         // Enable UART  
   
    M8C_EnableIntMask(INT_MSK0,INT_MSK0_GPIO);
   //以下四条注释掉的语句为自己的I/O中断的配置,不能够进入中断,后来换 // 为了M8C_EnableIntMask(INT_MSK0,INT_MSK0_GPIO)但是仍然不行
   // PRT0IC0=0X00;//P102 int mode
   // PRT0IC1=0X04;
   // PRT0IE=0X04;//INT ENABLE P142
   // INT_MSK0=0X20;//MASK
    M8C_EnableGInt ;                     
// Turn on interrupts         
cmd=0xe2;
     while(1);

}
贾君鹏子 发表于 2009-12-13 20:15 | 显示全部楼层
连一分都不给
午夜粪车 发表于 2009-12-13 20:21 | 显示全部楼层
你是为了得分啊~~~
lobby 发表于 2009-12-13 21:07 | 显示全部楼层
进不了I/O中断就是I/O中断没配置好吧
jxin 发表于 2009-12-13 08:50

我觉得6楼说的挺对的
jxin 发表于 2009-12-15 12:11 | 显示全部楼层
你uart, gpio初始化程序里定义中断跳转了么?
五谷道场 发表于 2009-12-17 20:45 | 显示全部楼层
在初始化时加INT_MSK0&=~INT_MSK0_GPIO
 楼主| hulan1985 发表于 2009-12-17 20:50 | 显示全部楼层
我的中断程序就是置标识,我程序里面已经给了
juventus9554 发表于 2009-12-17 20:56 | 显示全部楼层
是,
#pragma interrupt_handler PSoC_GPIO_ISR
void PSoC_GPIO_ISR(void)
{EN_1;CLK_0;WR_W;
}
对吧
午夜粪车 发表于 2009-12-17 21:10 | 显示全部楼层
把boot.asm中改成APSoC_GPIO_ISR
程序中也改成同样APSoC_GPIO_ISR,再加上初始化INT_MSK0&=~INT_MSK0_GPIO
午夜粪车 发表于 2009-12-17 21:11 | 显示全部楼层
我可不是为了得分
贾君鹏子 发表于 2009-12-17 21:14 | 显示全部楼层
你是说我吗?
liliang9554 发表于 2009-12-17 21:15 | 显示全部楼层
你是说我吗?
贾君鹏子 发表于 2009-12-17 21:14

不要吵了,解决问题不就行了嘛
您需要登录后才可以回帖 登录 | 注册

本版积分规则

61

主题

1059

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部