什么是上拉電阻?按鍵的上拉電阻為什么是10k歐姆?
答:上拉電阻就是將一個不確定的信號,通過一個電阻和電源VCC相連,固定在高電平。
作用:
1)增加輸出引腳的驅(qū)動能力(其實就是增加當(dāng)前導(dǎo)線的電流);
2)防止引腳懸空,否則會產(chǎn)生積累電荷(靜電),影響電路穩(wěn)定性;
3)特別是按鍵的時候,引腳電平不定的時候,給它一個確定的電平。
至于為什么是10k?因為電阻越小,功耗越大,電阻越大,芯片引腳識別不了,10k的話是大多數(shù)智能設(shè)備芯片所能識別到的,這是個折中的方案。
二、庫函數(shù)
st公司為了編程方便,為coder們,封裝了一套庫函數(shù),并給出了官方模板。自行百度,網(wǎng)上有很多這種資源,stm32f4xx_dsp_stdperiph_lib_um.chm
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //第0根引腳
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; //設(shè)置輸入模式[重點修改]
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; //設(shè)置IO的速度為100MHz
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; //不需要上拉電阻
GPIO_Init(GPIOF, &GPIO_InitStructure);
使用按鍵控制燈的亮與滅!例如按鍵0按下,LED0亮,松開則滅。其他按鍵如此類推
int main(void)
{
/* 使能GPIOA GPIOF端口工作,讓GPIOA GPIOF設(shè)備時鐘使能(上電) */
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA|RCC_AHB1Periph_GPIOF, ENABLE);
/* 讓PF9引腳設(shè)置為輸出模式 */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //GPIO哪一根引腳,當(dāng)前是使用第9號引腳
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; //設(shè)置PF9引腳為輸出模式,具有輸出高電平或低電平的功能
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //推挽輸出,讓PF9引腳輸出的電流更大[可選]
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; //PF9引腳工作的速度為100MHz,當(dāng)前的頻率可以是2MHz/25MHz/50MHz/100MHz,頻率越高,對應(yīng)的功耗就越高
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; //不需要上下拉電阻,如果發(fā)現(xiàn)PF9引腳需要更大的輸出電流,可以使用上拉電阻,設(shè)置為GPIO_PuPd_UP,對應(yīng)的功耗就越高
GPIO_Init(GPIOF, &GPIO_InitStructure);
//熄滅PF9引腳連接的LED燈
GPIO_SetBits(GPIOF,GPIO_Pin_9);
/* 讓PA0引腳設(shè)置為輸入模式 */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //GPIO哪一根引腳,當(dāng)前是使用第0號引腳
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; //設(shè)置PA0引腳為輸入模式,具有檢測引腳高電平或低電平的功能
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; //PA0引腳工作的速度為100MHz,當(dāng)前的頻率可以是2MHz/25MHz/50MHz/100MHz,頻率越高,對應(yīng)的功耗就越高
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; //不需要上下拉電阻,如果發(fā)現(xiàn)PF9引腳需要更大的輸出電流,可以使用上拉電阻,設(shè)置為GPIO_PuPd_UP,對應(yīng)的功耗就越高
GPIO_Init(GPIOA, &GPIO_InitStructure);
while(1)
{
//檢測KEY0是否有按下,若有按下,則檢測到低電平;若沒有按下,則檢測到高電平
if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)==0)
{
//點燈,PF9引腳為低電平
GPIO_ResetBits(GPIOF,GPIO_Pin_9);
//延時,燈亮一會兒
delay();
//滅燈,PF9引腳為高電平
GPIO_SetBits(GPIOF,GPIO_Pin_9);
//延時,燈滅一會兒
delay();
}
}
return 0;
}
輸入模式可以不用配置速度,但是輸出模式必須確定最大輸出頻率。
當(dāng)STM32的GPIO端口設(shè)置為輸出模式時,有三種速度可以選擇:2MHz、10MHz和50MHz,這個速度是指I/O口驅(qū)動電路的速度,是用來選擇不同的輸出驅(qū)動模塊,達(dá)到最佳的噪聲控制和降低功耗的目的。
高頻的驅(qū)動電路,噪聲也高,當(dāng)你不需要高的輸出頻率時,請選用低頻驅(qū)動電路,這樣非常有利于提高系統(tǒng)的EMI性能。
注意:GPIO的引腳速度是指I/O口驅(qū)動電路的響應(yīng)速度而不是輸出信號的速度,輸出信號的速度與你的程序有關(guān)。
三、時鐘體系
1、參考手冊 STM32F4xx中文參考手冊.pdf 第106頁
2、時鐘源
a.可以使用三種不同的時鐘源來驅(qū)動系統(tǒng)時鐘 (SYSCLK),CPU運行的額定頻率為168MHz:
● HSI 振蕩器時鐘,也就是高速內(nèi)部時鐘,一般來說很少用,因為精度沒有外部高速時鐘那么高。
● HSE 振蕩器時鐘,也就是高速外部時鐘,我用的M4開發(fā)板為8MHz。
● 主 PLL (PLL) 時鐘
b.器件具有以下兩個次級時鐘源:
● 32 kHz 低速內(nèi)部 RC (LSI RC震蕩電路),該 RC 用于驅(qū)動獨立看門狗,也可選擇提供給 RTC 用于停機/待機模式下的自動喚醒。
● 32.768 kHz 低速外部晶振(LSE 晶振),用于驅(qū)動 RTC 時鐘 (RTCCLK)對于每個時鐘源來說,在未使用時都可單獨打開或者關(guān)閉,以降低功耗。
上一篇:STM32按鍵程序
下一篇:stm32按鍵 長按 短按 函數(shù)
推薦閱讀
史海拾趣
EHC公司自創(chuàng)立之初就專注于電子硬件的技術(shù)創(chuàng)新。在競爭激烈的電子市場中,EHC公司憑借其獨特的設(shè)計理念和先進的生產(chǎn)工藝,成功推出了一系列高性能、高可靠性的電子產(chǎn)品。這些產(chǎn)品不僅滿足了消費者對高品質(zhì)電子產(chǎn)品的需求,也為EHC公司贏得了良好的市場口碑。隨著技術(shù)的不斷進步,EHC公司不斷推出創(chuàng)新產(chǎn)品,逐步鞏固了其在行業(yè)中的領(lǐng)先地位。
德爾創(chuàng)(Dersonic)公司成立于XXXX年,由一群電子工程領(lǐng)域的專家共同創(chuàng)立。成立之初,公司面臨著資金緊張、市場競爭激烈等挑戰(zhàn)。然而,他們憑借對電子技術(shù)的深刻理解和對市場的敏銳洞察,決定專注于研發(fā)和生產(chǎn)高品質(zhì)的電子元器件。通過不斷的研發(fā)和創(chuàng)新,德爾創(chuàng)成功推出了其首款具有競爭力的產(chǎn)品,并在市場上獲得了初步認(rèn)可。
隨著智能家居和物聯(lián)網(wǎng)技術(shù)的興起,EiKO開始積極探索智能照明系統(tǒng)的研發(fā)與應(yīng)用。公司投入大量研發(fā)資源,將傳統(tǒng)照明產(chǎn)品與智能控制技術(shù)相結(jié)合,推出了具有遠(yuǎn)程控制、定時開關(guān)、色溫調(diào)節(jié)等功能的智能照明系統(tǒng)。
這些智能照明系統(tǒng)不僅提高了用戶的使用體驗,還為用戶帶來了更加便捷和智能的生活方式。例如,用戶可以通過手機APP遠(yuǎn)程控制家中的照明設(shè)備,實現(xiàn)定時開關(guān)和色溫調(diào)節(jié)等功能;同時,智能照明系統(tǒng)還可以與智能家居系統(tǒng)相連接,實現(xiàn)與其他智能設(shè)備的聯(lián)動控制。
近年來,隨著汽車電子、物聯(lián)網(wǎng)等應(yīng)用領(lǐng)域的快速發(fā)展,Cypress也制定了新的發(fā)展戰(zhàn)略。公司將以MCU+存儲+USB為核心產(chǎn)品,為汽車電子、物聯(lián)網(wǎng)等應(yīng)用領(lǐng)域提供完整的嵌入式系統(tǒng)解決方案。為了實現(xiàn)這一目標(biāo),Cypress將繼續(xù)加大研發(fā)投入,推動技術(shù)創(chuàng)新和產(chǎn)品升級。同時,公司還將加強與國際合作伙伴的合作,共同開拓新的市場和應(yīng)用領(lǐng)域。
在環(huán)保日益受到重視的今天,BCD Semi公司積極響應(yīng)國家環(huán)保政策,將環(huán)保理念融入公司的生產(chǎn)和經(jīng)營中。公司采用環(huán)保材料和工藝,減少生產(chǎn)過程中的污染排放,提高資源利用效率。同時,BCD Semi還加強了對員工的環(huán)保培訓(xùn)和教育,提高員工的環(huán)保意識,共同推動公司的可持續(xù)發(fā)展。
隨著全球化趨勢的加強,Anderson Electronics Inc公司開始尋求國際合作,與國外知名電子企業(yè)開展技術(shù)交流和合作研發(fā)。通過與國際先進技術(shù)的融合和創(chuàng)新,公司成功開發(fā)出了一系列具有國際競爭力的新產(chǎn)品。這些產(chǎn)品不僅在國內(nèi)市場取得了成功,還遠(yuǎn)銷海外,為公司帶來了可觀的利潤和更廣闊的發(fā)展空間。
摘要:介紹了一種基于DSP的程控交流電源。該交流電源不僅能夠輸出頻率幅值,可變的正弦電壓,而且能夠輸出周期性畸變電壓。電源系統(tǒng)采用數(shù)模混合控制,數(shù)字部分實現(xiàn)高精度的波形發(fā)生器和電壓有效值控制;模擬部分完成電壓電流瞬時值控制。最后給出 ...… 查看全部問答∨ |
[原創(chuàng)]嵌入式顯示芯片的現(xiàn)狀分析 在嵌入式產(chǎn)品發(fā)展的初期,由單片機,F(xiàn)PGA構(gòu)成的簡單控制電路多應(yīng)用于工業(yè)設(shè)備的監(jiān)測控制,數(shù)據(jù)的采集,其人機界面也相對簡單,多為數(shù)碼管,單色LCD屏幕等,用于顯示重要的數(shù)據(jù)。但是嵌入式系統(tǒng)發(fā)展到今天,已經(jīng)擁有高性能的CPU,豐富的外設(shè)接口,可 ...… 查看全部問答∨ |
問題: 我的PCB中有很多封裝0805的貼片電阻,電容,是應(yīng)該 貼在BOTTOMLAYER的,后來發(fā)現(xiàn)那個下層貼片的標(biāo)號在上層還是能看到,我就把標(biāo)號全都改成了Bottomoverlayer的,結(jié)果發(fā)現(xiàn)在底層也看不到標(biāo)號了,想恢復(fù)都不知道點什么了,我暈了,干了一天的活不 ...… 查看全部問答∨ |
看了leang521的一個話,有些感觸, 你認(rèn)為的最好設(shè)計對于某些人可能是最差設(shè)計。并行IO并不能達(dá)到IO最優(yōu)化,而且還會產(chǎn)生諸如多復(fù)合鍵問題。而對于一些成本敏感設(shè)計,多個IO可能導(dǎo)致全部設(shè)計失敗。所以最合適的才是最好的。 你有沒有認(rèn)為的最好 ...… 查看全部問答∨ |
跪求wince 中無線網(wǎng)卡驅(qū)動的加載??? 各位大俠你們好,小弟剛接觸wince ,現(xiàn)手頭有一塊三星的2410的開發(fā)板,還有一個usb的無線網(wǎng)卡驅(qū)動,附帶wince下的驅(qū)動----DLL的形式的 大體步驟我先說一下(用的是platform builder 5.0) 1.先編譯一個工程 2.在project.bib中各段分別添加如下 ...… 查看全部問答∨ |
怎么編寫 同一個接口上 的 多個設(shè)備驅(qū)動? 請教大家一個問題,請大家?guī)蛶兔Α? 我在使用的是WINCE5.0,硬件上只有一個I2C接口,掛接了4個設(shè)備(I2C支持很多個從設(shè)備)。 其中包括一個電源管理芯片,一個IO擴展,一個A/D轉(zhuǎn)換,還有一個EEPROM。 ...… 查看全部問答∨ |
太棒了!c8051f單片機也可以和nxp,sst等單片機一樣串口編程!原理卻很不一樣! c8051f單片機可以用IAP(在應(yīng)用編程)方式進行代碼多次編程,通常采用RS232串口方式,可靠穩(wěn)定! 只需要一塊目標(biāo)板,可以不要仿真器和編程器,能節(jié)省不少成本!值得推廣采用! http://c8051fmcu.blog.sohu.com… 查看全部問答∨ |
手頭有塊atmega128的開發(fā)板,具備一些常見的開發(fā)板功能,如LED,數(shù)碼管,峰鳴器,AD之類的,這塊板子本身自帶的下載程序接口是串口(RS232)的,所用的燒寫軟件是avr studio,燒寫方式是STK-500。 現(xiàn)在準(zhǔn)備自制一個US ...… 查看全部問答∨ |
協(xié)同效果最佳的合并-MicroSemi收購Actel XILINX的朋友三點打來電話說,十天前,半導(dǎo)體產(chǎn)業(yè)再次傳出并購案,動力管理半導(dǎo)體生產(chǎn)商MicroSemi以大約4.3億美元的價格收購Actel。這件案子在發(fā)生之前,產(chǎn)業(yè)界似乎是一點動靜也沒有,至少在中國大陸,是完全沒有風(fēng)聲傳出的,可見得雙方在這件事的 ...… 查看全部問答∨ |
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦
- 英飛凌微控制器:以全新實惠套件和強大開發(fā)環(huán)境為開發(fā)者提供支持
- iTOP-i.MX6開發(fā)板設(shè)備數(shù)驅(qū)動Menuconfig的用法
- 迅為IMX6ULL開發(fā)板Qt for Android搭建開發(fā)環(huán)境
- 迅為i.MX8M mini開發(fā)板Windots QT系統(tǒng)開發(fā)環(huán)境搭建
- 迅為IMX8MM開發(fā)板Yocto系統(tǒng)使用Gstarwmra(一)
- 迅為IMX8M mini開發(fā)板Linix系統(tǒng)修改默認(rèn)屏幕
- iTOP-4412開發(fā)板支持4G以上文件系統(tǒng)擴展
- 迅為IMX8MM開發(fā)板Yocto系統(tǒng)設(shè)置開機自啟動
- 迅為IMX6Q開發(fā)板 Buildroot文件系統(tǒng)mqtt測試
- 精準(zhǔn)適配,輕裝全能!芯馳發(fā)布E3系列高端智控MCU三大應(yīng)用場景
- 場景定義、精準(zhǔn)創(chuàng)「芯」,芯馳全新發(fā)布AI座艙處理器和高端智控系列
- Arm 技術(shù)加持,地平線以 HSD 及征程 6P 推動汽車智能化變革
- 華為自動駕駛技術(shù)解讀
- 加速電動化轉(zhuǎn)型,邦迪汽車系統(tǒng)攜多款創(chuàng)新產(chǎn)品首秀2025上海車展
- 數(shù)據(jù)中心面臨電力約束挑戰(zhàn),推動GenAI終端發(fā)展
- 博泰車聯(lián)網(wǎng)與高通深化合作,基于驍龍座艙平臺至尊版打造新一代智能座艙解決方案
- 凌華智能與Elma強強聯(lián)手為軌道交通及關(guān)鍵任務(wù)應(yīng)用提供高可靠加固系統(tǒng)解決方案
- 何為接近開關(guān)?如何調(diào)試接近開關(guān)
- 具身智能浪潮反思:中國制造業(yè)需要什么樣的協(xié)作機器人?
- TI 高精度實驗室信號鏈精品課大作戰(zhàn)——你學(xué)習(xí)我送禮!
- 有獎直播|TI Sitara™ 產(chǎn)品在智能電網(wǎng)中的應(yīng)用
- 參與e絡(luò)盟與 TE 傳感器的問卷活動,贏50元亞馬遜購物券!
- Nexperia ESD 應(yīng)用手冊|讀 ESD 干貨答題贏好禮
- 西門子精彩視頻限時免費|利用電子產(chǎn)品生命周期管理 (PLM) 更快地交付更多產(chǎn)品
- 有獎直播|解鎖汽車電子黑科技 開創(chuàng)未來駕乘新境界
- 【Molex莫仕工業(yè)通訊與安全解決方案】
- 【ST板卡來了(下)】 品讀STM32實戰(zhàn)經(jīng)驗,汲取FAE經(jīng)驗闖關(guān)去抽獎
- 芯片在汽車工業(yè)和“中國制造2025”的核心地位
- 中國科研專家圓桌會:為什么我們造不出美國人那樣的芯片
- 5G爭奪白熱化 中國在全球領(lǐng)域擁有多個優(yōu)勢
- 兆易GD32 MCU再度包攬2018年中國IC設(shè)計成就獎多項大獎
- 合肥新聞報道君正:比“芯”,合肥不慫!
- 特斯拉再次升級Autopilot 新增相鄰車道車速調(diào)整功能
- BrainChip將展示手勢識別技術(shù) 可用于ADAS/自動駕駛汽車等
- 解決混合動力汽車電動汽車中的高壓電流感應(yīng)設(shè)計難題
- 打車革命十年之后,Uber 們?nèi)绾卧俅稳〉米晕彝黄疲?/a>
- 李斌:電池可充可換可升級,全世界只有我們