娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年01月28日(星期二)

2020年01月28日 | STM32之霍爾傳感器模塊

發(fā)布者:MysticalGarden 來源: eefocus關(guān)鍵字:STM32  霍爾傳感器模塊  磁場傳感器 手機看文章 掃描二維碼
隨時隨地手機看文章

一、簡介


本文介紹如何在STM32上使用霍爾傳感器模塊。


二、實驗平臺


庫版本:STM32F10x_StdPeriph_Lib_V3.5.0


編譯軟件:MDK4.53


硬件平臺:STM32開發(fā)板(主芯片stm32f103c8t6


仿真器:JLINK


三、版權(quán)聲明


四、實驗前提

1、在進(jìn)行本文步驟前,請先閱讀以下博文:

暫無


2、在進(jìn)行本文步驟前,請先實現(xiàn)以下博文:

暫無


五、基礎(chǔ)知識


1、霍爾傳感器是什么?


答:霍爾傳感器是根據(jù)霍爾效應(yīng)制作的一種磁場傳感器


用磁鐵去靠近霍爾傳感器時,霍爾傳感器的引腳電平會產(chǎn)生變化。


2、霍爾傳感器主要用在什么地方?


答:霍爾傳感器可測速、計數(shù)、限位上。


舉例限位功能:兩個霍爾傳感器形成45°的夾角,電機邊緣粘著一個磁鐵,一旦電機轉(zhuǎn)動導(dǎo)致磁鐵觸發(fā)任意其中一個霍爾傳感器,則STM32檢測到觸發(fā)后立刻停止電機,不能再繼續(xù)往此方向轉(zhuǎn)動。以此達(dá)到限制電機轉(zhuǎn)動角度的作用。


3、本文使用的是什么霍爾傳感器模塊?


答:

香瓜買的霍爾傳感器模塊一共有四個引腳,GND、VCC、D0、A0。


其中只需要用到三根線,GND、VCC、D0。(A0不知做啥用的,計數(shù)?)


使用方法:


1)5V供電。


2)用跳線連接D0和STM32的IO口(本文連接的是PA11)。


3)D0默認(rèn)是高電平,但磁鐵的特定一面(磁鐵另一面無用)去靠近霍爾傳感器模塊時,D0會被拉低。


4、霍爾傳感器與限位開關(guān)有什么區(qū)別?


答:


1)限位開關(guān)


①優(yōu)點:無功耗。


②缺點:易損壞。


2)霍爾傳感器


①優(yōu)點:不易損壞。


②缺點:有功耗。


六、實驗步驟


1、編寫并添加霍爾傳感器驅(qū)動


1)編寫驅(qū)動GUA_Hall_Sensor.c(存放在“……HARDWARE”)


//******************************************************************************              

//name:             GUA_Hall_Sensor.c             

//introduce:        霍爾傳感器驅(qū)動      

//author:           甜甜的大香瓜                     

//email:            897503845@qq.com     

//QQ group          香瓜單片機之STM8/STM32(164311667)                  

//changetime:       2017.03.06                     

//******************************************************************************

#include "stm32f10x.h" 

#include "GUA_Hall_Sensor.h"

 

/*********************宏定義************************/

//霍爾傳感器引腳

#define GUA_HALL_SENSOR_PORT               GPIOA

#define GUA_HALL_SENSOR_PIN                GPIO_Pin_11

 

//消抖總次數(shù)

#define GUA_HALL_SENSOR_DISAPPERAS_SHAKS_COUNT      500000

/*********************內(nèi)部變量************************/

static GUA_U32 sGUA_Hall_Sensor_DisapperasShakes_IdleCount = 0; //消抖時的空閑狀態(tài)計數(shù)值

static GUA_U32 sGUA_Hall_Sensor_DisapperasShakes_TriggerCount = 0; //消抖時的觸發(fā)狀態(tài)計數(shù)值

 

/*********************內(nèi)部函數(shù)************************/ 

static void GUA_Hall_Sensor_IO_Init(void);

 

//******************************************************************************            

//name:             GUA_Hall_Sensor_IO_Init           

//introduce:        霍爾傳感器的IO初始化         

//parameter:        none                 

//return:           none         

//author:           甜甜的大香瓜                 

//email:            897503845@qq.com     

//QQ group          香瓜單片機之STM8/STM32(164311667)                  

//changetime:       2017.03.06                     

//******************************************************************************

static void GUA_Hall_Sensor_IO_Init(void)

{

//IO結(jié)構(gòu)體

GPIO_InitTypeDef GPIO_InitStructure;

//時鐘使能

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

//霍爾IO配置

GPIO_InitStructure.GPIO_Pin = GUA_HALL_SENSOR_PIN; 

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; 

GPIO_Init(GUA_HALL_SENSOR_PORT, &GPIO_InitStructure);

}

 

//******************************************************************************        

//name:             GUA_Hall_Sensor_Check_Pin        

//introduce:        霍爾傳感器檢測觸發(fā)狀態(tài)     

//parameter:        none       

//return:           GUA_HALL_SENSOR_STATUS_IDLE or GUA_HALL_SENSOR_STATUS_TRIGGER     

//author:           甜甜的大香瓜             

//email:            897503845@qq.com     

//QQ group          香瓜單片機之STM8/STM32(164311667)                  

//changetime:       2017.03.06                     

//******************************************************************************  

GUA_U8 GUA_Hall_Sensor_Check_Pin(void)    

{    

  //沒觸發(fā)

  if(GPIO_ReadInputDataBit(GUA_HALL_SENSOR_PORT, GUA_HALL_SENSOR_PIN) == SET) 

  {

    //計數(shù)

    sGUA_Hall_Sensor_DisapperasShakes_IdleCount++;

    sGUA_Hall_Sensor_DisapperasShakes_TriggerCount = 0;

    

    //判斷計數(shù)是否足夠

    if(sGUA_Hall_Sensor_DisapperasShakes_IdleCount >= GUA_HALL_SENSOR_DISAPPERAS_SHAKS_COUNT)

    {

      return GUA_HALL_SENSOR_STATUS_IDLE;    

    }

  }

  //觸發(fā)

  else

  {

    //計數(shù)

    sGUA_Hall_Sensor_DisapperasShakes_IdleCount = 0;

    sGUA_Hall_Sensor_DisapperasShakes_TriggerCount++;

    

    //判斷計數(shù)是否足夠

    if(sGUA_Hall_Sensor_DisapperasShakes_TriggerCount >= GUA_HALL_SENSOR_DISAPPERAS_SHAKS_COUNT)

    {

      return GUA_HALL_SENSOR_STATUS_TRIGGER;    

    }    

  }  

  

  return GUA_HALL_SENSOR_STATUS_DISAPPERAS_SHAKS;  

 

//******************************************************************************        

//name:             GUA_Limit_Switch_Init        

//introduce:        霍爾傳感器初始化     

//parameter:        none       

//return:           none      

//author:           甜甜的大香瓜             

//email:            897503845@qq.com     

//QQ group          香瓜單片機之STM8/STM32(164311667)                  

//changetime:       2017.03.06                     

//****************************************************************************** 

void GUA_Hall_Sensor_Init(void)

{

  //初始化IO

  GUA_Hall_Sensor_IO_Init();   

}


2)編寫驅(qū)動頭文件GUA_Hall_Sensor.h(存放在“……HARDWARE”)

//******************************************************************************              

//name:             GUA_Hall_Sensor.h             

//introduce:        霍爾傳感器驅(qū)動的頭文件      

//author:           甜甜的大香瓜                     

//email:            897503845@qq.com         

//QQ group          香瓜單片機之STM8/STM32(164311667)                      

//changetime:       2017.03.06                     

//****************************************************************************** 

#ifndef _GUA_HALL_SENSOR_H_

#define _GUA_HALL_SENSOR_H_

 

/*********************宏定義************************/  

//類型宏

#ifndef GUA_U8        

typedef unsigned char GUA_U8;        

#endif    

 

#ifndef GUA_8        

typedef signed char GUA_8;        

#endif      

      

#ifndef GUA_U16        

typedef unsigned short GUA_U16;        

#endif 

 

#ifndef GUA_16        

typedef signed short GUA_16;        

#endif         

      

#ifndef GUA_U32        

typedef unsigned long GUA_U32;        

#endif 

 

#ifndef GUA_32        

typedef signed long GUA_32;       

#endif

 

#ifndef GUA_U64    

typedef unsigned long long GUA_U64;  

#endif

 

#ifndef GUA_64    

typedef signed long long GUA_64;  

#endif

 

//霍爾傳感器的觸發(fā)狀態(tài)

#define GUA_HALL_SENSOR_STATUS_TRIGGER                      0 //霍爾傳感器觸發(fā)

#define GUA_HALL_SENSOR_STATUS_IDLE                         1 //霍爾傳感器沒觸發(fā)

#define GUA_HALL_SENSOR_STATUS_DISAPPERAS_SHAKS             2 //霍爾傳感器消抖中

 

/*********************外部函數(shù)聲明************************/ 

GUA_U8 GUA_Hall_Sensor_Check_Pin(void);  

void GUA_Hall_Sensor_Init(void);

 

#endif


3)工程中添加GUA_Hall_Sensor.c

4)在MDK設(shè)置中添加串口驅(qū)動源文件路徑

2、在應(yīng)用層中調(diào)用


1)添加驅(qū)動頭文件(main.c中)


#include "GUA_Hall_Sensor.h"


2)添加驅(qū)動初始化代碼(main.c的main函數(shù)中)

  //霍爾傳感器初始化

  GUA_Hall_Sensor_Init(); 


3)添加測試代碼

①寫測試代碼(main.c中)


static void GUA_Test(void)

{   

  U8 nGUA_Ret = 0;

  U8 nGUA_Stop = 0;

  while(1)

  {

[1] [2]
關(guān)鍵字:STM32  霍爾傳感器模塊  磁場傳感器 引用地址:STM32之霍爾傳感器模塊

上一篇:STM32之電量采集
下一篇:STM32之timer2的精準(zhǔn)延時

推薦閱讀

中國商務(wù)部27日宣布對進(jìn)口自美歐的乙二醇和二甘醇的單丁醚所適用的反傾銷措施進(jìn)行期終復(fù)審調(diào)查。這意味著中國可能繼續(xù)對美歐該產(chǎn)品征收反傾銷稅。據(jù)中新社報道,乙二醇和二甘醇的單丁醚(乙二醇丁醚)主要用于水性涂料、油漆和油墨生產(chǎn),在立邦漆、多樂士等涂料中都有應(yīng)用。該產(chǎn)品還是集成電路行業(yè)的必需品。集成電路是美國對華主要出口產(chǎn)品之一。中國2013...
裸眼3D技術(shù)無需佩戴3D眼鏡,即可讓觀眾獲得高真實度的視覺體驗,是一種新型的影像顯示技術(shù)。 裸眼3D成為時下熱門的技術(shù)指針。 而同時,裸眼3D技術(shù)也正以迅速的發(fā)展姿態(tài)跨入各不同產(chǎn)業(yè)領(lǐng)域,同時也吸引了眾多企業(yè)的關(guān)注和加入。 裸眼3D的再一次崛起,各大芯片廠商相繼推出裸眼3D顯示解決方案,同時,裸眼3D也開始廣泛的應(yīng)用到了手機產(chǎn)業(yè)。 面對裸眼3D的再...
無損檢測技術(shù)方法中的紅外線檢測(紅外輻射檢測)的實質(zhì)是利用物體輻射紅外線的特點進(jìn)行非接觸的紅外溫度記錄法。紅外線是一種電磁波,具有與無線電波及可見光一樣的本質(zhì),波長在0.76~100μm之間,按波長的范圍可分為近紅外、中紅外、遠(yuǎn)紅外、極遠(yuǎn)紅外四類,它在電磁波連續(xù)頻譜中的位置是處于無線電波與可見光之間的區(qū)域。紅外線輻射是自然界存在的一種zu...
1月27日, 瑞芯微發(fā)布業(yè)績預(yù)告稱,公司預(yù)計2020年年度實現(xiàn)歸屬于上市公司股東的凈利潤為28,658.98萬元至33,776.66萬元,與上年同期相比,將增加8,188.28萬元至13,305.96萬元,同比增加40.00%至65.00%。關(guān)于業(yè)績增長的主要原因,瑞芯微表示,公司在人工智能物聯(lián)網(wǎng)(AIoT,例如各類行業(yè)應(yīng)用)、音頻/視頻(例如智能音箱,平板電腦,智能電視盒子)等產(chǎn)品領(lǐng)域...

史海拾趣

問答坊 | AI 解惑

1602液晶。。。。

1602液晶。。。。…

查看全部問答∨

avr單片機用7.3728 MHz或11.0592 MHz如何產(chǎn)生5MS的定時時標(biāo)?

avr單片機用7.3728 MHz或11.0592 MHz如何產(chǎn)生5MS的定時時標(biāo)? 我用AVR單片機,晶體是7.3728 MHz或11.0592 MHz,要如何設(shè)置定時器才能產(chǎn)生準(zhǔn)確的5MS定時中斷?…

查看全部問答∨

如何在單片機中實現(xiàn)高效的數(shù)據(jù)實時濾波

在中斷程序中沒一個采樣周期都會從外設(shè)采集到一個數(shù)據(jù)readbuf[0],該數(shù)據(jù)中存在毛刺,毛刺可認(rèn)為是連續(xù)兩次采樣結(jié)果之差的絕對值大于一個閾值N,N為宏定義的一個數(shù)。但如果連續(xù)M次都出現(xiàn)這樣的大數(shù)則認(rèn)為是有效數(shù)字,M也為宏定義。 由于單片機資源 ...…

查看全部問答∨

WinCE 6.0 R2 Platform builder for VS2005的插件可以用于VS2008嗎?

現(xiàn)有WinCE 6.0 R2 Platform builder for VS2005的插件,但是我準(zhǔn)備遷移到VS2008的平臺下,關(guān)于VS2008的資料比較少,請問該插件可以用于VS2008嗎?…

查看全部問答∨

C2000家族

這是從TI官方的PPT上弄下來的圖片,從這上面來看怪不得2812漲價呢, …

查看全部問答∨

怎樣才能讓電源壽命不受制于電容

在電路研發(fā)過程中,電容是最常用的電子元器件之一,主要用于平滑、儲存能量或者交流電壓整流后的濾波,另外還用于非精密的時序延時等。在代表電源壽命的 MTBF預(yù)計時,模型分析結(jié)果表明電容是影響開關(guān)電源壽命的主要因素,因此了解影響電容壽命的因 ...…

查看全部問答∨

9B96外擴NAND FLASH推薦

計劃用9B96+TLC320AIC3254實現(xiàn)MP3與音頻記錄的功能,要外擴一塊1G以上的NAND FLASH。各位能不能推薦一塊用得比較多的,最好能有驅(qū)動代碼的NAND FLASH? 型號,大小,價格什么的,越詳細(xì)越好,謝謝。。…

查看全部問答∨

ADE7758

求玩過ADE7758的打下,數(shù)據(jù)讀出來都是零啊,不知道怎么回事…

查看全部問答∨

高手們給分析下void (*func(void (*p)(void *)))(void *)

void (*func(void (*p)(void *)))(void *) {      return p; }看了好久沒怎么明白。這樣寫的意思,目的。 [ 本帖最后由 zw357234798 于 2012-9-4 07:39 編輯 ]…

查看全部問答∨

我現(xiàn)在做畢業(yè)設(shè)計急缺DSP2812的McBSP的中文資料,希望各位幫幫我,感激不盡

我現(xiàn)在做畢業(yè)設(shè)計急缺DSP2812的McBSP的中文資料,希望各位幫幫我,感激不盡。我的郵箱是:yyazaz@126.com。…

查看全部問答∨
小廣播
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 枝江市| 松阳县| 蒲城县| 友谊县| 襄垣县| 循化| 兴义市| 吴桥县| 平乐县| 乌苏市| 贵溪市| 陵川县| 新竹市| 合江县| 卢湾区| 扎兰屯市| 扶风县| 吴旗县| 惠州市| 邯郸县| 乡城县| 尼木县| 什邡市| 贞丰县| 阿克| 都安| 安义县| 瓦房店市| 垣曲县| 大同县| 嘉禾县| 姚安县| 威信县| 苏尼特右旗| 宜兰县| 遵义县| 开封县| 渭源县| 永定县| 黔南| 宜兰县|