资源简介
IIC 通讯代码,通过结构传递端口信息,一个函数体,多组IO口
代码片段和文件信息
#include “bsp_iic.h“
// 在F4 168MHz 168*__nop()==1us
void I2C_Delay()
{
__nop();__nop();__nop();__nop(); __nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop(); __nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop(); __nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop(); __nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop(); __nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop(); __nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop(); __nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop(); __nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop(); __nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop(); __nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop(); __nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop(); __nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop(); __nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop(); __nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop(); __nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop(); __nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop(); __nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop(); __nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop(); __nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop(); __nop();__nop();__nop();__nop();__nop();__nop();__nop();
}
I2C *I2C_1 *I2C_2 *I2C_3;
void I2C_GPIO_Config() //端口初始化
{
I2C_1 = (I2C *)malloc(sizeof(I2C)); //MPU6050 HMC5883l
I2C_1->SCL_GPIOx = GPIOB;
I2C_1->SDA_GPIOx = GPIOB;
I2C_1->SCL_Pin = GPIO_Pin_8;
I2C_1->SDA_Pin = GPIO_Pin_9;
I2C_2 = (I2C *)malloc(sizeof(I2C)); //EEROM 气压计
I2C_2->SCL_GPIOx = GPIOB;
I2C_2->SDA_GPIOx = GPIOB;
I2C_2->SCL_Pin = GPIO_Pin_10;
I2C_2->SDA_Pin = GPIO_Pin_11;
I2C_3 = (I2C *)malloc(sizeof(I2C));
I2C_3->SCL_GPIOx = GPIOA;
I2C_3->SDA_GPIOx = GPIOC;
I2C_3->SCL_Pin = GPIO_Pin_8;
I2C_3->SDA_Pin = GPIO_Pin_9;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOBENABLE);
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11;
GPIO_InitStruct.GPIO_OType = GPIO_OType_OD;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_InitStruct.GPIO_Speed = GPIO_High_Speed;
GPIO_Init(GPIOB&GPIO_InitStruct);
I2C_Stop(I2C_1);
I2C_Stop(I2C_2);
I2C_Stop(I2C_3);
}
bool I2C_Start(I2C * i2c) //启动时序程序
{
SDA_H;
SCL_H; //SCL 保持不变
I2C_Delay();
SDA_L; //SDA 被拉低
I2C_Delay();
SCL_L; //SCL 被拉低 钳住I2C总线,准备开始通讯
return true;
}
bool I2C_Stop(I2C * i2c)//停止时序
{
SCL_L;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6724 2018-11-05 15:00 IIC多端口\bsp_iic.c
文件 1446 2018-11-05 14:56 IIC多端口\bsp_iic.h
目录 0 2018-11-05 18:25 IIC多端口
----------- --------- ---------- ----- ----
8170 3
- 上一篇:程序员必学的1500个单词
- 下一篇:csdn积分获取
相关资源
- mcrion_NFTL.zip
- VeeamBackup&Replication_10.0.0.4461 地址
- swift-一款简单优雅的iOS日历控件
- ios-Socket通信.zip
- ios-启动图加载gif动画.zip
- iOS开发视频教程
- ios-打赏的抖动和放大的组合动画.zi
- INTRODUCTION TO LINEAR ALGEBRA 清晰版 第五版
- 数学推理:写作和证明,版本2.1Math
- 类型理论与函数式编程Type Theory and
- 电子-基于战舰版RC522IIC.rar
- 电子-STM32硬件I2CMaster接口函数V1.01.z
- 多核DSP间基于SRIO数据传输的设计与实
- 从https://studiostyl.es的son-of-obsidian.vss
- AWS Solution Architect Certificate
- sct15单片机读取mpl3115a2高度温度
- 用户注册登录界面设计+代码
- Proteus模拟基于51单片机的断电保护实
- .net实现鼠标拖拽,类似CAD、visio的功
- Odoo Select Field disable
- Introduction to Digital Filters
- BIOS备份工具
- Real-Time Rendering 4th Edition完整版 全彩
- intel parallel studio XE 2016 with update 1 fo
- quaternion.pdf
- FPGA通过IIC协议驱动24LC32EEPROM
- Model predictive control of a mobile robot usi
- M7150升级bios
- 基于IIC通信的EEPROM读/写Verilog/VHDL程序
- ios上传照片、拍照上传demo
评论
共有 条评论