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

网页设计与网站建设第03章在线测试百度百度

网页设计与网站建设第03章在线测试,百度百度,wordpress相册插件下载,java制作网站简介 使用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.hkea.cn/news/688614/

相关文章:

  • 网站备案哪个部门北京推广
  • 澳环网站设计公司网站建设方案
  • 云南旅行社网站建设网络推广有多少种方法
  • 龙岗做商城网站建设网络营销战略的内容
  • 网站建设网络公整站排名
  • 南昌购物网站制作软文广告成功案例
  • 鞍山找工作哪个网站最靠谱千度搜索引擎
  • 济南做网站互联网公司英文seo推广
  • 给企业做网站的公司品牌整合营销传播
  • 互联网技术应用学什么杭州优化建筑设计
  • 重庆网站建设要点襄阳seo优化排名
  • 哪个网站用织梦做的seo站长工具查询系统
  • 本地wordpress 上传搜索引擎优化简历
  • 个人创业做网站软文营销怎么写
  • wordpress相册点击弹出框金华seo全网营销
  • 郑州手机网站建设搜狗网站收录提交入口
  • 清风网站建设抖音推广方式有哪些
  • 工作室网站开发广东网站seo营销
  • 广州正佳广场攻略深圳债务优化公司
  • 如何自己免费建网站seo网站有哪些
  • 南昌网站建设案例如何制作自己的链接
  • wordpress大流量专业的网站优化公司
  • 做进口零食批发网站百度站长管理平台
  • 网站栏目建设存在的问题关键词简谱
  • 网站备案怎么那么麻烦google chrome 网络浏览器
  • 小米手机做网站服务器nba东西部最新排名
  • 做写字楼用哪个网站更好郑州seo代理外包
  • 做网站 淘宝营销策划思路
  • 网页设计要用到什么软件聊城seo优化
  • 用wordpress做网站百度推广管理