资源简介
基于STM32的HMC5983驱动代码,此处使用的是spi通信,通信部分自己写。
代码片段和文件信息
/*
*
* 1.调试开发参考hmc5983资料即可。
*
*/
#include “stdio.h“
#include “hmc5983.h“
#include “stm32_Delay.h“
#include “usb_lib.h“
#include “string.h“
#define Dummy_Byte 0x80 //虚假数据
//初始化hmc5983
void hmc5983_init(void)
{
u8 CheckID[]=“123“;
GPIO_InitTypeDef GPIO_InitStructure;
spi2_init();
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_12;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB &GPIO_InitStructure);
GPIO_ResetBits(GPIOBGPIO_Pin_9);
hmc5983_ReadBuf(HMC5983_IDA_REGCheckID3); //读取机器ID进而判断芯片是否准备ok
if(strncmp((char*)CheckIDHMC5983_ID3)!=0)
{
#ifdef MY_DEBUG
printf(“Didn‘t check to HMC5983! ReadID:%s\n“CheckID);
#endif
}
else
{
#ifdef MY_DEBUG
printf(“The HMC5983 is ready!\n“);
#endif
hmc5983_WriteByte(HMC5983_CONF_REG_A0x14); //正常测量,1次平均 30HZ
hmc5983_WriteByte(HMC5983_CONF_REG_B0x30); //±2.5Ga
hmc5983_WriteByte(HMC5983_MODE_REG 0x01); //
相关资源
- 三轴陀螺仪MPU6050基于STM32F103的IIC驱动
- RC522射频模块充值饭卡,水卡
- STM32F105_Temp工程模板
- STM32F407 标准库 实现6路串口配置,D
- 基于STM32的室内空气质量检测
- emWin软键盘
- STM32入门 stm32深入浅出
- STM32F407 ADC1双通道采样,DMA传输程序库
- STM32F103增量式编码器的采集以及处理
- max7219驱动数码管fro stm32
- stm32控制两个nrf24l01之间的通信
- stm32f427工程demo
- STM32f1xx ADC+TIMER+DMA控制采样率
- 读取stm32全球唯一ID
- STM32+w5500+FTP client
- stm32f103-sim800cTCP透传
- stm32控制步进电机,实现xy水平移动
- STM32F103C8T6 V1_2原理图
- stm32 syn6288语音模块程序
- 通用红外遥控设备.zip
- grbl1.1f20170801-stm32f103c8t6
- STM32F103ZET6原理图引脚封装
- STM32f103的DS18B20温度读取
- stm32-tm1650驱动程序带pdf文件
- stm32移植modbus,亲测可用
- stm32F103通过IIC读取MPU9250用DMP融合得到
- 鸥鹏stm32教程配套
- STM32F103ZET6最小系统板原理图
- STM32 串口 Modbus RTU 协议 代码
- 声源定位程序
评论
共有 条评论