資源簡介
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\Jli
?????文件????????573??2012-04-27?19:52??STM32_AHRS_WorkDir源程序\1.MPU6050Test\Jli
?????文件???????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個文件信息
評論
共有 條評論