日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]最近在項目中要用到飛思卡爾的MMA7660這一款傳感器,我在STM32中使用的是模擬I2C來讀寫它的寄存器,閑話不多說,代碼如下:1、IO引腳配置和模擬I2C的方法/********************(C)COPYRIGHT2015ASTO****************

最近在項目中要用到飛思卡爾的MMA7660這一款傳感器,我在STM32中使用的是模擬I2C來讀寫它的寄存器,閑話不多說,代碼如下:

1、IO引腳配置和模擬I2C的方法


/********************(C)COPYRIGHT2015ASTO**************************

@*文件名:mma7660.c

@*描述:飛思卡爾的MMA7660系列重力加速度傳感器

@*開發(fā)平臺:STM32F103CBT6系列處理器

@*通信方式:I2C

@*硬件連接:------------------------------

*|PB1:中斷引腳|

*|PB10:SCL數(shù)據(jù)線|

*|PB11:SDA數(shù)據(jù)線|

*------------------------------

@*庫版本:ST3.5.0

@*開發(fā)者:POWER

************************************************************************/

#include"stm32f10x.h"

#include"mma7660.h"

#include"delay.h"

/*

*=========================================================

*函數(shù)功能:MMA7660中斷向量表配置

*參數(shù):無

*

*函數(shù)返回值:無

*=========================================================

*/

staticvoidMMA7660_NVIC_Config(void)

{

NVIC_InitTypeDefNVIC_InitStructure;

/*EnabletheEXTI1Interrupt*/

NVIC_InitStructure.NVIC_IRQChannel=MMA7660_INT_IRQ;//中斷通道

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1;//搶占優(yōu)先級

NVIC_InitStructure.NVIC_IRQChannelSubPriority=2;//次優(yōu)先級

NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;//通道中斷使能

NVIC_Init(&NVIC_InitStructure);//初始化中斷

}

/*

*=========================================================

*函數(shù)功能:MMA7660中斷線配置

*參數(shù):無

*

*函數(shù)返回值:無

*=========================================================

*/

staticvoidMMA7660_ExtiInit(void)

{

EXTI_InitTypeDefEXTI_InitStructure;

MMA7660_NVIC_Config();

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);

//配置MMA7660模塊發(fā)生相應(yīng)的事件后中斷配置

GPIO_EXTILineConfig(MMA7660_INT_PORT_SRC,MMA7660_INT_SOURCE);

EXTI_InitStructure.EXTI_Line=MMA7660_INT_LINE;//中斷線

EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;//使用中斷方式觸發(fā)模式(另外還有事件方式觸發(fā)模式)

EXTI_InitStructure.EXTI_Trigger=MMA7660_INT_MODE;//中斷信號觸發(fā)邊沿

EXTI_InitStructure.EXTI_LineCmd=ENABLE;//中斷線使能

EXTI_Init(&EXTI_InitStructure);//初始化中斷

}

/*

**********************************************************

*

*IIC總線模擬程序

*

**********************************************************

*/

/*

*=========================================================

*函數(shù)功能:MMA7660端口狀態(tài)配置

*參數(shù):無

*

*函數(shù)返回值:無

*=========================================================

*/

voidMMA7660_Init(void)

{

GPIO_InitTypeDefGPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);

//中斷引腳配置

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;//浮空輸入

GPIO_Init(GPIOB,&GPIO_InitStructure);//選擇B端口

//SCL數(shù)據(jù)線配置

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//普通推挽輸出

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//最高輸出速率50MHz

GPIO_Init(GPIOB,&GPIO_InitStructure);//選擇B端口

//SDA數(shù)據(jù)線配置

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_11;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_OD;//開漏輸出

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//最高輸出速率50MHz

GPIO_Init(GPIOB,&GPIO_InitStructure);//選擇B端口

MMA7660_ExtiInit();//中斷配置

MMA7660_Begin();//MMA7660寄存器配置

}

/*

*=========================================================

*函數(shù)功能:MMA7660的SDA數(shù)據(jù)線配置,這里作為輸出用

*參數(shù):無

*

*函數(shù)返回值:無

*=========================================================

*/

voidMMA_SDA_IOOUT(void)

{

GPIO_InitTypeDefGPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_11;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_OD;//開漏輸出

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//最高輸出速率50MHz

GPIO_Init(GPIOB,&GPIO_InitStructure);//選擇B端口

}

/*

*=========================================================

*函數(shù)功能:MMA7660的SDA數(shù)據(jù)線配置,這里作為輸入用

*參數(shù):無

*

*函數(shù)返回值:無

*==================

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉