资源简介
基于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个文件信息
相关资源
- Spire API文档
- The direction of synaptic plasticity mediated
- 飞思卡尔单片机MC9S12XS12G128驱动(硬件
- 51模拟SPI读写SD卡(包括Fat和Fat32文件
- 28335写的用spi读取传感器数据并用CA
- STM32F103 CC2500完整驱动(模拟SPI)
- 手机短信api接口(源代码)
- cs5530的SPI程序
- 9s12单片机SPI功能代码
- stm32 用SPI 方式读写 SDHC
- SPI Master 的Verilog源代码
- Spire.Doc 破解版
- Spin-1目标的广义parton分布的多项式和
- 介子和S波氘核的四极矩以及对spin-1系
- 基于SPCE061A和PTR8000的模拟SPI总线通信
- 用8位spi实现16位spi
- linux SPI设备注册和驱动小结
- 用Verilog语言写的CPLD和MCU通讯的SPI接口
- Spirent iTest用户手册详细介绍iTest的各
- 精确结果为3d N $$ \\ mathcal {N} $$ = 2 S
- 从Poincaré代数的闭合中得
- Temperature dependence of electron-spin cohere
- QCD中三个循环处的Spin-2形状因子
- STM32分别以串口硬件SPI模拟并口驱动
- stm32利用spi驱动tm1803
- 戴尔Inspiron笔记本 摄像头工具webcam
- 戴尔DELL Inspiron 14R N4010网卡驱动 最新
- dell inspiron n4010摄像头驱动 官方最新版
- 戴尔DELL灵越Inspiron N4120快捷键驱动程
- 戴尔DELL灵越Inspiron 14R 5420热键驱动程
评论
共有 条评论