STM32单片机通过IIC通信方式读取两个JY-901模块的数据,代码可用,注释清晰方便学习
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 836 2014-11-26 23:17 STM32Core IIC读取两个模块DOCNote.h
文件 181137 2016-08-13 11:46 STM32Core IIC读取两个模块MDKJlinkLog.txt
文件 671 2015-12-22 12:51 STM32Core IIC读取两个模块MDKJlinkSettings.ini
文件 185336 2016-08-13 11:45 STM32Core IIC读取两个模块MDKListProject.map
文件 55946 2016-08-13 11:35 STM32Core IIC读取两个模块MDKListstartup_stm32f10x_hd.lst
文件 236329 2016-08-13 11:35 STM32Core IIC读取两个模块MDKObjdelay.crf
文件 659 2016-08-13 11:35 STM32Core IIC读取两个模块MDKObjdelay.d
文件 261896 2016-08-13 11:35 STM32Core IIC读取两个模块MDKObjdelay.o
文件 286980 2016-08-13 11:35 STM32Core IIC读取两个模块MDKObjhw_config.crf
文件 1812 2016-08-13 11:35 STM32Core IIC读取两个模块MDKObjhw_config.d
文件 335876 2016-08-13 11:35 STM32Core IIC读取两个模块MDKObjhw_config.o
文件 254088 2016-08-13 11:35 STM32Core IIC读取两个模块MDKObjioi2c.crf
文件 768 2016-08-13 11:35 STM32Core IIC读取两个模块MDKObjioi2c.d
文件 288348 2016-08-13 11:35 STM32Core IIC读取两个模块MDKObjioi2c.o
文件 274770 2016-08-13 11:45 STM32Core IIC读取两个模块MDKObjmain.crf
文件 1393 2016-08-13 11:45 STM32Core IIC读取两个模块MDKObjmain.d
文件 304460 2016-08-13 11:45 STM32Core IIC读取两个模块MDKObjmain.o
文件 235781 2016-08-13 11:35 STM32Core IIC读取两个模块MDKObjmisc.crf
文件 619 2016-08-13 11:35 STM32Core IIC读取两个模块MDKObjmisc.d
文件 259456 2016-08-13 11:35 STM32Core IIC读取两个模块MDKObjmisc.o
文件 443084 2016-08-13 11:45 STM32Core IIC读取两个模块MDKObjProject.axf
文件 1961 2016-08-13 11:45 STM32Core IIC读取两个模块MDKObjProject.build_log.htm
文件 47563 2016-08-13 11:45 STM32Core IIC读取两个模块MDKObjProject.hex
文件 87294 2016-08-13 11:45 STM32Core IIC读取两个模块MDKObjProject.htm
文件 1148 2016-08-13 11:45 STM32Core IIC读取两个模块MDKObjProject.lnp
文件 479 2016-01-31 14:25 STM32Core IIC读取两个模块MDKObjProject.sct
文件 64258 2016-08-13 11:45 STM32Core IIC读取两个模块MDKObjProject_Project.dep
文件 16102 2016-08-13 11:35 STM32Core IIC读取两个模块MDKObjqueue.crf
文件 245 2016-08-13 11:35 STM32Core IIC读取两个模块MDKObjqueue.d
文件 35364 2016-08-13 11:35 STM32Core IIC读取两个模块MDKObjqueue.o
............此处省略234个文件信息
/*
编写者:Kevin
网址:http://RobotControl.taobao.com
作者E-mail:1609370741@qq.com
编译环境:MDK-Lite Version: 5.17
初版时间: 2016-1-31
测试: 本程序已在【君悦智控】的STM32Core平台上完成测试
功能:
用STM32Core平台IIC接口读取JY901的数据,然后通过串口1打印到串口助手。
接线
USB-TTL工具 STM32Core JY901
VCC ----- VCC ---- VCC
TX ----- RX1
RX ----- TX1
GND ----- GND ---- GND
SDA2 ---- SDA
SCL2 ---- SCL
------------------------------------
*/
#include
#include
#include “Main.h“
#include “REG.h“
#include “stm32f10x_rcc.h“
#include “stm32f10x_gpio.h“
#include “UART1.h“
#include “delay.h“
#include “IOI2C.h“
#include “hw_config.h“
void ShortToChar(short sDataunsigned char cData[])
{
cData[0]=sData&0xff;
cData[1]=sData>>8;
}
short CharToShort(unsigned char cData[])
{
return ((short)cData[1]<<8)|cData[0];
}
int main(void)
{
unsigned char chrTemp[30];
unsigned char str[100];
float a[3]w[3]h[3]Angle[3];
USB_Config();
SysTick_init(7210);
Initial_UART1(115200);
IIC_Init();
while (1)
{
delay_ms(100);
IICreadBytes(0x50 AX 24&chrTemp[0]);
a[0] = (float)CharToShort(&chrTemp[0])/32768*16;
a[1] = (float)CharToShort(&chrTemp[2])/32768*16;
a[2] = (float)CharToShort(&chrTemp[4])/32768*16;
w[0] = (float)CharToShort(&chrTemp[6])/32768*2000;
w[1] = (float)CharToShort(&chrTemp[8])/32768*2000;
w[2] = (float)CharToShort(&chrTemp[10])/32768*2000;
h[0] = CharToShort(&chrTemp[12]);
h[1] = CharToShort(&chrTemp[14]);
h[2] = CharToShort(&chrTemp[16]);
Angle[0] = (float)CharToShort(&chrTemp[18])/32768*180;
Angle[1] = (float)CharToShort(&chrTemp[20])/32768*180;
Angle[2] = (float)CharToShort(&chrTemp[22])/32768*180;
sprintf((char*)str“0x50: a:%.3f %.3f %.3f w:%.3f %.3f %.3f h:%.0f %.0f %.0f Angle:%.3f %.3f %.3f
“a[0]a[1]a[2]w[0]w[1]w[2]h[0]h[1]h[2]Angle[0]Angle[1]Angle[2]);
UART1_Put_String(str);
USB_TxWrite(str strlen((char*)str));
IICreadBytes(0x51 AX 24&chrTemp[0]);
a[0] = (float)CharToShort(&chrTemp[0])/32768*16;
a[1] = (float)CharToShort(&chrTemp[2])/32768*16;
a[2] = (float)CharToShort(&chrTemp[4])/32768*16;
w[0] = (float)CharToShort(&chrTemp[6])/32768*2000;
w[1] = (float)CharToShort(&chrTemp[8])/32768*2000;
w[2] = (float)CharToShort(&chrTemp[10])/32768*2000;
h[0] = CharToShort(&chrTemp[12]);
h[1] = CharToShort(&chrTemp[14]);
h[2] = CharToShort(&chrTemp[16]);
Angle[0] = (float)CharToShort(&chrTemp[18])/32768*180;
Angle[1] = (float)CharToShort(&chrTemp[20])/32768*180;
Angle[2] = (float)CharToShort(&chrTemp[22])/32768*180;
sprintf((char*)str“0x51: a:%.3f %.3f %.3f w:%.3f %.3f %.3f h:%.0f %.0f %.0f Angle:%.3f %.3f %.3f
“a[0]a[1]a[2]w[0]w[1]w[2]h[0]h[1]h[2]Angle[0]Angle[1]Angle[2]);
UART1_Put_String
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 836 2014-11-26 23:17 STM32Core IIC读取两个模块DOCNote.h
文件 181137 2016-08-13 11:46 STM32Core IIC读取两个模块MDKJli
文件 671 2015-12-22 12:51 STM32Core IIC读取两个模块MDKJli
文件 185336 2016-08-13 11:45 STM32Core IIC读取两个模块MDKListProject.map
文件 55946 2016-08-13 11:35 STM32Core IIC读取两个模块MDKListstartup_stm32f10x_hd.lst
文件 236329 2016-08-13 11:35 STM32Core IIC读取两个模块MDKObjdelay.crf
文件 659 2016-08-13 11:35 STM32Core IIC读取两个模块MDKObjdelay.d
文件 261896 2016-08-13 11:35 STM32Core IIC读取两个模块MDKObjdelay.o
文件 286980 2016-08-13 11:35 STM32Core IIC读取两个模块MDKObjhw_config.crf
文件 1812 2016-08-13 11:35 STM32Core IIC读取两个模块MDKObjhw_config.d
文件 335876 2016-08-13 11:35 STM32Core IIC读取两个模块MDKObjhw_config.o
文件 254088 2016-08-13 11:35 STM32Core IIC读取两个模块MDKObjioi2c.crf
文件 768 2016-08-13 11:35 STM32Core IIC读取两个模块MDKObjioi2c.d
文件 288348 2016-08-13 11:35 STM32Core IIC读取两个模块MDKObjioi2c.o
文件 274770 2016-08-13 11:45 STM32Core IIC读取两个模块MDKObjmain.crf
文件 1393 2016-08-13 11:45 STM32Core IIC读取两个模块MDKObjmain.d
文件 304460 2016-08-13 11:45 STM32Core IIC读取两个模块MDKObjmain.o
文件 235781 2016-08-13 11:35 STM32Core IIC读取两个模块MDKObjmisc.crf
文件 619 2016-08-13 11:35 STM32Core IIC读取两个模块MDKObjmisc.d
文件 259456 2016-08-13 11:35 STM32Core IIC读取两个模块MDKObjmisc.o
文件 443084 2016-08-13 11:45 STM32Core IIC读取两个模块MDKObjProject.axf
文件 1961 2016-08-13 11:45 STM32Core IIC读取两个模块MDKObjProject.build_log.htm
文件 47563 2016-08-13 11:45 STM32Core IIC读取两个模块MDKObjProject.hex
文件 87294 2016-08-13 11:45 STM32Core IIC读取两个模块MDKObjProject.htm
文件 1148 2016-08-13 11:45 STM32Core IIC读取两个模块MDKObjProject.lnp
文件 479 2016-01-31 14:25 STM32Core IIC读取两个模块MDKObjProject.sct
文件 64258 2016-08-13 11:45 STM32Core IIC读取两个模块MDKObjProject_Project.dep
文件 16102 2016-08-13 11:35 STM32Core IIC读取两个模块MDKObjqueue.crf
文件 245 2016-08-13 11:35 STM32Core IIC读取两个模块MDKObjqueue.d
文件 35364 2016-08-13 11:35 STM32Core IIC读取两个模块MDKObjqueue.o
............此处省略234个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)