当前位置: 首页 > news >正文

玉溪建设局门户网站外贸建站网站推广

玉溪建设局门户网站,外贸建站网站推广,金融网站如何做设计方案,高端品牌企业管理系统简介 使用BearPi IOT Std开发板及其扩展板E53_SC1, SC1上有I2C1 的光照强度传感器BH1750 和 EEPROM AT24C02, 本次主要就是读取光照强度; 主板: 主芯片: STM32L431RCT6LED : PC13 \ 推挽输出\ 高电平点亮串口: Usart1I2C使用 : I2C1E53_SC1扩展板 : LE…

简介

使用BearPi IOT Std开发板及其扩展板E53_SC1, SC1上有I2C1 的光照强度传感器BH1750 和 EEPROM  AT24C02, 本次主要就是读取光照强度;
主板: 主芯片: STM32L431RCT6LED : PC13 \ 推挽输出\ 高电平点亮串口: Usart1I2C使用 : I2C1E53_SC1扩展板 : LED : PB9 \ 推挽输出 \ 高电平点亮光照强度传感器:BH1750EEPROM芯片 : AT24C02

步骤

  1. 创建项目
    参考 BearPi IOT Std板 RT-Thread 工程创建
  2. 开启rt-thread i2c支持
    rtconfig.h 文件中添加
/* rt-thread 开启i2c支持 */
#define RT_USING_I2C // RT-Thread开启I2C
#define RT_USING_I2C_BITOPS // RT-Thread 启用 I2C 位操作功能/* 注册i2c1设备 */
#define BSP_USING_I2C1 // 开启I2C1, 启用该块代码
#define BSP_I2C1_SCL_PIN 22 // i2c1初始化的时候使用
#define BSP_I2C1_SDA_PIN 23 // i2c1初始化的时候使用
  1. env + 指令 scons --target=mdk5 -s 更新支持模块到Keil工程文件中

  2. 编译烧录
    list device # 可以看到i2c1 设备了
    在这里插入图片描述

  3. 添加使用代码

#include <board.h>
#include <rtthread.h>
#include <drv_gpio.h>
#ifndef RT_USING_NANO
#include <rtdevice.h>
#endif /* RT_USING_NANO */int main(void)
{struct rt_i2c_bus_device *i2c_bus;      /* I2C总线设备句柄 */float lux = 0.0;uint8_t temp[2];uint8_t cmd = 0x11;rt_kprintf("---Welcome use BearPi---\n");
i2c_bus = (struct rt_i2c_bus_device *)rt_device_find("i2c1"); // 获取注册i2c1设备if (i2c_bus != RT_NULL){rt_kprintf("init succeed!\n");rt_kprintf("send result: %d\n", rt_i2c_master_send(i2c_bus, 0x23, RT_I2C_WR, &cmd, 1)); // 发送连续读H分辨率模式到BH1750rt_thread_mdelay(180); // 延时180msrt_kprintf("recv result: %d\n", rt_i2c_master_recv(i2c_bus, 0x23, RT_I2C_RD, temp, 2)); //  读取BH1750传来的光照强度数据/* 计算光照强度数据 */lux = (float)((temp[0]<<8)|temp[1]);lux /= (float)(1.2);rt_kprintf("LUX : %f\n", lux);}
}
  1. 编译烧录
  2. 串口打开, 复位查看
    在这里插入图片描述

前言后说

  1. 读取BH1750地址差异
    裸机API
    HAL_I2C_Master_Transmit , DeviceAddress 是 0x46(写)
    HAL_I2C_Master_Receive, DeviceAddress 是 0x47(读)
    RT-Thread API
    rt_i2c_master_send, Address 是 0x23
    rt_i2c_master_recv, Address 是 0x23
    两者的差异主要是裸机API中的设备地址包含了读/写位
    0100011 0(包含写/读位) -> 0x46(写)
    0100011 1(包含写/读位) -> 0x47(读)
    0100011(不包含写/读位) -> 0x23

  2. 使用 rt_kprintf 打印不了浮点数
    将 rt-thread/src/kservice.c 里面 rt_kprintf 实现函数中的
    length = rt_vsnprintf(rt_log_buf, sizeof(rt_log_buf) - 1, fmt, args);
    改为
    length = vsnprintf(rt_log_buf, sizeof(rt_log_buf) - 1, fmt, args);
    记得加上头文件和Keil中设置Micro Lib库支持

项目代码

参考

RT-Thread I2C总线设备
BearPi IOT Std板 RT-Thread 工程创建
BearPi Std 板从入门到放弃 - 先天神魂篇(2)(RT-Thread LED PWM驱动)

http://www.15wanjia.com/news/33580.html

相关文章:

  • 可以做h5的网站有哪些今日新闻网
  • 公司网站建设怎么做抖音seo排名优化
  • 一个人做网站可以做什么百度推广话术全流程
  • 做一个自己的免费网站吗百度收录接口
  • 网站建设需准备什么球队积分排名
  • 高端定制建站公司3322免费域名注册
  • 廊坊网站开发网络客服
  • 教育培训机构网站模板网站自动提交收录
  • 一起做网站广州批发市场seo查询工具网站
  • ps做网站大小如何创建一个个人网站
  • 网站建设流程信息网页设计参考网站
  • 廊坊做网站费用接外贸订单的渠道平台哪个好
  • 个人公众号做电影网站吗整合营销什么意思
  • 网站建设带后台带微商城湖南网站营销seo多少费用
  • 合肥微信网站建设网站seo方案撰写
  • 深圳响应式建站网上国网推广
  • 周口网站建设百度推广优化师是什么
  • 现在c 做网站用什么框架百度关键词排名点击
  • 网站备案号怎么查询电话百度
  • wordpress付费查看下载主题搜索引擎优化人员优化
  • java做博客网站有哪些功能互联网广告投放
  • 网站建设工作总结范文百度seo点击软件
  • wordpress附件上传宁海关键词优化怎么优化
  • 主流搭建网站中国最好的网络营销公司
  • 旅游网的网站建设百度搜索风云榜官网
  • 武汉网址模板建站360安全网址
  • 网站的页脚百度关键词指数查询工具
  • 网络营销的推广方法有哪些seo诊断分析工具
  • wordpress加密视频国内好的seo网站
  • 英文网站建设官网珠海网站建设优化