资源简介

STM32+MPU6050+HMC5883L+BMP180驱动测试及姿态解算程序程序

资源截图

代码片段和文件信息

/* delay.c file
编写者:lisn3188
网址:www.chiplab7.com
作者E-mail:lisn3188@163.com
编译环境:MDK-Lite  Version: 4.23
初版时间: 2012-04-25
测试: 本程序已在第七实验室的mini IMU上完成测试
功能:
提供精确的延时API  有微秒级 和毫秒级延时
------------------------------------
 */
#include “delay.h“
 
static u8  fac_us=0;//us延时倍乘数
static u16 fac_ms=0;//ms延时倍乘数

//初始化延迟函数
//SYSTICK的时钟固定为HCLK时钟的1/8
//SYSCLK:系统时钟
/**************************实现函数********************************************
*函数原型: void delay_init(u8 SYSCLK)
*功  能: 初始化延迟系统,使延时程序进入可用状态
*******************************************************************************/
void delay_init(u8 SYSCLK)
{
SysTick->CTRL&=0xfffffffb;//bit2清空选择外部时钟  HCLK/8
fac_us=SYSCLK/8;     
fac_ms=(u16)fac_us*1000;
}
    
//延时nms
//注意nms的范围
//SysTick->LOAD为24位寄存器所以最大延时为:
//nms<=0xffffff*8*1000/SYSCLK
//SYSCLK单位为Hznms单位为ms
/**************************实现函数********************************************
*函数原型: void delay_ms(u16 nms)
*功  能: 毫秒级延时  延时nms  nms<=1864 
*******************************************************************************/
void delay_ms(u16 nms)
{        
u32 temp;    
SysTick->LOAD=(u32)nms*fac_ms;//时间加载(SysTick->LOAD为24bit)
SysTick->VAL =0x00;           //清空计数器
SysTick->CTRL=0x01 ;          //开始倒数  
do
{
temp=SysTick->CTRL;
}
while(temp&0x01&&!(temp&(1<<16)));//等待时间到达   
SysTick->CTRL=0x00;       //关闭计数器
SysTick->VAL =0X00;       //清空计数器        
}   

//延时nus
//nus为要延时的us数.
/**************************实现函数********************************************
*函数原型: void delay_us(u32 nus)
*功  能: 微秒级延时  延时nus  nms<=1864 
*******************************************************************************/         
void delay_us(u32 nus)
{
u32 temp;       
SysTick->LOAD=nus*fac_us; //时间加载     
SysTick->VAL=0x00;        //清空计数器
SysTick->CTRL=0x01 ;      //开始倒数   
do
{
temp=SysTick->CTRL;
}
while(temp&0x01&&!(temp&(1<<16)));//等待时间到达   
SysTick->CTRL=0x00;       //关闭计数器
SysTick->VAL =0X00;       //清空计数器  
}

//------------------End of File----------------------------

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      11407  2012-04-25 23:29  STM32_AHRS_WorkDir源程序\1.MPU6050Test\HardWareDriver\BMP085\BMP085.c

     文件       3232  2012-04-27 09:29  STM32_AHRS_WorkDir源程序\1.MPU6050Test\HardWareDriver\BMP085\BMP085.h

     文件      12123  2012-08-19 21:01  STM32_AHRS_WorkDir源程序\1.MPU6050Test\HardWareDriver\BMP180\BMP180.c

     文件       2897  2012-08-19 19:25  STM32_AHRS_WorkDir源程序\1.MPU6050Test\HardWareDriver\BMP180\BMP180.h

     文件        323  2012-08-19 15:40  STM32_AHRS_WorkDir源程序\1.MPU6050Test\HardWareDriver\common.h

     文件       2359  2012-04-25 22:03  STM32_AHRS_WorkDir源程序\1.MPU6050Test\HardWareDriver\delay.c

     文件        223  2012-04-25 22:03  STM32_AHRS_WorkDir源程序\1.MPU6050Test\HardWareDriver\delay.h

     文件       7711  2012-05-27 21:46  STM32_AHRS_WorkDir源程序\1.MPU6050Test\HardWareDriver\HMC5883L\HMC5883L.c

     文件       1127  2012-05-27 21:51  STM32_AHRS_WorkDir源程序\1.MPU6050Test\HardWareDriver\HMC5883L\HMC5883L.h

     文件      10381  2012-05-17 22:51  STM32_AHRS_WorkDir源程序\1.MPU6050Test\HardWareDriver\IMU\IMU.c

     文件        439  2012-05-08 09:42  STM32_AHRS_WorkDir源程序\1.MPU6050Test\HardWareDriver\IMU\IMU.h

     文件       9488  2012-04-25 22:19  STM32_AHRS_WorkDir源程序\1.MPU6050Test\HardWareDriver\IOI2C.c

     文件       2666  2012-04-25 22:19  STM32_AHRS_WorkDir源程序\1.MPU6050Test\HardWareDriver\IOI2C.h

     文件       4752  2012-05-17 22:40  STM32_AHRS_WorkDir源程序\1.MPU6050Test\HardWareDriver\LED\LED.c

     文件        416  2012-04-10 22:51  STM32_AHRS_WorkDir源程序\1.MPU6050Test\HardWareDriver\LED\LED.h

     文件      10816  2012-05-27 21:52  STM32_AHRS_WorkDir源程序\1.MPU6050Test\HardWareDriver\MPU6050\MPU6050.c

     文件      14288  2012-05-27 21:52  STM32_AHRS_WorkDir源程序\1.MPU6050Test\HardWareDriver\MPU6050\MPU6050.h

     文件      13191  2012-05-27 21:54  STM32_AHRS_WorkDir源程序\1.MPU6050Test\HardWareDriver\UART2\UART2.c

     文件        875  2012-05-27 21:54  STM32_AHRS_WorkDir源程序\1.MPU6050Test\HardWareDriver\UART2\UART2.h

     文件      11499  2012-04-17 21:42  STM32_AHRS_WorkDir源程序\1.MPU6050Test\HardWareDriver\UARTs\UARTs.c

     文件        778  2012-04-17 20:23  STM32_AHRS_WorkDir源程序\1.MPU6050Test\HardWareDriver\UARTs\UARTs.h

     文件     139120  2012-04-27 20:41  STM32_AHRS_WorkDir源程序\1.MPU6050Test\JlinkLog.txt

     文件        573  2012-04-27 19:52  STM32_AHRS_WorkDir源程序\1.MPU6050Test\JlinkSettings.ini

     文件       8982  2011-03-10 10:47  STM32_AHRS_WorkDir源程序\1.MPU6050Test\Lib\inc\misc.h

     文件      21690  2011-03-10 10:47  STM32_AHRS_WorkDir源程序\1.MPU6050Test\Lib\inc\stm32f10x_adc.h

     文件       7555  2011-03-10 10:47  STM32_AHRS_WorkDir源程序\1.MPU6050Test\Lib\inc\stm32f10x_bkp.h

     文件      27559  2011-03-10 10:47  STM32_AHRS_WorkDir源程序\1.MPU6050Test\Lib\inc\stm32f10x_can.h

     文件       6573  2011-03-10 10:47  STM32_AHRS_WorkDir源程序\1.MPU6050Test\Lib\inc\stm32f10x_cec.h

     文件       2162  2011-03-10 10:47  STM32_AHRS_WorkDir源程序\1.MPU6050Test\Lib\inc\stm32f10x_crc.h

     文件      15233  2011-03-10 10:47  STM32_AHRS_WorkDir源程序\1.MPU6050Test\Lib\inc\stm32f10x_dac.h

............此处省略1524个文件信息

评论

共有 条评论