资源简介
基于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个文件信息
相关资源
- FPGA单片机4线spi方式驱动OLED有机屏幕
- 18位8通道AD7608驱动程序.rar
- dsPIC33E/PIC24E系列中文手册-CN.pdf
- DELL Inspiron Desktop 620/620s windows7 64位网
- STM32F_QSPI_NAND
- How Spirent iTest Works
- hspice2007入门教程
- STM32F103_SPI驱动nRF24L01
- 基于zedboard的SPI收发数据通讯记录文档
- spine-unity-3_8-2019-05-15-beta.unitypackage
- STM32 F103VCT6 KEIL5环境 USART SPI I2C TIM
- Spine3.80.zip
- 语音识别模块LD3320驱动程序stm32
- SPI_adis16470 主机版本 飞控算法的姿态
- listview下拉刷新 加载数据 spinner与li
- 基于stm32f407的ads1118
- AXI_Quad_spi的Ip核使用.docx
- KMSpicov9.0.6.zip
- 软件模拟SPI读写W25Q128
- STM32F407ZGT6实现HAL库SPI扩展FLASH功能M
- orCAD PSpice 学生版
- 基于bootstrap的漂亮的中文后台模板—
- IObit Uninstaller
- u-boot-3s-spi-experimental.zip
- 基于STM32G071RBT的SPI读取ADXL357加速度和
- NDIS+SPI双层过滤个人防火墙源程序
- GSA Email Spider
- dsPIC数字信号控制器入门与实战.入门
- HAL库W5500代码SPI版本
- 自已写的FPGA使用SPI模式读写FLASH
评论
共有 条评论