移植正點(diǎn)原子的FreeRTOS操作系統(tǒng)到我們自己的工程,發(fā)現(xiàn)的一個(gè)注意事項(xiàng);
看下面代碼,帶FreeRTOS的外部中斷服務(wù)函數(shù),實(shí)現(xiàn)按鍵消抖,不能用delay_ms()或者和vTaskDelay(),會(huì)導(dǎo)致系統(tǒng)奔潰;
原因是delay_ms()其實(shí)就是對(duì) FreeRTOS 中的延時(shí)函數(shù) vTaskDelay()的簡(jiǎn)單封裝,所以在使用 delay_ms()的時(shí)候就會(huì)導(dǎo)致任務(wù)切換,即不會(huì)導(dǎo)致這個(gè)外部中斷延時(shí)阻塞,而切換到其他任務(wù),導(dǎo)致外部中斷出錯(cuò);
這里我們可以使用delay_xms(),其不會(huì)引起任務(wù)調(diào)度,是真的延時(shí);(僅針對(duì)外部中斷函數(shù),因?yàn)槲野l(fā)現(xiàn)在按鍵掃描函數(shù)里面,可以使用delay_ms();)
//提供框架---對(duì)應(yīng)PA0---》PG0
void EXTI0_IRQHandler(void)
{
// delay_ms(10);//消抖
delay_xms(10); //消抖
if(KEY9==0)
{
SEGGER_RTT_printf(0,"按鍵IN9輸入 \n");
}
EXTI_ClearITPendingBit(EXTI_Line0); //清除LINE0上的中斷標(biāo)志位
}
號(hào)外:
(1)delay_ms()和vTaskDelay()一樣使用,delay_ms()其實(shí)就是對(duì) FreeRTOS 中的延時(shí)函數(shù) vTaskDelay()的簡(jiǎn)單封裝 但vTaskDelay()程序更簡(jiǎn)潔,ms級(jí)延時(shí)更精準(zhǔn);
為了編程方便,delay_ms()一般使用在外設(shè)模塊初始化時(shí)候的ms級(jí)延時(shí),例如RS485、LCD、以太網(wǎng)模塊等,實(shí)測(cè)沒(méi)有問(wèn)題;
(2)注意NVIC_IRQChannelPreemptionPriority優(yōu)先級(jí)配置,正點(diǎn)原子例程的優(yōu)先級(jí)0~4不會(huì)被FreeRTOS禁止,一般用于定時(shí)器;優(yōu)先級(jí)5~15受FreeRTOS控制,一般用于外部中斷、USART等;
(3)注意區(qū)分中斷優(yōu)先級(jí)和任務(wù)優(yōu)先級(jí),任務(wù)優(yōu)先級(jí)數(shù)字越低表示任務(wù)的優(yōu)先級(jí)越低, 0 的優(yōu)先級(jí)最低, configMAX_PRIORITIES-1 的優(yōu)先級(jí)最高。空閑任務(wù)的優(yōu)先級(jí)最低,為 0。
(4)任務(wù)函數(shù)一般不允許跳出循環(huán),如果一定要跳出循環(huán)的話在跳出循環(huán)以后一定要調(diào)用函數(shù) vTaskDelete(NULL)刪除此任務(wù)!
上一篇:STM32硬件IIC驅(qū)動(dòng)設(shè)計(jì)
下一篇:STM32printf函數(shù)實(shí)現(xiàn)方法
推薦閱讀
史海拾趣
為了進(jìn)一步擴(kuò)大市場(chǎng)份額,Curtis Industries公司積極拓展市場(chǎng)布局。公司在全球范圍內(nèi)設(shè)立了多個(gè)生產(chǎn)基地和研發(fā)中心,以便更好地滿足不同地區(qū)客戶的需求。同時(shí),公司還加強(qiáng)了與上下游企業(yè)的合作,形成了完整的產(chǎn)業(yè)鏈。這些舉措不僅提升了公司的產(chǎn)能和研發(fā)實(shí)力,還為公司帶來(lái)了更多的商業(yè)機(jī)會(huì)。
隨著電子行業(yè)的不斷發(fā)展,Curtis Industries公司意識(shí)到技術(shù)創(chuàng)新的重要性。公司投入大量資源進(jìn)行技術(shù)研發(fā),成功推出了一系列具有行業(yè)領(lǐng)先水平的產(chǎn)品。其中,公司在某一關(guān)鍵領(lǐng)域的突破性技術(shù),不僅解決了行業(yè)內(nèi)的技術(shù)難題,還為公司贏得了廣泛的贊譽(yù)。Curtis Industries因此成為了電子行業(yè)的技術(shù)創(chuàng)新引領(lǐng)者,推動(dòng)了整個(gè)行業(yè)的發(fā)展。
FIDELIX公司成立于1990年,是一家專注于存儲(chǔ)芯片研發(fā)與銷售的韓國(guó)企業(yè)。在公司成立初期,F(xiàn)IDELIX憑借對(duì)技術(shù)的深入研究和對(duì)市場(chǎng)的敏銳洞察,成功推出了多款性能優(yōu)越的NAND FLASH(閃存)和SDR/DDR(單/雙數(shù)率同步動(dòng)態(tài)存儲(chǔ)器)等存儲(chǔ)芯片產(chǎn)品。這些產(chǎn)品不僅在韓國(guó)市場(chǎng)上獲得了良好的口碑,同時(shí)也開(kāi)始逐步進(jìn)入國(guó)際市場(chǎng)。
隨著技術(shù)的不斷進(jìn)步和市場(chǎng)的不斷擴(kuò)大,F(xiàn)IDELIX逐漸在韓國(guó)存儲(chǔ)芯片領(lǐng)域嶄露頭角。公司不斷投入研發(fā)資金,加強(qiáng)技術(shù)創(chuàng)新,努力提升產(chǎn)品的性能和品質(zhì)。同時(shí),F(xiàn)IDELIX也積極拓展銷售渠道,與多家國(guó)內(nèi)外知名廠商建立了合作關(guān)系,為公司的持續(xù)發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ)。
隨著技術(shù)的不斷成熟和產(chǎn)品線的不斷完善,Dytran開(kāi)始積極拓展市場(chǎng)。公司不僅在美國(guó)本土取得了良好的銷售業(yè)績(jī),還通過(guò)參加國(guó)際展覽和建立海外辦事處等方式,將產(chǎn)品推向全球。在這個(gè)過(guò)程中,Dytran的傳感器產(chǎn)品得到了眾多行業(yè)客戶的認(rèn)可,廣泛應(yīng)用于航空航天、工業(yè)和汽車行業(yè)的產(chǎn)品開(kāi)發(fā)測(cè)試和嵌入式監(jiān)控解決方案。
為了更好地服務(wù)全球客戶,Dytran在成立兩年后將其總部遷至美國(guó)加利福尼亞州的查茨沃思市。這里地理位置優(yōu)越,交通便利,有利于公司進(jìn)一步拓展北美市場(chǎng)。同時(shí),公司還加強(qiáng)了與全球合作伙伴的合作,共同推動(dòng)傳感器技術(shù)的發(fā)展和應(yīng)用。
在電子行業(yè)中,產(chǎn)品質(zhì)量的穩(wěn)定性是企業(yè)生存的關(guān)鍵。C-TON深知這一點(diǎn),因此從公司成立之初就高度重視品質(zhì)管理。公司建立了一套嚴(yán)格的質(zhì)量檢測(cè)體系,確保每一件產(chǎn)品都符合高標(biāo)準(zhǔn)的質(zhì)量要求。此外,C-TON還不斷引進(jìn)先進(jìn)的生產(chǎn)設(shè)備和技術(shù),提升生產(chǎn)效率和產(chǎn)品質(zhì)量。這些努力使得C-TON的產(chǎn)品在市場(chǎng)上獲得了良好的口碑,也為其贏得了眾多忠實(shí)客戶。
在電子行業(yè)的快速發(fā)展中,市場(chǎng)變革是常態(tài)。為了應(yīng)對(duì)這些變革,C-TON始終堅(jiān)持創(chuàng)新的精神。公司不斷投入研發(fā)資金,開(kāi)發(fā)新產(chǎn)品、新技術(shù),以適應(yīng)市場(chǎng)的變化。同時(shí),C-TON還密切關(guān)注行業(yè)發(fā)展趨勢(shì),及時(shí)調(diào)整戰(zhàn)略方向,確保自己始終走在行業(yè)前列。這種持續(xù)創(chuàng)新的態(tài)度使得C-TON能夠在激烈的市場(chǎng)競(jìng)爭(zhēng)中保持領(lǐng)先地位,實(shí)現(xiàn)持續(xù)發(fā)展。
以上五個(gè)故事分別圍繞技術(shù)創(chuàng)新、戰(zhàn)略合作、品質(zhì)管理、全球化布局和持續(xù)創(chuàng)新等方面,展現(xiàn)了C-TON Industries公司在電子行業(yè)中發(fā)展起來(lái)的歷程。這些故事雖然基于虛構(gòu),但反映了電子行業(yè)發(fā)展的一般規(guī)律和成功企業(yè)的共同特點(diǎn)。希望它們能夠?yàn)槟峁┮恍﹩l(fā)和參考。
(原來(lái)用51、PIC及小日本品牌IC的工程師朋友如碰到穩(wěn)定性、環(huán)境特性、資源不盡如人意時(shí),可以了解一下) 工業(yè)控制方案 樓宇控制(語(yǔ)音監(jiān)控系統(tǒng)、電表、供電線路Modem、電子鎮(zhèn)流、語(yǔ)音控制) 照明系統(tǒng)(熒光照明、LED照明) 制造(無(wú)線傳感器 ...… 查看全部問(wèn)答∨ |
|
我想屏蔽PDA鍵盤(pán)上的關(guān)閉按鍵,請(qǐng)問(wèn)要如何做 我想屏蔽PDA鍵盤(pán)上的關(guān)閉按鍵,不是屏幕里的,請(qǐng)問(wèn)要怎么做? 如果用鉤子,局部hook的話,我之前沒(méi)做過(guò),能不能給我個(gè)例子,謝謝… 查看全部問(wèn)答∨ |
|
為什么我的Platform Builder5.0的New Platform Wizard是灰掉的 我裝了PB5.0,但是在新建一個(gè)NEW Platform的時(shí)候發(fā)現(xiàn)New Platform Wizard是灰掉的,請(qǐng)問(wèn)哪位大蝦能夠告訴我原因,小弟感激不盡… 查看全部問(wèn)答∨ |
|
請(qǐng)問(wèn)tornado 2.2 出現(xiàn)這個(gè)問(wèn)題后 image specified cannot be run as a vxworks simulator with processor number0, 我去網(wǎng)上查下原來(lái)是和一個(gè)更新系統(tǒng)沖突,然后我把更新系統(tǒng)卸了,就可以,但是重新啟動(dòng)之后又不行了 請(qǐng)問(wèn)是什么原因… 查看全部問(wèn)答∨ |
學(xué)習(xí)FPGA的人有福了--ALTERA官方視頻教程 注:標(biāo)號(hào)為1的是在線學(xué)習(xí),標(biāo)號(hào)為2的是直接復(fù)制到IE下載教程文件。Altera產(chǎn)品和資源入門(mén)指南 0.5小時(shí) 20100321-------------------------------------------------------------------------------1.http://mysupport.altera.com/etraining/webex/Re ...… 查看全部問(wèn)答∨ |
IGBT的驅(qū)動(dòng)和過(guò)流保護(hù)電路的研究 1 引言 絕緣柵雙極晶體管(Insulated Gate Bipolar Tramistor,IGBT)是MOSFET與GTR的復(fù)合器件,因此,它既具有MOSFET的工作速度快、開(kāi)關(guān)頻率高、輸入阻抗高、驅(qū)動(dòng)電路簡(jiǎn)單、熱溫度性好的優(yōu)點(diǎn),又包含了GTR的載流量大、阻斷電壓高等 ...… 查看全部問(wèn)答∨ |
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦
- 英飛凌微控制器:以全新實(shí)惠套件和強(qiáng)大開(kāi)發(fā)環(huán)境為開(kāi)發(fā)者提供支持
- iTOP-i.MX6開(kāi)發(fā)板設(shè)備數(shù)驅(qū)動(dòng)Menuconfig的用法
- 迅為IMX6ULL開(kāi)發(fā)板Qt for Android搭建開(kāi)發(fā)環(huán)境
- 迅為i.MX8M mini開(kāi)發(fā)板Windots QT系統(tǒng)開(kāi)發(fā)環(huán)境搭建
- 迅為IMX8MM開(kāi)發(fā)板Yocto系統(tǒng)使用Gstarwmra(一)
- 迅為IMX8M mini開(kāi)發(fā)板Linix系統(tǒng)修改默認(rèn)屏幕
- iTOP-4412開(kāi)發(fā)板支持4G以上文件系統(tǒng)擴(kuò)展
- 迅為IMX8MM開(kāi)發(fā)板Yocto系統(tǒng)設(shè)置開(kāi)機(jī)自啟動(dòng)
- 迅為IMX6Q開(kāi)發(fā)板 Buildroot文件系統(tǒng)mqtt測(cè)試
- 高通攜手中國(guó)“汽車朋友圈”亮相2025上海車展: 加速駕駛輔助普惠,推動(dòng)艙駕創(chuàng)新升級(jí)
- 工業(yè)市場(chǎng)正在快速回暖,德州儀器如何重塑電力電子市場(chǎng)?
- 特斯拉:美國(guó)交付的Model Y/3電池包已實(shí)現(xiàn)100%美國(guó)生產(chǎn)
- 地平線與博世深化合作,攜手為多家車企提供輔助駕駛產(chǎn)品
- 強(qiáng)化中國(guó)市場(chǎng)戰(zhàn)略布局,德州儀器正靈活應(yīng)對(duì)全球關(guān)稅挑戰(zhàn)
- Molex莫仕通過(guò)本地合作和創(chuàng)新加強(qiáng)支持中國(guó)汽車行業(yè)
- 貿(mào)澤開(kāi)售Texas Instruments適用于高分辨率AR HUD的 全新DLP4620S-Q1 0.46"汽車數(shù)字微鏡器件
- ROHM推出高功率密度的新型SiC模塊,將實(shí)現(xiàn)車載充電器小型化!
- 用上車規(guī)級(jí)UFS 4.0,讓出行變得高效且可靠
- 車載測(cè)試技術(shù)解析:聚焦高帶寬、多通道同步采集與協(xié)議分析
- 【直播】恩智浦Thread/BLE雙模技術(shù)講座
- 文曄科技有獎(jiǎng)直播:C2000在電機(jī)控制中的應(yīng)用 等你來(lái)看!
- 泰克70周年慶 了解新品 參與掀蓋有禮活動(dòng) 最多可獲得6次抽獎(jiǎng)機(jī)會(huì)
- 【EEWORLD第六屆社區(qū)明星人物】8月明星人物
- 直播已結(jié)束【使用 TI 低成本 MSPM0 MCU 快速開(kāi)發(fā) – 生態(tài)詳解系列之二】(9:45開(kāi)始入場(chǎng))
- 新春尋寶記,泰克送福利!快來(lái)開(kāi)啟你的尋寶之旅~
- 有獎(jiǎng)直播:借助Maxim的模擬技術(shù)優(yōu)化設(shè)計(jì)
- 有獎(jiǎng)評(píng)測(cè):50套來(lái)自恩智浦全新快速物聯(lián)網(wǎng)原型設(shè)計(jì)套件(價(jià)值350元)
- DEYISUPPORT TI 大咖級(jí)工程師在這里,等你來(lái)約!
- 多衛(wèi)星定位縮小誤差值 可補(bǔ)足自駕車精準(zhǔn)需求
- 自帶烤箱和凈水器 這臺(tái)冰箱真是強(qiáng)大了
- 印度家電市場(chǎng)的投資機(jī)遇與挑戰(zhàn)
- 智能LED照明需要?jiǎng)?chuàng)新的管控和調(diào)光
- CCMT2018座談會(huì)的談?wù)摚鹤屛覈?guó)制造業(yè)在世界舞臺(tái)有話語(yǔ)權(quán)
- 利亞德:Micro LED訂單增速超預(yù)期或進(jìn)入大批量市場(chǎng)推廣階段
- 海信的激光電視,調(diào)節(jié)定位不再繁瑣
- 鎧俠開(kāi)發(fā)出170層的NAND閃存產(chǎn)品
- 億緯鋰能回應(yīng)SK與LG終裁結(jié)果:不影響SK和公司合作項(xiàng)目
- 傳三星顯示停止為華為供應(yīng)OLED折疊屏Mate X2屏由京東方獨(dú)供