打印

cy8c29866程序进不了I/O中断

[复制链接]
楼主: hulan1985
手机看帖
扫描二维码
随时随地手机跟帖
21
hulan1985|  楼主 | 2009-12-18 22:08 | 只看该作者 回帖奖励 |倒序浏览
粪车兄的方法不错,不过不要互相攻击,呵呵,谢谢大家帮我解决问题啊:)

使用特权

评论回复
22
午夜粪车| | 2009-12-18 22:14 | 只看该作者
哦,不好意思,呵呵,我的方法试了不错了?那就好

使用特权

评论回复
23
贾君鹏子| | 2009-12-18 22:26 | 只看该作者
没事,呵呵,补充一下
boot.asm中的中断设置为:
    org   1Ch                      ;GPIO Interrupt Vector
    ljmp    _APSoC_GPIO_ISR
    reti

void APSoC_GPIO_ISR(void)
{EN_1;CLK_0;WR_W;
}

使用特权

评论回复
24
贾君鹏子| | 2009-12-18 22:26 | 只看该作者
看看怎样,不过我不是报很大信心

使用特权

评论回复
25
liliang9554| | 2009-12-18 22:32 | 只看该作者
中断处理程序是否有下面这条:
#pragma interrupt_handler APSoC_GPIO_ISR //这条没看到你是否写了
void APSoC_GPIO_ISR(void)
{EN_1;CLK_0;WR_W;
UART_1_PutChar(0Xff); //如进入中断的话,发送0xff给电脑
}

使用特权

评论回复
26
god_like| | 2009-12-19 00:37 | 只看该作者
21# hulan1985

哈哈,粪车兄,怎么听起来这么变扭呢

使用特权

评论回复
27
love_life| | 2009-12-19 00:58 | 只看该作者
好多牛人,学习了

使用特权

评论回复
28
juventus9554| | 2009-12-19 22:15 | 只看该作者
21# hulan1985  

哈哈,粪车兄,怎么听起来这么变扭呢
god_like 发表于 2009-12-19 00:37


他给自己起得名字;P

使用特权

评论回复
29
hulan1985|  楼主 | 2009-12-19 22:20 | 只看该作者
哎,不行啊,我找找代码

使用特权

评论回复
30
hulan1985|  楼主 | 2009-12-19 22:20 | 只看该作者
boot.asm中的中断设置为:
    org   1Ch                      ;GPIO Interrupt Vector
    ljmp    _APSoC_GPIO_ISR
    reti

中断程序为:
void APSoC_GPIO_ISR(void)
{EN_1;CLK_0;WR_W;
UART_1_PutChar(0Xff); //如进入中断的话,发送0xff给电脑
}
主程序为:
void main()
{     
    UART_1_CmdReset();                     
// Initialize receiver/cmd  buffer                                   
    UART_1_IntCntl(UART_1_ENABLE_RX_INT|UART_1_ENABLE_TX_INT);   
  // Enable RX&TX interrupts  
    UART_1_Start(0x00);         // Enable UART  
    INT_MSK0&=~INT_MSK0_GPIO;
    M8C_EnableIntMask(INT_MSK0,INT_MSK0_GPIO);
     M8C_EnableGInt ;                      // Turn on interrupts  
        cmd=0xe2;
     UART_1_PutChar(0Xee);//发送0xee给电脑,表示初始化完毕
     while(1)
    {
      CLK_0;
      asm("nop");asm("nop");
      asm("nop");asm("nop");
      asm("nop");asm("nop");
      asm("nop");asm("nop");
      asm("nop");asm("nop");
      asm("nop");asm("nop");
      asm("nop");asm("nop");
      asm("nop");asm("nop");
      CLK_1;     
      
    }

使用特权

评论回复
31
贾君鹏子| | 2009-12-19 22:37 | 只看该作者
改成这样后电脑收到什么呢?

使用特权

评论回复
32
午夜粪车| | 2009-12-19 22:56 | 只看该作者
21# hulan1985  

哈哈,粪车兄,怎么听起来这么变扭呢
god_like 发表于 2009-12-19 00:37

:L

使用特权

评论回复
33
liliang9554| | 2009-12-19 23:12 | 只看该作者
估计只能够收到一个0xee

使用特权

评论回复
34
liliang9554| | 2009-12-19 23:14 | 只看该作者
将p00设置为上升沿中断的,然后将p20(设置为上拉输出,产生方波信号〔while循环中实现产生方波〕)连接到P00

使用特权

评论回复
35
wangwo| | 2009-12-19 23:26 | 只看该作者
进来学习

使用特权

评论回复
36
linhai1986| | 2009-12-20 16:58 | 只看该作者
学习了

使用特权

评论回复
37
hulan1985|  楼主 | 2009-12-20 22:56 | 只看该作者
估计只能够收到一个0xee
liliang9554 发表于 2009-12-19 23:12


确实啊,怎么办?

使用特权

评论回复
38
午夜粪车| | 2009-12-20 22:59 | 只看该作者
接下来不是说了吗

使用特权

评论回复
39
juventus9554| | 2009-12-20 23:01 | 只看该作者
以肯定的说,他程序里面有这一条语句:
#pragma interrupt_handler APSoC_GPIO_ISR

使用特权

评论回复
40
juventus9554| | 2009-12-20 23:01 | 只看该作者
但是这程序就是进不了IO中断,只能够进入UART相关中断。是这意思吧,楼主?

使用特权

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

本版积分规则