jinglixixi 发表于 2016-12-4 23:39:11

【F769IDISCOVERY评测】内部温度检测功能验证

      与通常的开发板不同,由于F769IDISCOVERY(STM32官网)开发板其自身已配备了4英寸电容式触摸屏,所以在例程的编写上也不再采用常规的以串口来输出显示结果的方式。    以检测内部温度的例程为例,它就是直接地将检测的温度值显示在触摸屏上,其显示效果如图1所示。(LD2闪烁、触摸屏显示内部温度值约在35~36度间)图1 内部温度测量
那该显示效果是如何来实现的呢?我们可由其主函数看出端倪,其程序内容及注释如下:int main(void)   
{
char desc;
/* 配置 MPU 属性以进行写处理 */
MPU_Config();
/* 使能 CPU Cache */
CPU_CACHE_Enable();
/* STM32F7xx HAL library 测试化 */
HAL_Init();
/* 配置系统时钟为200 MHz */
SystemClock_Config();
/* 配置 LED1 and LED2,但只使用了LED2 */
BSP_LED_Init(LED1);
BSP_LED_Init(LED2);
/* 配置 LCD 固件 */
LCD_Config();
/* 配置ADC 固件 */
ADC_Config();
/* 启动转换处理 */
HAL_ADC_Start_DMA(&AdcHandle, (uint32_t*)&ConvertedValue, 1);
/* 设置循环 */
while (1)
{
    /* 设置一个刷新周期延时 */
    HAL_Delay(TEMP_REFRESH_PERIOD);
   /* 将采集的电压值转换为相应的温度值 */
    JTemp = ((((ConvertedValue * VREF)/MAX_CONVERTED_VALUE) - VSENS_AT_AMBIENT_TEMP) * 10 / AVG_SLOPE) + AMBIENT_TEMP;
    /* 将温度值显示到LCD屏 */
    sprintf(desc, "Internal Temperature is %ld degree C", JTemp);
    BSP_LCD_DisplayStringAt(0, BSP_LCD_GetYSize()/2 + 45, (uint8_t *)desc, CENTER_MODE);
    BSP_LCD_ClearStringLine(30);
    /* 切换LED2状态,以指示采集过程 */
    BSP_LED_Toggle(LED2);
}
}

jackten 发表于 2016-12-5 00:21:30

谢谢分享                  

andypanfan 发表于 2016-12-5 08:49:50

跟着大神学:lol:lol:lol:lol:lol:lol

leo121_3006061 发表于 2016-12-5 10:07:04

谢谢分享::)

小小超 发表于 2016-12-5 10:17:08

支持一下!!

斜阳 发表于 2016-12-5 10:17:39

支持一下

5265325 发表于 2016-12-5 10:22:27

:lol:lol:lol:lol

limale 发表于 2016-12-6 09:44:57

谢谢分享

jinglixixi 发表于 2016-12-6 10:13:26

limale 发表于 2016-12-6 09:44
谢谢分享

多谢支持!

damiaa 发表于 2016-12-6 14:12:03

:):):):):):):)

fightingboon 发表于 2016-12-12 16:26:01

谢谢,如果内容再多谢就好了

zbber 发表于 2016-12-12 18:16:54

跟着大神学

shuolang126 发表于 2016-12-24 08:54:55

简单了点啊

A.K. 发表于 2018-2-10 22:38:38

谢谢分享

r55554040 发表于 2019-5-21 15:22:16

您好最近小弟也在玩769想試著用i2c讀內部的溫度但是苦於找不到內部晶片的地址想請教您orz
页: [1]
查看完整版本: 【F769IDISCOVERY评测】内部温度检测功能验证