查看“第十二课--microWRT与Microduino I2C 通信”的源代码
←
第十二课--microWRT与Microduino I2C 通信
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{| style="width: 800px;" |- | 一般的应用中microwrt和其他模块,比如蓝牙,zigbee,microduino-core模块都是通过串口进行通信的。本文主要介绍如何利用 microWRT的i2c接口进行通信。对于i2c接口的具体含义,本教程不做详细介绍,在microduino的基础教程中有详细描述。 ==microWRT i2c接口配置== 通过下面的基础教程来配置microwrt对i2c接口的支持。 https://www.microduino.cc/wiki/index.php?title=第五课--MicroWRT_I2C_使用 ==Microduino Core== Core模块已经支持了i2c协议。包括3.3v的core模块和5v core模块。 下面是microduino Core 的程序。 <source lang="cpp"> #include <Wire.h> #define SLAVE_ADDRESS 0x04 int number = 0; int state = 0; void setup() { pinMode(13, OUTPUT); Serial.begin(9600); // start serial for output // initialize i2c as slave Wire.begin(SLAVE_ADDRESS); // define callbacks for i2c communication Wire.onReceive(receiveData); Wire.onRequest(sendData); Serial.print("Ready!"); } void loop() { delay(100); } // callback for received data void receiveData(int byteCount) { while(Wire.available()) { number = Wire.read(); Serial.print("data received: "); Serial.println(number); if (number == 1) { if (state == 0){ digitalWrite(13, HIGH); // set the LED on state = 1; } else { digitalWrite(13, LOW); // set the LED off state = 0; } } } } // callback for sending data void sendData(){ Wire.write(number); } </source> ==硬件连接== 在microWRT的UPIN扩展板上,留出了I2C接口,包括SCL,SDA,3.3V,GND 4个引脚。将这四个引脚分别接到Core模块的对应引脚上。 为了验证传输数据的有效性,我们在core的D13引脚接一个LED灯。 系统连接如下图所示: [[File:i2c-comu-hard.jpg|800px|thumb|center|I2C Communication]] ==测试== 系统上电后,可以发现i2c-0设备,core模块被设置为从机,并且地址为0x04,可以通过下面的命令来测试数据。 同时开启Microduino的模拟串口来监视数据。 root@microWrt:/dev# i2cset -y 0 0x04 1 其中: 0: 表示操作i2c-0 0x04:表示从机地址 1: 表示输入的数据 测试结果如下: [[File:i2c-comu.jpg|800px|thumb|center|I2C Communication]] 有了I2C-0 设备和从机地址0x04,玩家可以通过在microwrt上通过python,C程序来完成对I2C接口的使用。 |}
返回至
第十二课--microWRT与Microduino I2C 通信
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息