From 2ebb8217f43b69f491620423ea4d5d5944d1f91d Mon Sep 17 00:00:00 2001 From: yincheng.zhong <634916154@qq.com> Date: 星期六, 05 七月 2025 22:43:58 +0800 Subject: [PATCH] 格式化部分代码 --- keil/include/drivers/lis3dh_driver.c | 282 +++++++++++++++++++++++++++++++++---------------------- 1 files changed, 168 insertions(+), 114 deletions(-) diff --git a/keil/include/drivers/lis3dh_driver.c b/keil/include/drivers/lis3dh_driver.c index e01b3b8..089330b 100644 --- a/keil/include/drivers/lis3dh_driver.c +++ b/keil/include/drivers/lis3dh_driver.c @@ -168,14 +168,68 @@ static void delay_us(uint32_t nTimer) { uint32_t i=0; - for(i=0;i<nTimer;i++){ + for(i=0; i<nTimer; i++) { __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(); } @@ -200,7 +254,7 @@ io_pin_mux_set(SCL_PIN, IO_FUNC0); gpio_pin_set_dir(SDA_PIN , GPIO_DIR_OUT, 1); - //io_open_drain_set(SDA_PIN, 1); + //io_open_drain_set(SDA_PIN, 1); io_pull_set(SDA_PIN , IO_PULL_UP, IO_PULL_UP_LEVEL2);//输出高阻态 gpio_pin_set_dir(SCL_PIN , GPIO_DIR_OUT, 1); @@ -225,26 +279,26 @@ // { // g_com_map[IMU_ENABLE]=0; // } - lisid = mir3da_ReadOneByte(REG_CHIP_ID); - - if(lisid == 0x13) - { - mir3da_init(); - } - else - { - LIS3DH_GetWHO_AM_I(&lisidtemp); - lisid=(uint16_t)lisidtemp; - - if(lisid == 0x33) - { - LIS3DH_Data_Init(); - } - else - { - g_com_map[IMU_ENABLE]=0; - } - } + lisid = mir3da_ReadOneByte(REG_CHIP_ID); + + if(lisid == 0x13) + { + mir3da_init(); + } + else + { + LIS3DH_GetWHO_AM_I(&lisidtemp); + lisid=(uint16_t)lisidtemp; + + if(lisid == 0x33) + { + LIS3DH_Data_Init(); + } + else + { + g_com_map[IMU_ENABLE]=0; + } + } } void mir3da_init() @@ -507,36 +561,36 @@ void IIC2_SDA_OUT() { -gpio_pin_set_dir(SDA_PIN , GPIO_DIR_OUT, 1); + gpio_pin_set_dir(SDA_PIN , GPIO_DIR_OUT, 1); } void IIC2_SDA_IN() { -gpio_pin_set_dir(SDA_PIN,GPIO_DIR_IN,1); //SDA设置为输入等待接收端的应答信号 + gpio_pin_set_dir(SDA_PIN,GPIO_DIR_IN,1); //SDA设置为输入等待接收端的应答信号 } //产生IIC起始信号 void IIC2_Start(void) { - IIC2_SDA_OUT(); //sda线输出 - SDA_1; -// delay_us(10); - SCL_1; + IIC2_SDA_OUT(); //sda线输出 + SDA_1; // delay_us(10); - SDA_0;//START:when CLK is high,DATA change form high to low - delay_us(10); - SCL_0;//钳住I2C总线,准备发送或接收数据 -} + SCL_1; +// delay_us(10); + SDA_0;//START:when CLK is high,DATA change form high to low + delay_us(10); + SCL_0;//钳住I2C总线,准备发送或接收数据 +} //产生IIC停止信号 void IIC2_Stop(void) { - IIC2_SDA_OUT();//sda线输出 - SCL_0; + IIC2_SDA_OUT();//sda线输出 + SCL_0; // delay_us(10); - SDA_0;//STOP:when CLK is high DATA change form low to high - delay_us(10); - SCL_1; + SDA_0;//STOP:when CLK is high DATA change form low to high + delay_us(10); + SCL_1; // delay_us(10); - SDA_1;//发送I2C总线结束信号 - delay_us(10); + SDA_1;//发送I2C总线结束信号 + delay_us(10); } @@ -545,95 +599,95 @@ // 0,接收应答成功 uint8_t IIC2_Wait_Ack(void) { - uint8_t ucErrTime=0; -IIC2_SDA_IN(); - SDA_1; - delay_us(15); - SCL_1; - delay_us(15); + uint8_t ucErrTime=0; + IIC2_SDA_IN(); + SDA_1; + delay_us(15); + SCL_1; + delay_us(15); - while(IIC2_READ_SDA) - { - ucErrTime++; - if(ucErrTime>250) - { - IIC2_Stop(); - return 1; - } - } - SCL_0;//时钟输出0 - return 0; -} + while(IIC2_READ_SDA) + { + ucErrTime++; + if(ucErrTime>250) + { + IIC2_Stop(); + return 1; + } + } + SCL_0;//时钟输出0 + return 0; +} //产生ACK应答 void IIC2_Ack(void) { - SCL_0; - IIC2_SDA_OUT(); - SDA_0; - delay_us(10); - SCL_1; - delay_us(10); - SCL_0; + SCL_0; + IIC2_SDA_OUT(); + SDA_0; + delay_us(10); + SCL_1; + delay_us(10); + SCL_0; } -//不产生ACK应答 +//不产生ACK应答 void IIC2_NAck(void) { - SCL_0; - IIC2_SDA_OUT(); - SDA_1; - delay_us(10); - SCL_1; - delay_us(10); - SCL_0; + SCL_0; + IIC2_SDA_OUT(); + SDA_1; + delay_us(10); + SCL_1; + delay_us(10); + SCL_0; } //IIC发送一个字节,WRITE //返回从机有无应答 //1,有应答 -//0,无应答 +//0,无应答 void IIC2_Send_Byte(uint8_t txd) -{ - uint8_t t; - IIC2_SDA_OUT(); - SCL_0;//拉低时钟开始数据传输 - for(t=0;t<8;t++) - { - if((txd&0x80)>>7) - { - SDA_1; - } - else - { - SDA_0; - } - txd <<= 1; - delay_us(10); - SCL_1; - delay_us(10); - SCL_0; - delay_us(10); - } -} +{ + uint8_t t; + IIC2_SDA_OUT(); + SCL_0;//拉低时钟开始数据传输 + for(t=0; t<8; t++) + { + if((txd&0x80)>>7) + { + SDA_1; + } + else + { + SDA_0; + } + txd <<= 1; + delay_us(10); + SCL_1; + delay_us(10); + SCL_0; + delay_us(10); + } +} -//读1个字节,ack=1时,发送ACK,ack=0,发送nACK +//读1个字节,ack=1时,发送ACK,ack=0,发送nACK uint8_t IIC2_Read_Byte(unsigned char ack) { - unsigned char i,receive=0; - IIC2_SDA_IN();//SDA设置为输入 - for(i=0;i<8;i++ ) - { - SCL_0; - delay_us(10); - SCL_1; - receive<<=1; - if(IIC2_READ_SDA)receive++; - delay_us(5); - } + unsigned char i,receive=0; + IIC2_SDA_IN();//SDA设置为输入 + for(i=0; i<8; i++ ) + { + SCL_0; + delay_us(10); + SCL_1; + receive<<=1; + if(IIC2_READ_SDA)receive++; + delay_us(5); + } if (!ack) IIC2_NAck();//发送nACK else - IIC2_Ack(); //发送ACK + IIC2_Ack(); //发送ACK return receive; } -- Gitblit v1.9.3