- 12
- 0
- 约 4页
- 2017-03-05 发布于重庆
- 举报
i2c实现代码
/**********MMA7455L加速度的采集**************/
MMA7455L是一款数字输出、低功耗、紧凑型电容式微机械三轴加速度计,具有信号调理、低通滤波器、温度补偿、自测、可配置通过中断引脚检测0g、以及脉冲检测等功能。0g偏置和灵敏度是出厂配置,无需外部器件、客户可使用指定的0g寄存器和g-Select 量程选择对0g偏置进行校准,量程可通达命令选择3个加速度范围(2g/4g/8g)。
实现代码:
/********************初始化***************************/
void init_iic(void)
{
LPC_SYSCON-PRESETCTRL |= (11); //i2c复位取消,不理解为什么
LPC_SYSCON-SYSAHBCLKCTRL |= (15); //使能iic时钟
LPC_SYSCON-SYSAHBCLKCTRL |= (116);//使能iocon时钟
LPC_IOCON-PIO0_4 |= (10);//将P0.4配置成SCL
LPC_IOCON-PIO0_5 |= (10);//将P0.5配置成SDA
LPC_SYSCON-SYSAHBCLKCTRL = ~(016);
LPC_I2C-SCLH = 47; //180 //快速模式在400KHZ左右
LPC_I2C-SCLL = 93; //180 //设置高低电平占空比
LPC_I2C-CONCLR = 0XFF; //清除iic所有标志位
LPC_I2C-CONSET = (16);//使能iic接口
}
void iic_start_Bit(void)
{
LPC_I2C-CONCLR = 0X2c; //除iic使能位外,其他位都清0;设置过程中,尽量使用赋值“=”
LPC_I2C-CONSET = (15); //置位起始条件,发送起始条件
while(!(LPC_I2C-CONSET (13)));//检测中断标志位是否置1,等待起始条件发送
while(LPC_I2C-STAT != 0X08);//检测发送后的状态是否是0x08,
注意:两个while语句以及下面的while语句这样用不是很好,完全可采用中断的方式,在中断程序里判断状态,根据相应的状态,编写相应的服务程序。
这样写只是为了测试程序方便
}
void iic_set_mode(void)
{
iic_start_Bit();
/***主发送模式***/
LPC_I2C-DAT = (0X1D 1);//MMA7455L的device address 0X1D + W位
LPC_I2C-CONCLR = (15)|(13); //清起始bit,清中断标志,注意有多个位要清0时,尽量一次完成,不要分开一位一位的清0或置1,容易出错
while(!(LPC_I2C-CONSET (13)));
while(LPC_I2C-STAT!=0x18);
LPC_I2C-DAT = 0X16; //MMA7455L的Mode control register
LPC_I2C-CONCLR = (13); //清中断标志位
while(!(LPC_I2C-CONSET (13)));
while(LPC_I2C-STAT!=0x28); //等待发送完,状态码为0x28
LPC_I2C-DAT = 0X05;// 发送设置数据,MMA7455L,设置为测量模式,测量范围8g
LPC_I2C-CONCLR = (13);
while(!(LPC_I2C-CONSET (13)));
while(LPC_I2C-STAT!=0x28); //等待发送完,状态码为0x28
LPC_I2C-CONCLR = (13);
LPC_I2C-CONSET = (14);//发送停止条件
}
char iic_readData(char addr) //ddr为x、y、z加速度数据寄存器地址
{
char ch;
iic_start_Bit();
/***主发送模式***/
LPC_I2C-DAT = (0X1D1); //MMA7455L的device address 0X1D + W
LPC_I2C-CONCLR = (15)|(13);
您可能关注的文档
最近下载
- 沈阳铁路局员工合同协议.docx VIP
- 2025年心理咨询师考试题库500道附参考答案【实用】.docx VIP
- 鱼骨图分析法(鱼骨图模板).doc VIP
- 2025年部编版三年级上册语文期末冲刺模拟卷三.docx VIP
- KISSsoft软件教程-Tutorial-016-包络面蜗轮蜗杆的验证.pdf VIP
- 《成人甲状腺功能减退症基层诊疗指南(2025版)》.docx VIP
- 三年级数学特训卷.docx VIP
- 搏击操教案15-16(1)完整版.doc VIP
- 2026年内分泌科糖尿病精细化管理实施方案.docx
- (2026春新版)人教版三年级数学下册《一 生活中的运动现象》PPT课件.pptx
原创力文档

文档评论(0)