[AVR单片机] 求助——IAR里如何实现逐位数据输出

[复制链接]
 楼主| lswzlj 发表于 2009-11-8 16:35 | 显示全部楼层 |阅读模式
我是在IAR编译器里想实现I2C数据传送。用C如何实现一个字节在一个普通I/O口逐位输出,输入。请高手指点。谢谢!!
laslison 发表于 2009-11-8 22:58 | 显示全部楼层
:),不知道,帮顶
wangwo 发表于 2009-11-9 12:49 | 显示全部楼层
I2C数据是啥?
tcc8073 发表于 2009-11-10 10:13 | 显示全部楼层
就是个IO口模拟I2C读写,AVR自己都带了这个I2C口,一个I2C口理论上可以接256片I2C口的芯片,还不够你用啊,还要去模拟,累不累啊
smartpower 发表于 2009-11-10 21:17 | 显示全部楼层
#define     DO_setHigh()    ( PORTD |=   ( 1<<0 ) )
#define     DO_setLow()     ( PORTD &= (~( 1<<0 ) ) )

void ShiftOut( uint8 temp )
{
    uint8 i;
   
    for( i=0; i<8; i++ )
    {
        if( temp & 0x80 )
        {
            DO_setHigh();
        }
        else
        {
            DO_setLow();
        }
   
        temp <<= 1;
   
    }
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部