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.

[参考译文] CCS/CC1350STK:磁体轴的空值(x、y、z)

Guru**** 2511915 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/671545/ccs-cc1350stk-null-values-for-magnetomer-axis-x-y-z

器件型号:CC1350STK

工具/软件:Code Composer Studio

你(们)好  
我已根据 wiki 中提到的步骤(忽略磁力计的计算)、将底部链接作为磁力计的示例代码。 当我运行底部代码时、我得到三个轴的0 (null)值。您能帮助我解决这个问题吗?
void * mainThread (void * arg0)
  /* 1秒延迟*/
  uint32_t 时间= 1;
  unsigned int  i;
 
  /*调用驱动程序初始化函数*/
   GPIO_init();
   I2C_init();
   display_init();
   /*打开主机显示屏以输出*/
     Display = Display_open (Display_Type_UART、NULL);
     if (display =NULL){
       while (1);
     }
     /*打开用户 LED */
     GPIO_WRITE (Board_GPIO_LED0、Board_GPIO_LED_ON);
     Display_printf (display、0、0、"启动 Display \n");
         /*创建 I2C 以供使用*/
       I2C_Params_init (&i2cParams);
     i2cParams.bitrate = I2C_400kHz;
     I2C = I2C_open (Board_I2C_TMP、&i2cParams);   // Board_I2C_TMP 这是正确的地址?
     if (i2c == NULL){
       Display_printf (display、0、0、"Error Initializing I2C\n");
       while (1);
     }
     否则{
       display_printf (display、0、0、"I2C initialized!\n"\});
     }
     if (SensorI2C_open ())
      {
        SensorMpu9250_init();
        SensorMpu9250_powerOn ();
        SensorMpu9250_enable (0x006F);  // 这是启用传感器的正确方法吗?
      }
     while (1)
       {
         bool 成功;
         //读取数据
         Success = SensorMpu9250_magRead (magData);
         if (成功)
         {
           i2cTransaction.slaveAddress = Board_MPU9250_MAG_ADDR;       // 0x0C
           MAG_X = 1.0 * magData[0];
           mag_y = 1.0 * magData[1];
           mag_z = 1.0 * magData[2];
           display_printf (display、0、0、"Sample %u:%d (C)\n"、i、mag_X);
           display_printf (display、0、0、"Sample %u:%d (C)\n"、i、mag_y);
           display_printf (display、0、0、"Sample %u:%d (C)\n"、i、mag_z);
         }
       }
睡眠(时间);
     GPIO_TOGGLE (Board_GPIO_LED0);
    I2C_Close (i2c);
     display_printf (display、0、0、"I2C closed!\n"\});
返回0;
提前感谢
 此致
RAM
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Cheekatla、

    我对 STK 上的磁力计并不是很熟悉。 您是否参考过此页面:
    processors.wiki.ti.com/.../CC2650_SensorTag_User's_Guide

    一些反馈意见、您可能可以利用这些反馈来推动发展。 如果您看一下 SensorMpu925.c,您会发现 sensorMagEnable()、sensorMagInit()等一些可能有用的函数。