双机通信c语言程序,上传一个自己编写的I2C双机通信程序

本帖最后由 micro_听海 于 2012-11-24 19:58 编辑

这几天一直在搞AVR的twi(twi就是i2c)双机通信程序,使用的是两块arduino开发板。因为最总要这个通信程序最总是要放在winavr的编译环境中,所以没有使用arduino自带的库函数。但是这没关系,因为arduino IDE和winavr编译器的内核都是开源gcc,所以在arduino ide上同样可以使用winavr的语言,赞ARDUINO!

硬件上就是arduino的SCL(A5引脚)和SDA(A4引脚)互联,当然还有GND。

下面上程序

先上发送端

#define  uchar  unsigned char

#define  STATUS  (TWSR&0xf8)

#define  SLA_W    0x32

#define  SLA_R    0x33

#define  SLAVER_ADDRESS     0x32

#define  START              0x08

#define  RE_START           0x10

#define  MT_SLA_WRITE_ACK   0x18

#define  MT_SLA_READ_ACK    0x40

#define  MT_DATA_ACK        0x28

#define  MT_READ_ACK        0x58

void Start(void)//主机向从机发送i2c起始信号

{

TWCR=(1<

while(!(TWCR&(1<

}

void Stop(void)//主机发送i2c停止信号

{

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值