STM32F103XX扫描I2C从机地址main.c(改进版)

2023-11-10

#include "stm32f10x.h"                  
#include "Delay.h"
#include "OLED.h"
#include "MyI2C.h"

uint8_t i=0x00,Addr_Count=0;
    
int main(void)
{
    OLED_Init();
    MyI2C_Init();
    OLED_ShowString (1,1,"I2C:0x00->");
    for(i=0x00;i<0x80;i++)
    {    

        MyI2C_Start ();
        MyI2C_SendByte (i<<1);
        OLED_ShowString (1,12,"0x");
        OLED_ShowHexNum (1,14,i,2);
        uint8_t Ack = MyI2C_ReceiveAck ();
    if (Ack == 0)
      {
        Addr_Count ++;
        
        if(Addr_Count<5)
        {
          OLED_ShowString (2,Addr_Count*4-3,"0x");
          OLED_ShowHexNum (2,Addr_Count*4-1,i,2);
        }
        else if (Addr_Count>=5 & Addr_Count<9)
        {
          
          OLED_ShowString (3,Addr_Count*4-3-16,"0x");
          OLED_ShowHexNum (3,Addr_Count*4-1-16,i,2);
        
        }
        else 
        {
          
          OLED_ShowString (4,Addr_Count*4-3-16-16,"0x");
          OLED_ShowHexNum (4,Addr_Count*4-1-16-16,i,2);
        
        }
            
      }
    
        MyI2C_Stop ();
        Delay_ms(20);
    }

    
    while (1)
    {
        
    }
}
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32F103XX扫描I2C从机地址main.c(改进版) 的相关文章

  • 设计模式之工厂模式

    目录 使用场景 简单工厂模式 工厂方法模式 抽象工厂模式 参考 Java设计模式 工厂模式 IT longlong 博客一 简单工厂模式 简单工厂模式就是把对类的创建初始化全都交给一个工厂来执行 而用户不需要去关心创建的过程是什么样的 只用
  • wheel安装+使用wheel安装第三方库+临时换源安装和永久换源安装

    上一篇文章 Python要点及其环境搭建 Pycharm简单使用教程 wheel安装 使用wheel安装第三方库 临时换源安装和永久换源安装 wheel安装 使用wheel安装第三方库 临时换源安装 永久换源安装 python的三种不同编辑
  • Layui的 checkbox 全选/单选 示例

    转自 http www xiaoshu168 com jquery 118 html layui 的checkbox 居然不能用jq上常用的方法控制全选 如下代码不适用 allChecked change function box chil

随机推荐