资源简介
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个文件信息
相关资源
- STM32F103驱动线性CCD与上位机通信
- stm32智能手表系统的设计硬件及软件源
- STM32 串口激光测距 外加服务器程序,
- 基于LabVIEW的ARM Cortex-M3嵌入式开发宝典
- STM32F103 战舰V3基础例程(HAL库版)
- STM32F103ZET6核心板+DHT11+OLED.zip
- 开发例程STM32F103的各种开发子程序
- STM32F103SPWM
- STM32F103xx + uCOS -ii 项目模板
- 正点原子精英版标准例程-库函数版本
- stm32f103c8t6移植RT-Thread之线程管理
- STM32读写MPU6050例程
- STM32_Min.zip
- mpu6050资料代码
- STM32F103C8T6 USB HID下位机程序/MPU6050姿态
- STM32F103C8T6标准库部分例程点灯、串口
- MPU6050的使用手册和数据手册
- STM32F103移植FreeModbus同时实现ModbusRTU和
- STM32F103移植的UCOSIIIHAL库
- modbus通用读取电表数据源码,使用的
- 一次搞定,STM32F103各种外围电路合集
- STM32F103C8开发板 STM32最小系统核心板
- 基于LabVIEW的ARM Cortex-M3嵌入式开发宝典
- pulse sensor中文资料+Stm32f103程序
- STM32F103 UC/OS-II关于各种任务间通信的
- 基于STM32F103的CAN总线通信节点设计原
- stm32f103 OLED创意时钟
- uCOS-III 应用开发指南—基于 STM32F103系
- stm32f103-cube配置-USB组合设备.zip
- STM32F103 4.3寸TFT触摸屏源码
评论
共有 条评论