91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 2.42MB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2023-10-20
  • 語言: 其他
  • 標簽: TLE5012b??

資源簡介

英飛凌磁傳感器 TLE5012b_E1000 STM32F103 SPI 源碼 及 Datasheet,內含簡單原理圖接線說明等。詳情看 *。h 文件。一般調用 1: SPI5012B_Init(); 2: ReadAngle();

資源截圖

代碼片段和文件信息

/**
??******************************************************************************
??*?@file????spi_TLE5012B.c
??*?@author??Keith?Cheung
??*?@version?V3.5.0
??*?@date????13-MAY-2017
??*?@brief???This?file?contains?the?headers?of?the?spi_TLE5012B.
??******************************************************************************
??*?@attention
??*
??*
??*?

©?COPYRIGHT?2017


??******************************************************************************
??*/

#include?“stm32f10x.h“
#include?“spi_TLE5012B.h“
//#include?“PublicSet.h“

//uint16_t?TLE_AngleAngle_SpeedTLE_Offset_Angle;

//spi_TLE5012B.H?中有簡要說明

void?Delay(?uint16_t?i?)
{
???while(?i--?);
}


void?SPI5012B_Init(void)
{
SPI_InitTypeDef??SPI_InitStructure;
GPIO_InitTypeDef?GPIO_InitStructure;

RCC_APB2PeriphClockCmd(?RCC_APB2Periph_SPI1ENABLE?);

//以下二句,在它處聲明,請增加使用
//RCC_APB2PeriphClockCmd(?RCC_APB2Periph_GPIOA?|?RCC_APB2Periph_GPIOB?|?RCC_APB2Periph_GPIOC?|?RCC_APB2Periph_GPIOD?|RCC_APB2Periph_AFIO?ENABLE);
//GPIO_PinRemapConfig(GPIO_Remap_SWJ_DisableENABLE);//使JTDO、JTDI、JTCK?當成普通IO口進行操作
//GPIOB0?當成普通IO口進行操作

/*SPI:?NSSSCKMISO?and?MOSI?*/
GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_5;
GPIO_InitStructure.GPIO_Speed?=?GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_AF_PP;//PA5--CLK--復用推挽
GPIO_Init(GPIOA?&GPIO_InitStructure);

//GPIO_StructInit(&GPIO_InitStructure);

/*?Configure?PA6?as?encoder?input?*/
GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_6;
GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_IPD;//PA6--MISO--輸入
GPIO_Init(GPIOA?&GPIO_InitStructure);

/*?PA7*/
GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_Out_PP;//PA7--MOSI--推挽輸出
GPIO_Init(GPIOA?&GPIO_InitStructure);

GPIO_InitStructure.GPIO_Pin?=?GPIO_CS_Pin_Name;//PB0--CS--推挽輸出
GPIO_Init(GPIO_CS_Pin_Type?&GPIO_InitStructure);

/**********SPI****************/
SPI_InitStructure.SPI_Direction?=?SPI_Direction_2Lines_FullDuplex;//SPI1--雙線全雙工!!
SPI_InitStructure.SPI_Mode?=?SPI_Mode_Master;
SPI_InitStructure.SPI_DataSize?=?SPI_DataSize_16b;
SPI_InitStructure.SPI_CPOL?=?SPI_CPOL_Low;
SPI_InitStructure.SPI_CPHA?=?SPI_CPHA_2Edge;
SPI_InitStructure.SPI_NSS?=?SPI_NSS_Soft;
SPI_InitStructure.SPI_BaudRatePrescaler?=?SPI_BaudRatePrescaler_8;
SPI_InitStructure.SPI_FirstBit?=?SPI_FirstBit_MSB;
SPI_InitStructure.SPI_CRCPolynomial?=?7;

SPI_Init(SPI1?&SPI_InitStructure);
SPI_Cmd(SPI1?ENABLE);
}


uint16_t?SPIx_ReadWriteByte(uint16_t?byte)
{
uint16_t?retry?=?0;
while(?(SPI1->SR&1<<1)?==?0?)//發送緩沖區非空
{
if(?++retry?>?200?)
return?0;//延遲一段時間后返回
}
SPI1->DR?=?byte;?????//發送數據

retry?=?0;
while(?(SPI1->SR&1<<0)?==?0?)?//接收緩沖區為空
{
if(?++retry?>?200?)
return?0;//延遲一段時間后返回
}
return?SPI1->DR;??????????//讀一下緩沖區,清標志
}


//得到?0~359?度
uint16_t?ReadAngle(void)
{
return?(?ReadValue(READ_ANGLE_VALUE)?*?360?/?0x10000?);
}

//得到角速度
u

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-05-13?19:38??spi_TLE5012B\
?????文件?????2486137??2017-05-08?10:29??spi_TLE5012B\Infineon-TLE5012B_E1000-DS-v02_00-en.pdf
?????文件????????3508??2017-05-13?19:35??spi_TLE5012B\spi_TLE5012B.c
?????文件????????3040??2017-05-13?19:37??spi_TLE5012B\spi_TLE5012B.h
?????文件??????768238??2017-05-08?11:08??spi_TLE5012B\基于iGMR原理角度傳感器TLE5012B應用指導.pdf

評論

共有 條評論