概述
本章節主要是介紹了華芯微特公司SWM20x系列電機框架搭建之定時器模塊HALL接口功能特點及應用設置,方便用戶可以更快的上手設計。
。
SWM20x系列電機框架搭建:TIMR_HALL篇
霍爾接口
TIMER0模塊提供了HALL接口功能,能夠自動記錄脈沖變化間隔,并產生中斷。使用方式如下:
HALL功能為指定引腳,且不同封裝可能有所差異,具體引腳詳見管教排布:
配置PORTCON模塊中INEN寄存器使能引腳輸入功能
通過PORT_SEL寄存器將引腳切換為HALL功能
配置HALLSR寄存器,設置對應HALL輸入信號的原狀態
配置TIMER0裝載值寄存器(LDVALx)
使能HALL模式控制寄存器中輸入HALL信號觸發使能位(HALLEN)
清除輸入HALL信號觸發中斷的狀態(HALLIF)
使能HALL中斷(HALLIE)
TIMER0使能(EN)
當外部HALL_X引腳產生指定電平變化時,將(計數器加載值-計數器當前值)的結果保存到寄存器HALLDR中,計數器復位到加載值重新計數,并產生TIMER中斷。同時HALLIF寄存器IFx將產生對應標示位,標識對應引腳產生電平變化。
Hall0、Hall1、Hall2 是HALL功能的三個輸入引腳,任意一個HALL引腳上出現跳變沿時,將(計數器加載值-計數器當前值)的結果保存到寄存器HALLDR中,并且計數器復位到加載值重新計數。HALL0~2信號輸入同時支持連接至CMP0~2,可通過ACMPCR2寄存器HALLx位配置,可選擇為CMPxOUT引腳或者HALLIO引腳。
中斷配置與清除
每路TIMER均具備獨立中斷,通過中斷使能寄存器IE進行各TIMER中斷使能。通過中斷狀態寄存器IF進行中斷查詢及清除。
TIMER中斷
可通過配置中斷使能寄存器IEx相應位使能中斷。當檢測到中斷觸發條件時,中斷標志寄存器IFx相應位中置1。如需清除此標志,需在相應標志位中寫1清零(R/W1C),否則中斷在開啟狀態下會一直進入。
HALL中斷
可通過配置HALL模式控制寄存器對應位設置輸入HALLx信號觸發中斷的條件:上升沿、下降沿、上升沿和下降沿。可通過配置HALL中斷使能寄存器HALLIE相應位使能中斷。當檢測到中斷觸發條件時,HALL中斷標志寄存器HALLIF相應位中置1。如需清除此標志,需在相應標志位中寫1清零(R/W1C),否則中斷在開啟狀態下會一直進入。
程序中配置如下:
void Motor_hall(void)
{
PORT_Init(PORTB, PIN4, PORTB_PIN4_HALL_IN0, 1); //連接PB4
PORT_Init(PORTB, PIN5, PORTB_PIN5_HALL_IN1, 1); //連接PB5
PORT_Init(PORTB, PIN6, PORTB_PIN6_HALL_IN2, 1); //連接PB6
PORTB-》PULLU |= ((1 《《 PIN4) | (1 《《 PIN5) | (1 《《 PIN6)); //上拉使能
TIMR_Init(TIMR0, TIMR_MODE_TIMER, CyclesPerUs*4, 65536, 0); //最大測量脈寬4us*65536 = 262ms
TIMRG-》HALLEN = 1; //HALL模式控制
TIMRG-》HALLIF = 7; //HALL中斷狀態
TIMRG-》HALLIE = 1; //HALL中斷使能
NVIC_EnableIRQ(HALL_IRQn); //設置中斷優先級
TIMR_Start(TIMR0);
}
//霍爾檢測中斷
void HALL_Handler(void)
{
TIMRG-》HALLIF = 7; //清除中斷
printf(“%dus ”, TIMRG-》HALLSR); //輸出霍爾值
}
使用TIMRG-》HALLSR可獲取當前霍爾值。
具體詳情可登錄華芯微特官網:http://www.synwit.cn/
共享文件夾:ftp://221.217.59.230/
編輯:jq
-
寄存器
+關注
關注
31文章
5363瀏覽量
121199 -
接口
+關注
關注
33文章
8694瀏覽量
151929 -
電機
+關注
關注
142文章
9088瀏覽量
146387 -
定時器
+關注
關注
23文章
3255瀏覽量
115391
原文標題:SWM20x系列電機框架搭建:TIMR_HALL篇
文章出處:【微信號:gh_737991c81b3d,微信公眾號:恒美股份】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
【敏矽微ME32G070開發板免費體驗】介紹、環境搭建、工程測試
詳解CKS32F107xx系列的定時器同步功能
![詳解CKS32F107xx<b class='flag-5'>系列</b>的<b class='flag-5'>定時器</b>同步<b class='flag-5'>功能</b>](https://file1.elecfans.com/web3/M00/00/04/wKgZO2dFmo2AEGVaAAAmt1_ZZbs531.png)
(華芯微特)SWM241系列、主流領域 LCD斷碼屏、TFT液晶屏
華芯微特屏驅MCU-SWM320系列
STM32G4系列芯片定時器的延時輸出問題
![STM32G4<b class='flag-5'>系列</b>芯片<b class='flag-5'>定時器</b>的延時輸出問題](https://file1.elecfans.com/web2/M00/F6/6E/wKgZomaCDMyARGDYAAATTx3bpOA550.png)
三菱plc如何顯示定時器時間
三菱FX系列PLC內部定時器,定時的時間單位有哪3種?
如何實現一個軟件定時器?
華普微強芯加持!低功耗SPI模塊E48系列,可替代多款芯片方案
![<b class='flag-5'>華</b>普<b class='flag-5'>微</b>強<b class='flag-5'>芯</b>加持!低功耗SPI<b class='flag-5'>模塊</b>E48<b class='flag-5'>系列</b>,可替代多款芯片方案](https://file.elecfans.com/web2/M00/3E/6A/pYYBAGJhBGGAGyDYAACBPQuBZQI711.png)
使用555定時器的可調雙定時器電路
![使用555<b class='flag-5'>定時器</b>的可調雙<b class='flag-5'>定時器</b>電路](https://file1.elecfans.com/web2/M00/C1/D8/wKgaomXa6PqABqXTAABhX_zgqZw100.png)
評論