資源簡介
基于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?
}
//延時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?
}
//粗略延時
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個文件信息
評論
共有 條評論