资源简介

基于stm32的hmc5983和mpu6500的驱动程序,支持iic和spi通讯,另外可与山外上位机连接,显示波形。

资源截图

代码片段和文件信息

/*    
      ____                      _____                  +---+
     / ___\                     / __ \                 | R |
    / /                        / /_/ /                 +---+
   / /   ________  ____  ___  / ____/___  ____  __   __
  / /  / ___/ __ ‘/_  / / _ \/ /   / __ \/ _  \/ /  / /
 / /__/ /  / /_/ / / /_/  __/ /   / /_/ / / / / /__/ /
 \___/_/   \___/ /___/\___/_/    \___ /_/ /_/____  /
                                                 / /
                                            ____/ /
                                           /_____/
*/
 /* main.c file
编写者:小马  (Camel)
作者E-mail:375836945@qq.com
编译环境:MDK-Lite  Version: 4.23
初版时间: 2014-01-28
功能:
提供精确的延时API  有微秒级 和毫秒级延时
------------------------------------
*/
 
 
#include “delay.h“
#include “USART1.h“
//#include “config.h“
#include “stm32f10x_it.h“

static u8  fac_us=0;//us延时倍乘数
static u16 fac_ms=0;//ms延时倍乘数

//初始化延迟函数
//SYSTICK的时钟固定为HCLK时钟的1/8
//SYSCLK:系统时钟
/***********************************************
函数名:delay_init(u8 SYSCLK)
功能:初始化延时函数
输入参数:SYSCLK
输出:无
描述:由于该延时是由定时器中断计数完成的,所以需要对相应的寄存器和时钟赋值
备注:输出参数为系统时钟
***********************************************/
void delay_init(u8 SYSCLK)
{
SysTick->CTRL&=0xfffffffb;//bit2清空选择外部时钟  HCLK/8
fac_us=SYSCLK/8;     
fac_ms=(u16)fac_us*1000;
  printf(“Delay function init success...\r\n“);
}
    
//延时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;       //清空计数器   
}   */
void delay_ms(uint16_t nms)
{
uint32_t t0=micros();
while(micros() - t0 < nms * 1000);

}

//延时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;       //清空计数器  
}*/

void delay_us(u32 nus)
{
uint32_t t0=micros();
while(micros() - t0 < nus);

}

//粗略延时
void Delay(unsigned long delay_time)
{
   long i;
   
   for(i=0; i 
}


//---

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-09-28 12:07  STM32C8T6飞控测试版\
     目录           0  2018-09-28 12:07  STM32C8T6飞控测试版\APP\
     文件        4635  2018-09-25 12:55  STM32C8T6飞控测试版\APP\HMC5983.c
     文件        1300  2018-09-22 00:39  STM32C8T6飞控测试版\APP\HMC5983.h
     文件        5223  2018-09-26 21:32  STM32C8T6飞控测试版\APP\HMC5983_spi.c
     文件        1083  2018-09-26 17:46  STM32C8T6飞控测试版\APP\HMC5983_spi.h
     文件       11147  2018-09-24 17:53  STM32C8T6飞控测试版\APP\IIC.c
     文件        2605  2017-02-15 10:33  STM32C8T6飞控测试版\APP\IIC.h
     文件        4161  2018-09-13 15:16  STM32C8T6飞控测试版\APP\MPU6050.c
     文件       16993  2018-09-13 13:18  STM32C8T6飞控测试版\APP\MPU6050.h
     文件       16983  2018-03-12 16:12  STM32C8T6飞控测试版\APP\MPU6050.h~RF11465fe.TMP
     文件        6355  2018-09-25 16:13  STM32C8T6飞控测试版\APP\MPU6500_spi.c
     文件        2159  2018-09-25 16:13  STM32C8T6飞控测试版\APP\MPU6500_spi.h
     文件        6057  2018-09-25 16:13  STM32C8T6飞控测试版\APP\MPU65xx.c
     文件       14556  2018-09-24 19:58  STM32C8T6飞控测试版\APP\MPU65xx.h
     文件        4431  2018-09-27 23:24  STM32C8T6飞控测试版\APP\MS5611.c
     文件        1069  2018-09-27 21:22  STM32C8T6飞控测试版\APP\MS5611.h
     文件        4248  2018-09-28 09:29  STM32C8T6飞控测试版\APP\MS5611_SPI.c
     文件        4191  2018-09-28 09:26  STM32C8T6飞控测试版\APP\MS5611_SPI.c~RF1ecc9ea5.TMP
     文件        1005  2018-09-27 21:22  STM32C8T6飞控测试版\APP\MS5611_SPI.h
     文件        1883  2018-09-25 15:16  STM32C8T6飞控测试版\APP\SYS_FUN.c
     文件         197  2018-09-02 10:23  STM32C8T6飞控测试版\APP\SYS_FUN.h
     文件        2033  2018-09-24 21:22  STM32C8T6飞控测试版\APP\Tim.c
     文件         374  2018-09-02 10:09  STM32C8T6飞控测试版\APP\Tim.h
     文件        6463  2018-09-19 22:57  STM32C8T6飞控测试版\APP\USART1.c
     文件        1095  2018-09-19 22:56  STM32C8T6飞控测试版\APP\USART1.h
     文件        3618  2018-09-02 15:14  STM32C8T6飞控测试版\APP\delay.c
     文件         249  2017-02-15 10:33  STM32C8T6飞控测试版\APP\delay.h
     文件       10017  2018-09-13 13:29  STM32C8T6飞控测试版\APP\filter.c
     文件         740  2018-09-13 13:30  STM32C8T6飞控测试版\APP\filter.h
     文件         840  2018-09-27 09:24  STM32C8T6飞控测试版\APP\gpio.c
............此处省略308个文件信息

评论

共有 条评论