这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » ARM,bag 遇到几个问题,大家看看,是否是ARM的bag,谢谢!

共2条 1/1 1 跳转至

ARM,bag 遇到几个问题,大家看看,是否是ARM的bag,谢谢!

院士
2006-09-17 18:14:16     打赏
ARM,bag 遇到几个问题,大家看看,是否是ARM的bag,谢谢!



关键词: 遇到     几个问题     大家     看看     是否是     谢谢    

院士
2006-12-22 22:43:00     打赏
2楼
问 void TargetInit(void)
{
   /* I2C初始化,包括初始化其中断为向量IRQ中断。*/
   PINSEL1 = PINSEL1&0xefffffff|0x20000000;            // 使用P0.30作为EINT3
   //PINSEL0 = PINSEL0&0xbfffffff|0x80000000;
   EXTMODE = 0x0f;    //边缘触发,情况同下
   EXTPOLAR = 0x0f;  //此处遇到过问题,只有同时设置为0x0f时才有效,本来只需要设置为0x08,可这样设置不工作
   VICIntSelect = 0x00000000;        // 设置所有通道为IRQ中断
  
//   VICVectCntl5 = 0x20|16;
//   VICVectAddr5 = (int)IRQ_EINT2;
   VICVectCntl10 = 0x31;
   VICVectAddr10 = (int)IRQ_EINT3;
   VICIntEnable = 0x020000;          //使能外部中断3   
}
注意:EXTMODE = 0x0f;    //边缘触发,情况同下
   EXTPOLAR = 0x0f;  //此处遇到过问题,只有同时设置为0x0f时才有效,本来只需要设置为0x08,可这样设置不工作

另外遇到一个问题,在程序中有个液晶显示程序SED1335(320240),如果开通SPI通讯(与另一个ARM),则显示不正常,而SPI正常 1: re第一个问题,请参考errdata手册。
第二个问题,明显不是CPU的问题。 2: 谢谢!谢谢了!第一个问题我忙了一天!终于可以进中断了!同时我也发现:运行到这步的时候,(VICIntSelect = 0x00000000;        // 设置所有通道为IRQ中断)
这时候观察PINSEL1 的值变化了.不是我们设定的值;不知道是什么原因!
下面是我的代码:
VICIntSelect = 0x00000000;          // 设置所有的通道为IRQ中断
      `
    VICVectCntl2 = 0x20 | 7;            // UART1分配到IRQ slot2, <   ╚3
    VICVectAddr2 = (uint32)IRQ_UART1;    // 设置UART1向量地址  ╚
    //VICIntEnable = 1 << 7;   
       
    VICVectCntl3 = 0x20 | 4;            // Timer0分配到IRQ slot3,            
    VICVectAddr3 = (uint32)IRQ_Timer0;    // 设置Timer0向量地址    
    //VICIntEnable = 1 << 4;   
       
    VICVectCntl1 = 0x20 | 17;            // 分配到IRQ slot1,即最高优先级           
    VICVectAddr1 = (uint32)IRQ_Eint3;    // 设置向量地址     
    EXTINT=0x0F;    // 清除中断标志                 
    //VICIntEnable =1 << 17;   
    VICIntEnable=0x020090;//在这个时候观察
3: 谢谢,第二个问题已经解决,不是CPU的问题,

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]