點擊(此處)折疊或打開
/*******************************************************************************
* Function Name : SysTickHandler
* Description : This function handles SysTick Handler.
* Input : None
* Output : None
* Return : None
*******************************************************************************/
void SysTickHandler(void)
{
__SVC();
/* Toggle PC.04 pin */ LED4
GPIO_WriteBit(GPIOC, GPIO_Pin_4, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_4)));
}
/*******************************************************************************
* Function Name : SVCHandler
* Description : This function handles SVCall exception.
* Input : None
* Output : None
* Return : None
*******************************************************************************/
void SVCHandler(void)
{
/* Set the PSV system handler pending bit */
NVIC_SetSystemHandlerPendingBit(SystemHandler_PSV);
/* Toggle PC.05 pin */ LED3
GPIO_WriteBit(GPIOC, GPIO_Pin_5, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_5)));
}
/*******************************************************************************
* Function Name : PendSVC
* Description : This function handles PendSVC exception.
* Input : None
* Output : None
* Return : None
*******************************************************************************/
void PendSVC(void)
{
/* Set the NMI system handler pending bit */
NVIC_SetSystemHandlerPendingBit(SystemHandler_NMI);
/* Toggle PC.06 pin */ LED2
GPIO_WriteBit(GPIOC, GPIO_Pin_6, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_6)));
}
/*******************************************************************************
* Function Name : NMIException
* Description : This function handles NMI exception.
* Input : None
* Output : None
* Return : None
*******************************************************************************/
void NMIException(void)
{
/* Toggle PC.07 pin */ LED1
GPIO_WriteBit(GPIOC, GPIO_Pin_7, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_7)));
}
本例展示了如何運用NVIC和系統Handler(system handler):
各個system handlers擁有如下的強制優先級(preemption priority):
- NMI preemption priority -2 固定優先級
- PSV preemption priority 0 可設置
- SVCall preemption priority 1 可設置
- SysTick preemption priority 2 可設置
首先把Systick定時器設定為每當其計數器為零,這里是1s產生一個Systick中斷。
點擊(此處)折疊或打開
/* SysTick interrupt each 1 Hz with Counter clock equal to 72MHz/8 = 9MHz */
SysTick_SetReload(9000000);
/* Enable the SysTick Interrupt */
SysTick_ITConfig(ENABLE);
/* Enable the SysTick Counter */
SysTick_CounterCmd(SysTick_Counter_Enable);
在Systick handler routine中,設置與PC.04相連的LED4以1秒為周期閃耀。隨后執行_SVC(System Service Call)指令。這個指令在cortexm3_macro.h中
執行_SVC()會激活SVCall handler來打斷當前的指令流。在SVCall handler routine中,設置與PC.05相連的LED3閃耀,同時設置PSV handler的pending比特。由于PSV(Pendable request for system service)的優先級更高,因此他又會打斷SVCall handler。在PSV handler routine中,設置與PC.06相連的LED2閃耀,并設置NMI(Non maskable interrupt)pending比特,進一步由NMI handler打斷當前handler。
最后,在NMI handler中設置與PC.07相連的LED1閃耀。
上一篇:stm32啟動文件中heap與stack
下一篇:STM32 SVCall
推薦閱讀
史海拾趣
在國內市場取得一定成績后,Dawning開始將目光投向國際市場。公司積極參加國際電子展會,與全球知名企業進行交流合作。同時,Dawning還根據不同國家和地區的市場需求,調整產品策略,推出符合當地消費者喜好的產品。經過幾年的努力,Dawning的產品已經成功打入歐美、東南亞等多個國家和地區的市場,公司的國際化進程取得了顯著進展。
在激烈的市場競爭中,產品質量和客戶服務是企業贏得客戶信任的關鍵。EZchip一直秉承“質量第一、客戶至上”的理念,注重產品的質量控制和客戶服務體驗。公司采用嚴格的生產流程和質量控制標準,確保每一件產品都符合高標準、高質量的要求。同時,EZchip還建立了完善的客戶服務體系,為客戶提供及時、專業的技術支持和售后服務。這些措施不僅提升了產品的競爭力,也贏得了客戶的廣泛贊譽和信任。
千志電子一直注重技術研發和創新,不斷推動產業升級。公司擁有一支專業的研發團隊和先進的研發設備,致力于電阻技術的研發和創新。通過與高校和科研機構的合作,千志電子不斷引進新技術、新工藝和新材料,提高產品的技術含量和附加值。同時,千志電子還注重知識產權的保護和管理,積極申請專利和注冊商標,維護了自身的合法權益。
為了進一步拓展市場,CLARE公司積極開拓國內市場,并與多家知名企業建立了戰略合作關系。同時,公司還積極進軍國際市場,通過參加國際展會、設立海外分支機構等方式,加強與國際客戶的交流與合作。這些舉措不僅為CLARE公司帶來了更多的商業機會,也進一步提升了其在全球電子行業中的地位和影響力。
除了天然氣業務外,E.ON還致力于電力市場的拓展。通過與其他電力公司的合作和并購,E.ON逐漸擴大了在歐洲電力市場的份額。特別是在2003年收購德國魯爾天然氣公司后,E.ON間接持有了俄天然氣公司的股份,進一步鞏固了其在歐洲能源市場的地位。
在競爭激烈的電子行業中,質量管理是企業生存和發展的關鍵。DDD公司高度重視產品質量管理,建立了完善的質量管理體系和檢測機制。公司從原材料采購、生產過程到成品檢驗都實行嚴格的質量控制,確保每一件產品都符合客戶的要求和行業標準。這種對質量的執著追求使得DDD公司的產品在市場上贏得了良好的口碑和信譽。
這是程序 RS EQU P2.0 RW EQU P2.1 EN EQU P2.2 LCD_X EQU 2FH PLAYFLAG BIT 20H.0 ;********************************************************* ORG 0000H ...… 查看全部問答∨ |
我做的得LED顯示屏控制器,在FPGA中嵌入了NioII核,但CPU與其他模塊(我用VHDL寫的)連接后,占用得資源很多,請有這方面經驗的朋友給指點一下!不勝感謝!… 查看全部問答∨ |
要對我國IC設計公司的發展進行剖析,有必要對其生存環境進行了解。 我國的IC設計公司至2009年底達到600家,主要分布在以北京為中心的環渤海、以上海為中心的長三角、以深圳為中心的珠三角。 這三個地區的IC設計公司的生存環境有著很大的差異。 ...… 查看全部問答∨ |
本帖最后由 jameswangsynnex 于 2015-3-3 19:58 編輯 這兩年上網本很熱,得益于低廉的價格,滿足了相當一部分人的需求。 但上網本隨著競爭的激烈,肯定會被低端筆記本替代, 那哪些消費電子會是下一個“上網本”呢。大家討論一下,好讓我們選擇 ...… 查看全部問答∨ |
我最近剛在調那個液晶在漢字顯示上弄不明白了,不知道怎么用。大約在顯示漢字的時候遇到了點困難。就是在那個CGRAM偏置設置的時候,我只能設置那個,1C00H就是在設置了O3H 00H 不知道怎么做具體的請大家指教一 ...… 查看全部問答∨ |
大伙來說說這三個ARM11的性價比比拼 從以下幾個因素考慮: 一、片子成本,產品成本,研發周期 二、穩定性 三、技術支持 歡迎大家說說看,俺們有必要換個高級貨了。記得上次paul ,chao推薦IMX.31,覺得這個不錯,可是貌似網上資料很少,很怕開 ...… 查看全部問答∨ |
各位NDIS開發高手: MiniportSendPackets接口:在中間層要對一個數據包分片,如果原數據包是帶有OOB數據的,是不是需要把這個OOB數據復制給每個分片? ProtocolReceive,ProtocolReceivePacket接口:在該接口中重組,如果分片數據包中帶有OOB數據 ...… 查看全部問答∨ |
我沒做過嵌入式,由于項目需要現在要對一個嵌入式系統做修改,時間緊,沒時間學習嵌入式開發。 我現在在PC上編譯手里的工程使用DT-870,能夠生成exe程序文件,拷貝到硬件平臺能夠用。 我想在我的pc機上模擬運行程序,我覺得是不是把DT-870改為DT- ...… 查看全部問答∨ |
作者:chenzhufly QQ:36886052 ( 轉載請注明出處) 1. 硬件連接BeagleBone的P8第6腳GPIO1_3接DS18B20的數據腳,連接關系如下圖所示:2. 代碼修改主要修改board-am335xevm.c1) 增加頭文件#include <linux/w1-gpio.h>復制代碼2) 增加 ...… 查看全部問答∨ |
漏電起痕試驗儀 是IEC60112 : 2003 《固體絕緣材料耐電痕化指數和相比電痕化指數的測定方法等標準規定的仿真試驗項目。 漏電起痕試驗儀是在固體絕緣材料表面上,在規定尺寸 ( 2mm × 5mm ) 的鉑電極之間,施加某一電 ...… 查看全部問答∨ |