OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 46|回复: 1

光敏传感器使用代码释义!

[复制链接]

0

主题

3

帖子

0

精华

新手入门

积分
6
金钱
6
注册时间
2026-9-30
在线时间
0 小时
发表于 6 天前 | 显示全部楼层 |阅读模式
正点原子精英STM32F103开发板V2 资料盘(A盘)里的“程序源码”中“实验20 光敏传感器实验”有函数代码如下:/**
* @brief       读取光敏传感器值
* @param       无
* @retval      0~100:0,最暗;100,最亮
*/
uint8_t lsens_get_val(void)
{
    uint32_t temp_val = 0;
    temp_val = adc3_get_result_average(LSENS_ADC3_CHX, 10);  /* 读取平均值 */
    temp_val /= 40;
    if (temp_val > 100)
          temp_val = 100;
    return (uint8_t)(100 - temp_val);
}

红色加粗的那段代码为什么要给已经取过平均值的值要除以40?有大神知道为什么吗?

回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
6
金钱
6
注册时间
2026-9-30
在线时间
0 小时
 楼主| 发表于 6 天前 | 显示全部楼层
我好像懂了。采用最大值为4096,题目要求测量值在0-100之间。那么把0-4096映射到0-100之间,的比较粗糙的转换就是除以40。不知道我这样理解对不对。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /1 下一条

正点原子公众号

如发现本坛存在违规或侵权内容, 请点击这里发送邮件举报 (或致电020-38271790)。请提供侵权说明和联系方式。我们将及时审核依法处理,感谢配合。

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2026-10-9 00:18

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表