91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-11
  • 語言: 其他
  • 標簽: STM32??I2C??IIC??

資源簡介

文件中包括基于STM32實現的模擬I2C操作,經測試能正確讀寫I2C設備。

資源截圖

代碼片段和文件信息

//---------------------------------------------------------------//
//- 文件名稱: I2C.c
//---------------------------------------------------------------//
//- 作 者 : ggyy
//---------------------------------------------------------------//
//- 版??本 : V1.0
//---------------------------------------------------------------//
//- 日??期? : 20150313
//---------------------------------------------------------------//
//- 描??述 : 文件實現模擬I2C相關時序操作,單片機為STM32,使用
//- 的是V3.5.0的庫
//---------------------------------------------------------------//
#include?“I2C.h“
#include?“delay.h“





//---------------------------------------------------------------//
//- 函數名稱: I2C_Config
//---------------------------------------------------------------//
//- 函數功能: I2C初始化,包括引腳時鐘和引腳配置
//---------------------------------------------------------------//
//- 函數參數:
//---------------------------------------------------------------//
//- 返回值? : 無
void?I2C_Config(void)
{
GPIO_InitTypeDef?GPIO_InitStructure;

//時鐘使能
? RCC_APB2PeriphClockCmd(RCC_I2C_SCL?ENABLE);
? RCC_APB2PeriphClockCmd(RCC_I2C_SDA?ENABLE);

//SCL,配置成推挽輸出
GPIO_InitStructure.GPIO_Pin? =?GPIO_Pin_I2C_SCL;
GPIO_InitStructure.GPIO_Mode? =?GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed? =?GPIO_Speed_50MHz;
GPIO_SetBits(GPIO_I2C_SCL?GPIO_Pin_I2C_SCL);
GPIO_Init(GPIO_I2C_SCL?&GPIO_InitStructure);

//SDA,配置成開漏輸出
GPIO_InitStructure.GPIO_Pin? =?GPIO_Pin_I2C_SDA;
GPIO_InitStructure.GPIO_Mode =?GPIO_Mode_Out_OD;
GPIO_InitStructure.GPIO_Speed? =?GPIO_Speed_50MHz;
GPIO_SetBits(GPIO_I2C_SDA?GPIO_Pin_I2C_SDA);
GPIO_Init(GPIO_I2C_SDA?&GPIO_InitStructure);

}





//---------------------------------------------------------------//
//- 函數名稱: I2C_Start
//---------------------------------------------------------------//
//- 函數功能: I2C開始信號
//---------------------------------------------------------------//
//- 函數參數: 無
//---------------------------------------------------------------//
//- 返回值? : 無
void?I2C_Start(void)
{
//當SCL為高電平的時候,SDA從高電平跳變到低電平表示開始信號。

I2C_SDA_SET; //拉高SDA,準備在SCL為高電平的狀態下拉低形成開始信號
delay_us(4);
I2C_SCL_SET; //拉高SCL,準備讓SDA拉低形成開始信號
delay_us(4);
? I2C_SDA_RESET; //拉低SDA,產生開始信號
delay_us(4);
I2C_SCL_RESET;
delay_us(4);
}





//---------------------------------------------------------------//
//- 函數名稱: I2C_Stop
//---------------------------------------------------------------//
//- 函數功能: I2C結束信號
//---------------------------------------------------------------//
//- 函數參數: 無
//---------------------------------------------------------------//
//- 返回值? : 無??
void?I2C_Stop(void)
{
//當SCL為高電平的時候,SDA從低電平跳變到高電平表示結束信號。

I2C_SCL_RESET; //拉低SCL,防止在SCL為高電平的狀態下改變SDA
? delay_us(4);
I2C_SDA_RESET; //拉低SDA,準備在SCL為高電平的狀態下拉高形成結束信號
? delay_us(4);
I2C_SCL_SET;? //拉高SCL,準備讓SDA拉高形成結束信號
delay_us(4);
I2C_SDA_SET; //拉SDA,產生開始信號
delay_us(4); ???
}





//-------------------------------------

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????11696??2015-03-13?21:55??STM32_I2C\I2C.c

?????文件???????4512??2015-03-13?21:54??STM32_I2C\I2C.h

?????文件????????187??2015-03-13?22:03??STM32_I2C\readme.txt

?????目錄??????????0??2015-03-13?22:03??STM32_I2C

-----------?---------??----------?-----??----

????????????????16395????????????????????4


評論

共有 條評論