资源简介
STM32F4 硬件I2C 使用DMA
測試過OK

代码片段和文件信息
/*=====================================================================================================*/
/*=====================================================================================================*/
#include “stm32f4_system.h“
#include “stm32f4_i2c.h“
/*=====================================================================================================*/
/*=====================================================================================================*/
#define I2C1_DR_Address ((u32)0x40005410)
/*=====================================================================================================*/
/*=====================================================================================================*/
vu8* I2C_ReadPtr;
vu8* I2C_WritePtr;
vu32 I2C_TimeCnt = I2C_TIME;
/*=====================================================================================================*/
/*=====================================================================================================*/
DMA_InitTypeDef DMA_InitStruct;
/*=====================================================================================================*/
/*=====================================================================================================*/
void I2C_Config( void )
{
GPIO_InitTypeDef GPIO_InitStruct;
NVIC_InitTypeDef NVIC_InitStruct;
I2C_InitTypeDef I2C_InitStruct;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_DMA1 ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1 ENABLE);
RCC_APB1PeriphResetCmd(RCC_APB1Periph_I2C1 DISABLE);
GPIO_PinAFConfig(GPIOB GPIO_PinSource6 GPIO_AF_I2C1);
GPIO_PinAFConfig(GPIOB GPIO_PinSource7 GPIO_AF_I2C1);
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStruct.GPIO_OType = GPIO_OType_OD;
GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOB &GPIO_InitStruct);
NVIC_InitStruct.NVIC_IRQChannel = DMA1_Stream0_IRQn;
NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStruct.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStruct);
NVIC_InitStruct.NVIC_IRQChannel = DMA1_Stream6_IRQn;
NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStruct.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStruct);
DMA_ClearFlag(DMA1_Stream6 DMA_FLAG_FEIF6 | DMA_FLAG_DMEIF6 | DMA_FLAG_TEIF6 |
DMA_FLAG_HTIF6 | DMA_FLAG_TCIF6);
DMA_Cmd(DMA1_Stream6 DISABLE);
DMA_DeInit(DMA1_Stream6);
DMA_InitStruct.DMA_Channel = DMA_Channel_1;
DMA_InitStruct.DMA_PeripheralbaseAddr = (u32)I2C1_DR_Address;
DMA_InitStruct.DMA_Memory0baseAddr = (u32)0;
DMA_InitStruct.DMA_DIR = DMA_DIR_MemoryToPeripheral;
DMA_InitStruct.DMA_BufferSize = 0xFFFF;
DMA_InitStruct.DMA_PeripheralInc = DMA_PeripheralInc_Disable;
DMA_
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 12807 2012-08-27 21:58 STM32F4 I2C\stm32f4_i2c.c
文件 1222 2012-08-27 20:13 STM32F4 I2C\stm32f4_i2c.h
目录 0 2013-05-27 02:59 STM32F4 I2C
----------- --------- ---------- ----- ----
14029 3
- 上一篇:威尔金森wilkinson功率分配器
- 下一篇:IOS修改导航栏高度demo
相关资源
- stm32f407上的两个can发送和接收例程
- STM32 led 时钟
- STM32 2.4G通信例程
- 直流无刷电机方波驱动 stm32 例程代码
- STM32中文资料
- STM32蓝牙和串口程序
- 基于xilinx FPGA的PCIe设计实战
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- stm32f030 IAP Demo(原创)
- STM32基于rt_thread操作系统的SDHC卡文件
- 用DIO 做的I2C程式
- NRF24L01实现51与STM32双向通讯
- STM32F103 串口程序(完整版)
- 一个简单的verilog编写的DMA IP CORE,和
- stm32 ds18b20 温度传感器 测试通过
- stm32官方例程
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- STM32定时器使用入门。看了这个程序会
- SIM908 SDIO FSMC STM32 FIFO
- STM32F103 CC2500完整驱动(模拟SPI)
- I2C总线接口设计
- AD7606采集程序
- 8051F040SMBUS多机通信
- stm32 用SPI 方式读写 SDHC
- stm32通过DMA方式采集ADC数据
- 意法半导体STM全系列微控制器STM32ST
评论
共有 条评论