STM32F10X -- 模拟IIC程序】的更多相关文章

听说STM32的IIC硬件做的很鸡肋,所以在这里通过模拟的方式实现IIC协议.此程序能成功对AT24C02操作. 程序中的带参数宏 IIC_DELAY(time)的功能是延时time us,在实际中具体场合具体分析. 宏定义文件--IIC.h #ifndef _IIC_ #define _IIC_ #include "SysTick.h" #include "stm32f10x.h" #include "SystemConfig.h" /* 配置…
这段时间在做全国光电设计大赛,用到了px4的px4flow光流传感器,用软件模拟iic读取数据不定期会导致px4flow死机,查了资料和光流的源码,发现这个光流用了stm32的硬件iic,所以对软件模拟iic的时序要求可能更高一点所以在原子哥的iic程序上做了修改,代码测验后已经不会死机,做个笔记,保存一下. #include "myiic.h" #include "delay.h" //初始化IIC void IIC_Init(void) { 19 GPIO_In…
 版权声明:本文为博主原创文章,允许转载,但希望标注转载来源. https://blog.csdn.net/qq_38410730/article/details/80312357 IIC的基本介绍 IIC的简介 IIC(Inter-Integrated Circuit)总线是一种由PHILIPS公司在80年代开发的两线式串行总线,用于连接微控制器及其外围设备.它是半双工通信方式. IIC总线最主要的优点是其简单性和有效性.由于接口直接在组件之上,因此IIC总线占用的空间非常小,减少了电路板的空…
最终效果展示 OLED屏幕和GY30光照传感器(BH1750FVI)都连接在一个IIC(I2C)总线上,所以只需要接4根线即可.获取到的光照强度可以在OLED上实时显示并通过串口打印.IIC是IO模拟IIC,方便后续代码的移植到各个单片机平台. 硬件汇总 单片机:STM32F103C8T6 OLED:0.96寸.128*64.驱动芯片是SSD1306(市场上常用) 光照强度传感器:GY-30,BH1750FVI主控即可 接线方法 IIC总线:SCL--PA1  . SDA--PA0 串口:TX-…
a - 什么是IIC总线 -什么是EEPROM -IIC总线的通信格式 模块化设计注解 整体代码 - 什么是IIC总线 IIC总线是同步通信的一种特殊形式,具有接线口少.控制简单.器件封装形式小.通信速率高等特点.在主从通信中,可以有多个IIC总线器件同时连接到IIC总线上,所有与IIC兼容的器件都具有标准的接口,通过地址来识别通信对象,使他们可以经由IIC总线互相直接通信. IIC总线由SDA数据线和SCL时钟线俩条线构成通信线路,既可发送数据也可以接收数据.在CPU和IC之间.IC与IC间都…
信号质量有问题的波形001: 信号质量有问题的波形002: 从上图可以看出,GPIO口模拟的I2C接口,电平都存在半高的情况. 因为I2C的接口是通过GPIO模拟实现的,该时钟信号线SCL内部默认为下拉状态,因而SCL对应的GPIO内部有下拉电阻,导致在输出为高电平时,上升沿慢的台阶出现.后把SCL脚的内部下拉disable之后,测试的波形如下图所示,从下图可以看出SCL时钟信号已经正常. 但是SDA存在小的脉冲尖峰和ACK的半高情况.具体见图中的红色圈所示. SDA小的脉冲尖峰出现在read_…
Chipscope 仿真VmodCAM IIC程序: 目的:熟悉EDK中建立chipscope 注意:zedboard使用digilent USB下载时,chipscope不能和SDK同时使用,否则芯片会死机.要用仿真器烧写程序. 1:搭建硬件平台   硬件平台如下所示:具体的EDK设计流程参见XILINX大学workshop                                       http://china.xilinx.com/support/university/prof…
#ifndef __MYIIC_H_ #define __MYIIC_H_ #include "common.h" #include "delay.h" #include "debugserial.h" //sda 027 scl 028 //IO方向设置 #define IIC1_SDA_IN()  P0dir(27) = 0 #define IIC1_SDA_OUT() P0dir(27) = 1 //IO操作函数 #define IIC1_…
STC15F104W开发入门及模拟串口程序 Saturday, 31. March 2018 09:42AM - beautifulzzzz 前言 最近找到一款51内核的SOP8封装的8脚单片机STC15F10x与大家分享! 1.基本介绍 下面是其一个典型应用--红外收发器实现: 是不是觉得麻雀虽小,五脏俱全呀,再看一下其架构图: 下面是其部分型号的外设列表和采购价格图(需要特别注意的是下面几款都是不带串口.CCP.PCA.PWM.AD的!因此,如果你想要用串口,就需要采用模拟的方法实现了.不过…
#ifndef _IIC_H #define _IIC_H #include "stdio.h" #include "stm32f1xx_hal.h" /* 定义控制 SDA SCL 的宏 标准库版 #define I2C_SDA_UP GPIO_SetBits (GPIOC,GPIO_PIN_8) //SDA高电平 #define I2C_SDA_LOW GPIO_ResetBits(GPIOC,GPIO_PIN_8) //SDA低电平 #define I2C_S…