• 嵌入式实操----基于RT1170 首板硬件之tempsensor温度传感器调试(二十一)


    本文主要是通过迁移的思维,记录本人初次使用NXP MCUXpresso SDK API进行BSP开发

    本文主要是描述整合tempsensor模块接口,供应用开发人员使用。这当中有一个重要的功能,就是CPU的结温达到设置的阈值时,CPU主动复位,本文的阈值的110度。

    1. 首先阅读原理图

    NA

    2. 调试过程

    2. 1 tempsensor初始化

    /*----------------------------------------------*
     * macros                                       *
     *----------------------------------------------*/
    #define DEMO_TMPSNS TMPSNS
    
    #define DEMO_LOWALARMTEMP 0U
    
    #define DEMO_HIGHALARMTEMP 70
    
    #define DEMO_PINICALARMTEMP 110U
    /**
     * @brief tempsensor init
     *
     * @param [in] void  
     * @param [out] None
     * 
     * @return 
     * 
     * @history
     * 1.Date         : 2021-5-28 14:7:9
     *   Author       : panzidong
     *   Modification : Created function
     */
    void bsp_tempsensor_init(void)
    {
        tmpsns_config_t config;
    
        TMPSNS_GetDefaultConfig(&config);
        config.measureMode   = kTEMPSENSOR_ContinuousMode;
        config.frequency     = 0x03U;
    	  /*设置MCU高温警告阈值*/
        config.highAlarmTemp = DEMO_HIGHALARMTEMP;
        /*设置MCU低温警告阈值*/
    	  config.lowAlarmTemp =  DEMO_LOWALARMTEMP;
    	  /*设置MCU 复位警告阈值*/
    	  config.panicAlarmTemp = DEMO_PINICALARMTEMP;
    	
        TMPSNS_Init(DEMO_TMPSNS, &config);
    
        TMPSNS_StartMeasure(DEMO_TMPSNS);	
    }
    

    2. 2 tempsensor值获取

    **
     * @brief print mcu tempsensor info
     *
     * @param [in] void  
     * @param [out] None
     * 
     * @return 
     * 
     * @history
     * 1.Date         : 2021-5-28 14:11:18
     *   Author       : panzidong
     *   Modification : Created function
     */
    void bsp_dump_tempsensor(void){
    
        float temperature = 0U;
    
        /* Get temperature */
        temperature = TMPSNS_GetCurrentTemperature(DEMO_TMPSNS);
    
        PRINTF("temperature is %f celsius degree 
    ", temperature);
        
        SDK_DelayAtLeastUs(1000*1000,  SystemCoreClock);			
        /* Get current temperature */
        temperature = TMPSNS_GetCurrentTemperature(DEMO_TMPSNS);
    
        PRINTF("temperature is %f celsius degree. 
    ", temperature);
    }
    

    3. 总结

    NA

  • 相关阅读:
    周总结6
    河北省重大需求征集系统每日进度8
    《代码整洁之道》读书笔记3
    周总结5
    河北省重大需求征集系统每日进度7
    mybatis 关联查询多个类型相同对象
    thymeleaf 接受字符串类型model值作为js方法参数报错500
    毕业设计(2.17-2.23)周工作计划
    毕业设计记录——2.16
    毕业设计记录——2.15
  • 原文地址:https://www.cnblogs.com/lianghong881018/p/15169598.html
Copyright © 2020-2023  润新知