打印

AW32 IIC 做从机,产生不了中断

[复制链接]
2086|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tarzar|  楼主 | 2008-2-1 08:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
iic, vi, ce, ST, ICE
AW32 IIC 做从机,产生不了中断

首先看一下我计算其分频因子是否有错误:

      MCU clock speed: 3706000 Hz
Block Module Name      Address Range   Status
   0  FLASH             8000 -  FFFF   Programmed - Unselected

希望得到100K速率

100 000 = 3706000/(mul*SCL分频数)

当mul = 01时,SCL分频数 = 37.06

查表(Table 13-3. IIC Divider and Hold Values)
当SCL分频数36最接近的,即取ICR = 0X0A  SDA的保持时间为9

从而得IIC1F = 0x0A


程序如下,我用已经好的主机通过IIC去访问该从机,为什么就是产生不了中断,进不了IIC_ISR函数

#define  DEVICE_I2C_ADR                0x40

void IIC_init(void)
{
    IIC1C = 0x00; //禁止IIC模块
    IIC1F = 0x0A; //设成100K
    IIC1A = DEVICE_I2C_ADR;//设从机地址
    IIC1S = 0x12; //状太寄存器
    IIC1C = 0xC8;
    //IIC1C_IICEN = 1; //IIC模块使能
    //IIC1C_IICIE = 1; //中断使能
    //IIC1C_MST   = 0; //IIC模块设为从机
    //IIC1C_TXAK  = 0;
}

interrupt VectorNumber_Viic1 void  IIC_ISR(void)
{
    unsigned char dummy_dat;
    
    IIC1S_IICIF = 1; //清除中断标志位
    
    if(IIC1C_MST == 0) //是设成从机吗?   不参与仲裁....
    {
        if(IIC1S_IAAS == 1) //从机地址匹配吗?
        {
        }
        else 
        {

        }
    }
    else  //设成主机吗?
    {
    }
}

相关帖子

沙发
tarzar|  楼主 | 2008-2-1 09:04 | 只看该作者

补充,全局中断也有开着

全局中断也有关着
void main(void)
{
    /* include your code here */
      init_devices(); //初始化IO口,和IIC,定时器等
      init_data(); //初始化全局变量
      EnableInterrupts; /* enable interrupts */

      for(;;)
      {        
               __RESET_WATCHDOG(); /* feeds the dog */
               check_led();    //程序运行指示灯
              //delay(500);
      } /* loop forever */
  /* please make sure that you never leave main */
}

使用特权

评论回复
板凳
yellowland| | 2008-2-23 17:40 | 只看该作者

回复主题:AW32 IIC 做从机,产生不了中断

注意initia,
1,slave clock 来自 master clock,无须设置
2, II1CS=0X80; //or no change after reset
3, 确定地址 是否需要shift left one bit
4,确认中断号是否正确

使用特权

评论回复
地板
tarzar|  楼主 | 2008-2-24 23:27 | 只看该作者

可以中断了,是硬件的SDA和SCL两线接反了。

可以中断了,是硬件的SDA和SCL两线接反了。

使用特权

评论回复
5
hotpower| | 2008-2-24 23:28 | 只看该作者

晕倒了...

使用特权

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

本版积分规则

4

主题

81

帖子

2

粉丝