zhdm

    1. vl53l0x测距程序,使用STM32L4R5 22/12657 ST传感器与低功耗无线技术论坛 2018-09-09
      不错,谢谢分享
    2. 【C2000 LaunchPad】I2C模块应用篇(查询法) 30/14330 微控制器 MCU 2016-04-16
      单独运行你的接收函数,发现程序停留在 while(I2caRegs.I2CSTR.bit.XRDY == 0){}; 处。 不知原因为何?
    3. 【C2000 LaunchPad】I2C模块应用篇(查询法) 30/14330 微控制器 MCU 2016-04-15
      我在采用该程序的时候发现这样的问题:    采用先写,延时,在读出。发现这样的问题:   写入数据函数->延时->断点-->读函数->延时,程序运行正常,结果正确; 如采用这样的步骤:     写入数据函数->延时-->读函数->延时,程序不正确:程序停留在:   while(I2caRegs.I2CSTR.bit.XRDY == 0){}; 处。           I2caRegs.I2CSAR = I2C_SLAVE_ADDR;               //Set slave address            I2caRegs.I2CCNT = 2;                            //Set count to 2 address bytes            I2caRegs.I2CDXR = I2C_EEPROM_HIGH_ADDR;            I2caRegs.I2CMDR.bit.TRX = 1;                    //Set to Transmit mode            I2caRegs.I2CMDR.bit.MST = 1;                    //Set to Master mode            I2caRegs.I2CMDR.bit.FREE = 1;                   //Run in FREE mode            I2caRegs.I2CMDR.bit.STP = 0;                    //Dont release the bus after Tx            I2caRegs.I2CMDR.bit.STT = 1;                    //Send the start bit, transmission will follow            while(I2caRegs.I2CSTR.bit.XRDY == 0){};         //Do nothing till data is shifted out            I2caRegs.I2CDXR = I2C_EEPROM_LOW_ADDR;
    4. 我在采用该程序的时候发现这样的问题:    采用先写,延时,在读出。发现这样的问题:   写入数据函数->延时->断点-->读函数->延时,程序运行正常,结果正确; 如采用这样的步骤:     写入数据函数->延时-->读函数->延时,程序不正确:程序停留在:   while(I2caRegs.I2CSTR.bit.XRDY == 0){}; 处。           I2caRegs.I2CSAR = I2C_SLAVE_ADDR;               //Set slave address            I2caRegs.I2CCNT = 2;                            //Set count to 2 address bytes            I2caRegs.I2CDXR = I2C_EEPROM_HIGH_ADDR;            I2caRegs.I2CMDR.bit.TRX = 1;                    //Set to Transmit mode            I2caRegs.I2CMDR.bit.MST = 1;                    //Set to Master mode            I2caRegs.I2CMDR.bit.FREE = 1;                   //Run in FREE mode            I2caRegs.I2CMDR.bit.STP = 0;                    //Dont release the bus after Tx            I2caRegs.I2CMDR.bit.STT = 1;                    //Send the start bit, transmission will follow            while(I2caRegs.I2CSTR.bit.XRDY == 0){};         //Do nothing till data is shifted out            I2caRegs.I2CDXR = I2C_EEPROM_LOW_ADDR;

最近访客

< 1/1 >

统计信息

已有33人来访过

  • 芯积分:9
  • 好友:--
  • 主题:--
  • 回复:4

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言