OpenEdv-开源电子网

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

调试hmc5883l,为什么i2c发送字节是这么写的?

[复制链接]

12

主题

53

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
246
金钱
246
注册时间
2015-1-28
在线时间
50 小时
发表于 2015-3-15 11:15:03 | 显示全部楼层 |阅读模式
5金钱
源程序是51的,这个是i2c发送字节的函数,我看了半天没看懂。
有两个问题:
1、dat <<= 1;SDA = CY;这句中CY没有定义,函数传递过来的变量dat除了左移1位以外好像也没有起到作用。我发现网上使用的都是这段代码,但我感觉这段代码好像缺了些什么。
2、为什么循环变量i要定义成BYTE类型的?

/**************************************
向IIC总线发送一个字节数据
**************************************/
void HMC5883_SendByte(BYTE dat)
{
    BYTE i;

    for (i=0; i<8; i++)         //8位计数器
    {
        dat <<= 1;              //移出数据的最高位
        SDA = CY;               //送数据口
        SCL = 1;                //拉高时钟线
        Delay5us();             //延时
        SCL = 0;                //拉低时钟线
        Delay5us();             //延时
    }
    HMC5883_RecvACK();
}

最佳答案

查看完整内容[请看2#楼]

1、CY 是 dat 的最高位。一定有宏定义之类。 整个工程中搜 CY 2、整型变量,都没问题吧。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11550
金钱
11550
注册时间
2014-4-1
在线时间
1316 小时
发表于 2015-3-15 11:15:04 | 显示全部楼层
1、CY 是 dat 的最高位。一定有宏定义之类。 整个工程中搜 CY

2、整型变量,都没问题吧。
回复

使用道具 举报

12

主题

53

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
246
金钱
246
注册时间
2015-1-28
在线时间
50 小时
 楼主| 发表于 2015-3-15 11:40:00 | 显示全部楼层
回复【2楼】xuande:
---------------------------------
谢谢~
回复

使用道具 举报

5

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2015-4-6
在线时间
4 小时
发表于 2015-5-6 21:33:36 | 显示全部楼层
回复【3楼】opennedver:
---------------------------------
请问有没有用STM32的I2C读取HMC5883L数据的程序,能不能分享下,卡了两天了,就是没应答信号,快急死了!谢谢!!!
回复

使用道具 举报

14

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
146
金钱
146
注册时间
2015-2-16
在线时间
6 小时
发表于 2015-8-7 21:12:02 | 显示全部楼层
回复【4楼】蜕变:
---------------------------------
你把hmc5883搞定了吗????求救急!!啊!!谢了!
回复

使用道具 举报

12

主题

53

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
246
金钱
246
注册时间
2015-1-28
在线时间
50 小时
 楼主| 发表于 2015-8-26 11:06:21 | 显示全部楼层
回复【5楼】流浪者转世:
---------------------------------
搞定了
回复

使用道具 举报

14

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
146
金钱
146
注册时间
2015-2-16
在线时间
6 小时
发表于 2015-8-26 21:35:43 | 显示全部楼层
回复【6楼】opennedver:
--------------------------------
楼主求求求分享啊!我还是不行!分享一份吧!
回复

使用道具 举报

12

主题

53

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
246
金钱
246
注册时间
2015-1-28
在线时间
50 小时
 楼主| 发表于 2015-8-30 22:32:39 | 显示全部楼层
回复【7楼】流浪者转世:
---------------------------------
我的代码是客户定制的,不过论坛里有一份能用的代码,具体地址我已经发给你了
回复

使用道具 举报

12

主题

53

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
246
金钱
246
注册时间
2015-1-28
在线时间
50 小时
 楼主| 发表于 2015-8-30 22:37:58 | 显示全部楼层
回复【7楼】流浪者转世:
---------------------------------
有具体的问题你可以发出来,我帮你看一下
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-15 22:18

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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