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.

关于CC2541内部温度传感器的问题



我在官方SDK 的simpleBLEPeripheral main函数下添加了下列代码,希望得到内部温度传感器的数据,但传到手机上时为什么数据为0?希望得到指导,谢谢!

  • 您好,我模仿上述程序也还是得到了0,
    while(1){
    uint8 valueToCopy;
    uint8 stat;
    uint8 tempValue;
    uint8 adcValue;
    HalAdcInit();

    TR0 |= 0x01;
    ATEST = 0x01;
    ADCIF=0;
    ADCCON3 = (HAL_ADC_REF_125V | 0x30 | HAL_ADC_CHN_TEMP);
    while ( !ADCIF );
    tempValue = ADCL;
    adcValue = ADCH;
    //adcValue=HalAdcRead(HAL_ADC_CHN_AIN1,HAL_ADC_RESOLUTION_12);
    //tempValue=HalAdcRead(HAL_ADC_CHANNEL_TEMP,HAL_ADC_RESOLUTION_12);
    SimpleProfile_SetParameter( SIMPLEPROFILE_CHAR1, sizeof ( uint8 ), &tempValue );
    SimpleProfile_SetParameter( SIMPLEPROFILE_CHAR2, sizeof ( uint8 ), &adcValue );
    }
    这样还有什么问题嘛,谢谢!
  • 您好,这篇博客我学习了一下,感觉我写的和这个差不多,就是我在simpleBLEperipheral例程下 加进去的,加在了main函数的
    int main(void)
    {
    /* Initialize hardware */
    HAL_BOARD_INIT();
    // Initialize board I/O
    InitBoard( OB_COLD );
    /* Initialze the HAL driver */
    HalDriverInit();
    /* Initialize NV system */
    osal_snv_init();
    /* Initialize LL */
    /* Initialize the operating system */
    osal_init_system();
    /* Enable interrupts */
    HAL_ENABLE_INTERRUPTS();
    // Final board initialization
    InitBoard( OB_READY );
    #if defined ( POWER_SAVING )
    osal_pwrmgr_device( PWRMGR_BATTERY );
    #endif
    /* Start OSAL */
    osal_start_system(); // No Return from here
    这个后面加上了while,请问这样是可以的嘛,因为我仿照了博客上的程序写了好像也没有结果。
  • osal_start_system 这个后面加上了while這個應該不會被執行到吧、你應該開一個周期性的事件去做溫度讀取