This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

.out 无法打开

Other Parts Discussed in Thread: TM4C123GH6PM

最开始编译出错,经过询问是芯片型号没有添加,现在添加了(如上图)编译能通过(编译结果如图),但是下载就处错误(具体错误见图),请各位指点一下

      

  • 出现这个问题,一般是你的工程没有编译成功,没有产生.out文件。

    你可以先确定一下你的工程路径下面有没有响应的out文件

    谢谢

  • 再次对照我的帖子,看看哪一步没有设置好。

  • 这是一个TM4C123GH6PM的IIC配置,连续接受两个字节数据的配置

    请帮我看看有没有问题啊?采集到的数据总感觉有点怪。。。

    /******************************* IIC *************************************//
    //PORT : PA6-->SCL                                                         //
    //       PA7-->SDA                                                         //
    //*************************************************************************//

    void I2C_init(void)//I2C初始化
    {
      SysCtlPeripheralEnable( SYSCTL_PERIPH_I2C1);//使能I2C模块
      SysCtlPeripheralEnable( SYSCTL_PERIPH_GPIOA);//使能对应的I/O模块
     
      GPIOPinConfigure(GPIO_PA6_I2C1SCL);//配置相应的I/O管脚作为SCL/SDA
      GPIOPinConfigure(GPIO_PA7_I2C1SDA);
      GPIOPinTypeI2CSCL(GPIO_PORTA_BASE,GPIO_PIN_6);
      GPIOPinTypeI2C(GPIO_PORTA_BASE,GPIO_PIN_7);
      I2CMasterInitExpClk(I2C1_BASE,SysCtlClockGet(),true);//主机模式配置:频率80MHz=80 000 000,400kbp
      I2CMasterEnable(I2C1_BASE);//主机使能
    }


    int I2CRead(uint8 DevAddr,uint8 RegAddr)//写从机地址,寄存器地址,数据读取函数
    {
          static int i2c_data=0;
          char i2c_getdata[2];
          uint8 i;
          I2CMasterSlaveAddrSet(I2C1_BASE, DevAddr, false);//与主机对应的从机地址设置,发送数据模式
          I2CMasterDataPut(I2C1_BASE, RegAddr);//发送一个字节的从机寄存器地址
          //while(I2CMasterBusy(I2C0_BASE));
          I2CMasterControl(I2C1_BASE, I2C_MASTER_CMD_BURST_SEND_START);//主机突发起始
          //I2CMasterControl(I2C0_BASE, I2C_MASTER_CMD_SINGLE_SEND);//主机单次发送
          while(I2CMasterBusy(I2C1_BASE));//等待总线空闲
          I2CMasterSlaveAddrSet(I2C1_BASE, DevAddr, true);//与主机对应的从机地寄存器址设置,接受数据模式
          I2CMasterControl(I2C1_BASE, I2C_MASTER_CMD_BURST_RECEIVE_START);//主机突发接受起始
          while(I2CMasterBusy(I2C1_BASE));//等待总线空闲
          for(i=0;i<2;i++)//接受两个字节数据
          {
            i2c_getdata[i]= I2CMasterDataGet(I2C1_BASE);//读取主机接受到的一个字节数据
            if(i<1)//如果接受字节<2,主机继续接受
              I2CMasterControl(I2C1_BASE, I2C_MASTER_CMD_BURST_RECEIVE_CONT);
            else//反之,结束接受
            {
              I2CMasterControl(I2C1_BASE, I2C_MASTER_CMD_BURST_RECEIVE_FINISH);
              while(I2CMasterBusy(I2C1_BASE));//等待主机空闲
              I2C_init();//方便下一次数据接受
            }
          }
          i2c_data=((int)i2c_getdata[1]<<8|i2c_getdata[0]);//2个字节数据转化为一个字的数据
          return i2c_data;//返回接受到数据
     
    }