正點(diǎn)原子探索者STM32F407STM32開發(fā)指南--第一章 實(shí)驗(yàn)平臺(tái)簡(jiǎn)介
本章,主要向大家簡(jiǎn)要介紹我們的實(shí)驗(yàn)平臺(tái):ALIENTEK戰(zhàn)艦STM32開發(fā)板。通過本章的學(xué)習(xí),你將對(duì)我們后面使用的實(shí)驗(yàn)平臺(tái)有個(gè)大概了解,為后面的學(xué)習(xí)做鋪墊。
本文引用地址:http://m.butianyuan.cn/article/272736.htm本章將分為如下兩節(jié):
1.1,ALIENTEK戰(zhàn)艦STM32開發(fā)板資源初探;
1.2,ALIENTEK戰(zhàn)艦STM32開發(fā)板資源說明;
1.1 ALIENTEK戰(zhàn)艦STM32開發(fā)板資源初探
在ALIENTEK 戰(zhàn)艦STM32開發(fā)板之前,ALIENTEK推出過MiniSTM32開發(fā)板,在兩年的時(shí)間里面,售出8000多套,連續(xù)一年多穩(wěn)居淘寶STM32開發(fā)板銷量之首。而這款戰(zhàn)艦STM32開發(fā)板,則是MiniSTM32開發(fā)板的超級(jí)加強(qiáng)版。下面我們開始介紹戰(zhàn)艦STM32開發(fā)板。
ALIENTEK戰(zhàn)艦STM32開發(fā)板的資源圖如圖1.1.1所示:
圖1.1.1 戰(zhàn)艦STM32 開發(fā)板資源圖
從圖1.1.1可以看出,ALIENTEK戰(zhàn)艦STM32開發(fā)板,資源十分豐富,并把STM32F103的內(nèi)部資源發(fā)揮到了極致,基本所有STM32F103的內(nèi)部資源,都可以在此開發(fā)板上驗(yàn)證,同時(shí)擴(kuò)充豐富的接口和功能模塊,整個(gè)開發(fā)板顯得十分大氣。
開發(fā)板的外形尺寸為11.2cm*15.6cm大小,板子的設(shè)計(jì)充分考慮了人性化設(shè)計(jì),并結(jié)合廣大客戶對(duì)Mini板提出的改進(jìn)意見,經(jīng)過反復(fù)修改(在面市之前,硬件就改版了8次之多,目前最新版本為V2.0),最終確了定這樣的設(shè)計(jì)。
ALIENTEK戰(zhàn)艦STM32開發(fā)板板載資源如下:
CPU:STM32F103ZET6,LQFP144,F(xiàn)LASH:512K,SRAM:64K;
外擴(kuò)SRAM:IS62WV51216,1M字節(jié)
外擴(kuò)SPI FLASH:W25Q64,8M字節(jié)
1個(gè)電源指示燈(藍(lán)色)
2個(gè)狀態(tài)指示燈(DS0:紅色,DS1:綠色)
1個(gè)紅外接收頭,并配備一款小巧的紅外遙控器
1個(gè) EEPROM芯片,24C02,容量256字節(jié)
1個(gè)重力加速度傳感器芯片,ADXL345
1個(gè)高性能音頻編解碼芯片,VS1053
1個(gè)FM立體聲收發(fā)芯片,RDA5820
1個(gè)2.4G無線模塊接口(NRF24L01)
1路CAN接口,采用TJA1050芯片
1路485接口,采用SP3485芯片
1路RS232(串口)接口,采用SP3232芯片
1個(gè)PS/2接口,可外接鼠標(biāo)、鍵盤
1個(gè)游戲手柄接口,可以直接插FC(紅白機(jī))游戲手柄
1路數(shù)字溫濕度傳感器接口,支持DS18B20 /DHT11等
1個(gè)標(biāo)準(zhǔn)的2.4/2.8/3.5寸LCD接口,支持觸摸屏
1個(gè)攝像頭模塊接口
2個(gè)OLED模塊接口
1個(gè)USB串口,可用于程序下載和代碼調(diào)試(USMART調(diào)試)
1個(gè)USB SLAVE接口,用于USB通信
1個(gè)有源蜂鳴器
1個(gè)FM收發(fā)天線接口,并配天線
1個(gè)RS232/RS485選擇接口
1個(gè)CAN/USB選擇接口
1個(gè)串口選擇接口
1個(gè)SD卡接口(在板子背面,支持SPI/SDIO)
1個(gè)SD卡/網(wǎng)絡(luò)模塊選擇接口
1個(gè)標(biāo)準(zhǔn)的JTAG/SWD調(diào)試下載口
1個(gè)VS1053的IIS輸出接口
1個(gè)MIC/LINE IN選擇接口
1個(gè)錄音頭(MIC/咪頭)
1路立體聲音頻輸出接口
1路立體聲錄音輸入接口
1組多功能端口(DAC/ADC/PWM DAC/AUDIO IN/TPAD)
1組5V電源供應(yīng)/接入口
1組3.3V電源供應(yīng)/接入口
1個(gè)參考電壓設(shè)置接口
1個(gè)直流電源輸入接口(輸入電壓范圍:6~16V)
1個(gè)啟動(dòng)模式選擇配置接口
1個(gè)RTC后備電池座,并帶電池
1個(gè)復(fù)位按鈕,可用于復(fù)位MCU和LCD
4個(gè)功能按鈕,其中WK_UP兼具喚醒功能
1個(gè)電容觸摸按鍵
1個(gè)電源開關(guān),控制整個(gè)板的電源
獨(dú)創(chuàng)的一鍵下載功能
除晶振占用的IO口外,其余所有IO口全部引出
ALIENTEK戰(zhàn)艦STM32開發(fā)板的特點(diǎn)包括:
1) 接口豐富。板子提供十來種標(biāo)準(zhǔn)接口,可以方便的進(jìn)行各種外設(shè)的實(shí)驗(yàn)和開發(fā)。
2) 設(shè)計(jì)靈活。板上很多資源都可以靈活配置,以滿足不同條件下的使用。我們引出了除晶振占用的IO口外的所有IO口,可以極大的方便大家擴(kuò)展及使用。另外板載一鍵下載功能,可避免頻繁設(shè)置B0、B1的麻煩,僅通過1根USB線即可實(shí)現(xiàn)STM32的開發(fā)。
3) 資源充足。外擴(kuò)1M字節(jié)SRAM和8M字節(jié)FLASH,滿足大內(nèi)存需求和大數(shù)據(jù)存儲(chǔ)。板載MP3和FM收發(fā)芯片,娛樂學(xué)習(xí)兩不誤。板載3D加速度傳感器和各種接口芯片,滿足各種應(yīng)用需求。
4) 人性化設(shè)計(jì)。各個(gè)接口都有絲印標(biāo)注,使用起來一目了然;接口位置設(shè)計(jì)安排合理,方便順手。資源搭配合理,物盡其用。
1.2 ALIENTEK戰(zhàn)艦STM32開發(fā)板資源說明
資源說明部分,我們將分為兩個(gè)部分說明:硬件資源說明和軟件資源說明。
1.2.1硬件資源說明
這里我們首先詳細(xì)介紹戰(zhàn)艦STM32開發(fā)板的各個(gè)部分(圖1.1.1中的標(biāo)注部分)的硬件資源,我們將按逆時(shí)針的順序依次介紹。
W25Q64 64M FALSH
這是開發(fā)板外擴(kuò)的SPI FLASH芯片,容量為64Mbit,也就是8M字節(jié),可用于存儲(chǔ)字庫和其他用戶數(shù)據(jù),滿足大容量數(shù)據(jù)存儲(chǔ)要求。當(dāng)然如果覺得8M字節(jié)還不夠用,你可以把數(shù)據(jù)存放在外部SD卡。
IS62WV51216 8M SRAM
這是開發(fā)板外擴(kuò)的SRAM芯片,容量為8M位,也就是1M字節(jié),這樣,對(duì)大內(nèi)存需求的應(yīng)用(比如GUI),就可以很好的實(shí)現(xiàn)了。
SD卡/網(wǎng)絡(luò)模塊接口選擇接口
這里是一個(gè)由3拍排針(在板上標(biāo)號(hào)[下同]為:P10、P11和P12)組成的復(fù)合接口,當(dāng)不用網(wǎng)絡(luò)模塊的時(shí)候,這個(gè)組合就變成了SD卡的接口選擇接口,可以通過跳線帽選擇SDIO/SPI(我們默認(rèn)是設(shè)置在SPI接口的)。但是,如果需要網(wǎng)絡(luò)模塊(網(wǎng)絡(luò)模塊接P12),那么SD卡就只能用SDIO模式了。
4. 引出IO口
這里是一組54個(gè)IO口的引出(P5),在它的右側(cè)不遠(yuǎn),是另外一組54個(gè)IO口的引出(P4),這兩組排針引出108個(gè)IO,而STM32F103ZET6總共只有112個(gè)IO,除去RTC晶振占用的2個(gè)IO,還剩下PA9和PA10沒有在這里引出(由P6引出)。
CAN/USB選擇接口
這是一個(gè)USB/CAN的選擇接口(P13),因?yàn)镾TM32的USB和CAN是共用一組IO(PA11和PA12),所以我們通過跳線帽來選擇不同的功能,以實(shí)現(xiàn)USB/CAN的實(shí)驗(yàn)。
JTAG/SWD接口
這是ALIENTEK戰(zhàn)艦STM32開發(fā)板板載的20針標(biāo)準(zhǔn)JTAG調(diào)試口(JTAG),該JTAG口直接可以和ULINK、JLINK或者STLINK等調(diào)試器(仿真器)連接,同時(shí)由于STM32支持SWD調(diào)試,這個(gè)JTAG口也可以用SWD模式來連接。
用標(biāo)準(zhǔn)的JTAG調(diào)試,需要占用5個(gè)IO口,有些時(shí)候,可能造成IO口不夠用,而用SWD則只需要2個(gè)IO口,大大節(jié)約了IO數(shù)量,但他們達(dá)到的效果是一樣的,所以我們強(qiáng)烈建議你的仿真器使用SWD模式!
USB串口/串口1
這是USB串口同STM32F103ZET6的串口1進(jìn)行連接的接口(P6),標(biāo)號(hào)RXD和TXD是USB轉(zhuǎn)串口的2個(gè)數(shù)據(jù)口(對(duì)CH340G來說),而PA9(TXD)和PA10(RXD)則是STM32的串口1的兩個(gè)數(shù)據(jù)口(復(fù)用功能下)。他們通過跳線帽對(duì)接,就可以和連接在一起了,從而實(shí)現(xiàn)STM32的程序下載以及串口通信。
設(shè)計(jì)成USB串口,是出于現(xiàn)在電腦上串口正在消失,尤其是筆記本,幾乎清一色的沒有串口。所以板載了USB串口可以方便大家下載代碼和調(diào)試。而在板子上并沒有直接連接在一起,則是出于使用方便的考慮。這樣設(shè)計(jì),你可以把ALIENTEK戰(zhàn)艦STM32開發(fā)板當(dāng)成一個(gè)USB串口,來和其他板子通信,而其他板子的串口,也可以方便地接到ALIENTEK戰(zhàn)艦STM32開發(fā)板上。
STM32F103ZET6
這是開發(fā)板的核心芯片(U5),型號(hào)為:STM32F103ZET6。該芯片具有64KB SRAM、512KB FLASH、2個(gè)基本定時(shí)器、4個(gè)通用定時(shí)器、2個(gè)高級(jí)定時(shí)器、2個(gè)DMA控制器(共12個(gè)通道)、3個(gè)SPI、2個(gè)IIC、5個(gè)串口、1個(gè)USB、1個(gè)CAN、3個(gè)12位ADC、1個(gè)12位DAC、1個(gè)SDIO接口、1個(gè)FSMC接口以及112個(gè)通用IO口。
STM32 USB口
這是開發(fā)板板載的一個(gè)MiniUSB頭(USB),用于STM32與電腦的USB通訊,通過此MiniUSB頭,開發(fā)板就可以和電腦進(jìn)行USB通信了。開發(fā)板總共板載了2個(gè)MiniUSB頭,一個(gè)用于USB轉(zhuǎn)串口,連接CH340G芯片;另外一個(gè)用于STM32內(nèi)帶的USB。
同時(shí)開發(fā)板可以通過此MiniUSB頭供電,板載兩個(gè)MiniUSB頭(不共用),主要是考慮了使用的方便性,以及可以給板子提供更大的電流(兩個(gè)USB都接上)這兩個(gè)因素。
10. 后備電池接口
這是STM32后備區(qū)域的供電接口,可以用來給STM32的后備區(qū)域提供能量,在外部電源斷電的時(shí)候,維持后備區(qū)域數(shù)據(jù)的存儲(chǔ),以及RTC的運(yùn)行。
USB轉(zhuǎn)串口
這是開發(fā)板板載的另外一個(gè)MiniUSB頭(USB_232),用于USB連接CH340G芯片,從而實(shí)現(xiàn)USB轉(zhuǎn)串口。同時(shí),此MiniUSB接頭也是開發(fā)板電源的主要提供口。
OLED/攝像頭模塊接口
這是開發(fā)板板載的一個(gè)OLED/攝像頭模塊接口(P8),如果是OLED模塊,靠左插即可(右邊兩個(gè)孔位懸空)。如果是攝像頭模塊(ALIENTEK提供),則剛好插滿。通過這個(gè)接口,可以分別連接2個(gè)外部模塊,從而實(shí)現(xiàn)相關(guān)實(shí)驗(yàn)。
13. 有源蜂鳴器
這是開發(fā)板的板載蜂鳴器(BEEP),可以實(shí)現(xiàn)簡(jiǎn)單的報(bào)警/鬧鈴。讓開發(fā)板可以聽得見。
14. 紅外接收頭
這是開發(fā)板的紅外接收頭(U14),可以實(shí)現(xiàn)紅外遙控功能,通過這個(gè)接收頭,可以接受市面常見的各種遙控器的紅外信號(hào),大家甚至可以自己實(shí)現(xiàn)萬能紅外解碼。當(dāng)然,如果應(yīng)用得當(dāng),該接收頭也可以用來傳輸數(shù)據(jù)。
戰(zhàn)艦STM32開發(fā)板給大家配備了一個(gè)小巧的紅外遙控器,該遙控器外觀如圖1.2.1.1所示:
圖 1.2.1.1 紅外遙控器
DS18B20/DHT11接口
這是開發(fā)板的一個(gè)復(fù)用接口(U13),該接口由4個(gè)鍍金排孔組成,可以用來接DS18B20/DS1820等數(shù)字溫度傳感器。也可以用來接DHT11這樣的數(shù)字溫濕度傳感器。實(shí)現(xiàn)一個(gè)接口,2個(gè)功能。不用的時(shí)候,大家可以拆下上面的傳感器,放到其他地方去用,使用上是十分方便靈活的。
2個(gè)LED燈
這是開發(fā)板板載的兩個(gè)LED燈(DS0和DS1),DS0是紅色的,DS1是綠色的,主要是方便大家識(shí)別。這里提醒大家不要停留在51跑馬燈的思維,搞這么多燈,除了浪費(fèi)IO口,實(shí)在是想不出其他什么優(yōu)點(diǎn)。
我們一般的應(yīng)用2個(gè)LED足夠了,在調(diào)試代碼的時(shí)候,使用LED來指示程序狀態(tài),是非常不錯(cuò)的一個(gè)輔助調(diào)試方法。戰(zhàn)艦STM32開發(fā)板幾乎每個(gè)實(shí)例都使用了LED來指示程序的運(yùn)行狀態(tài)。
3. 啟動(dòng)選擇端口
這是開發(fā)板板載的啟動(dòng)模式選擇端口(BOOT),STM32有BOOT0(B0)和BOOT1(B1)兩個(gè)啟動(dòng)選擇引腳,用于選擇復(fù)位后STM32的啟動(dòng)模式,作為開發(fā)板,這兩個(gè)是必須的。在開發(fā)板上,我們通過跳線帽選擇STM32的啟動(dòng)模式。關(guān)于啟動(dòng)模式的說明,請(qǐng)看2.1.8小節(jié)。
4. 復(fù)位按鈕
這是開發(fā)板板載的復(fù)位按鍵(RESET),用于復(fù)位STM32,還具有復(fù)位液晶的功能,因?yàn)橐壕K的復(fù)位引腳和STM32的復(fù)位引腳是連接在一起的,當(dāng)按下該鍵的時(shí)候,STM32和液晶一并被復(fù)位。
5. 參考電壓選擇端口
這是STM32的參考電壓選擇端口(P7),我們默認(rèn)是接開發(fā)板的3.3V和GND。如果大家想設(shè)置其他參考電壓,只需要把你的參考電壓源接到REF-和REF+上即可。
WK_UP及3個(gè)普通按鈕
這是開發(fā)板板載的4個(gè)機(jī)械式輸入按鍵(KEY0、KEY1、KEY2和WK_UP),其中WK_UP具有喚醒功能,該按鍵連接到STM32的WAKE_UP(PA0)引腳,可用于待機(jī)模式下的喚醒,在不使用喚醒功能的時(shí)候,也可以做為普通按鍵輸入使用。
其他3個(gè)是普通按鍵,可以用于人機(jī)交互的輸入,這3個(gè)按鍵是直接連接在STM32的IO口上的。這里注意WK_UP是高電平有效,而KEY0、KEY1和KEY2是低電平有效,大家在使用的時(shí)候留意一下。
7. 觸摸按鈕
這是開發(fā)板板載的一個(gè)電容觸摸輸入按鍵(TPAD),用于實(shí)現(xiàn)觸摸按鍵?,F(xiàn)在觸摸按鍵非常流行,所以我們?cè)陂_發(fā)板上也設(shè)計(jì)了一個(gè),咱得跟上時(shí)代的步伐。
8. 電源指示燈
這是開發(fā)板板載的一顆藍(lán)色的LED燈(PWR),用于指示電源狀態(tài)。在電源開啟的時(shí)候(通過板上的電源開關(guān)控制),該燈會(huì)亮,否則不亮。通過這個(gè)LED,可以判斷開發(fā)板的上電情況。
9. 多功能端口
這里大家可別小看這6個(gè)排針,這可是本開發(fā)板設(shè)計(jì)的很巧妙的一個(gè)端口(由P3和P14組成),這組端口通過組合可以實(shí)現(xiàn)的功能有:ADC采集、DAC輸出、PWM DAC輸出、外部音頻輸入、電容觸摸按鍵、DAC音頻、PWM DAC音頻、DAC ADC自測(cè)等,所有這些,你只需要1個(gè)跳線帽的設(shè)置,就可以逐一實(shí)現(xiàn)。
MIC(咪頭)
這是開發(fā)板的板載錄音輸入口(MIC),該咪頭直接接到VS1053的輸入上,可以用來實(shí)現(xiàn)錄音功能。
11. 錄音輸入接口
這 是開發(fā)板板載的外部錄音輸入接口(LINE_IN),通過咪頭我們只能實(shí)現(xiàn)單聲道的錄音,而通過這個(gè)LINE_IN,我們可以實(shí)現(xiàn)立體聲錄音。
MIC選擇口
這是開發(fā)板板載錄音的接入選擇口(P2),如果使用LINE_IN錄音的時(shí)候,我們把P2斷開,以排除來自咪頭的干擾信號(hào),從而可以更好的立體聲錄音。而使用咪頭錄音的時(shí)候,我們短接P2即可。
13. 耳機(jī)輸出接口
這是開發(fā)板板載的音頻輸出接口(PHONE),戰(zhàn)艦STM32開發(fā)板有多個(gè)音頻輸出(VS1053/收音機(jī)/PWM DAC等),通過74HC4052實(shí)現(xiàn)音頻選擇,輸入到TDA1308,再輸出到該音頻輸出口,實(shí)現(xiàn)開發(fā)板的音頻輸出。
VS1053 IIS輸出口
這是VS1053的IIS輸出接口(P1),該接口可以用來連接外部DAC,實(shí)現(xiàn)更好的音質(zhì)輸出。其實(shí)我覺得VS1053本身的音頻DAC已經(jīng)很好了。這個(gè)接口適合發(fā)燒友使用。
5V電源輸入/輸出
這是開發(fā)板板載的一組5V電源輸入輸出排針(2*3)(VOUT2),用于給外部提供5V的電源,也可以用于從外部取5V的電源給板子供電。
大家在實(shí)驗(yàn)的時(shí)候可能經(jīng)常會(huì)為沒有5V電源而苦惱不已,有了ALIENTEK戰(zhàn)艦STM32開發(fā)板,你就可以很方便的擁有一個(gè)簡(jiǎn)單的5V電源(最大電流不能超過500ma)。
3.3V電源輸入/輸出
這是開發(fā)板板載的一組3.3V電源輸入輸出排針(2*3)(VOUT1),該排針用于給外部提供3.3V的電源,也可以用于從外部取3.3V的電源給板子供電。
同樣大家在實(shí)驗(yàn)的時(shí)候可能經(jīng)常會(huì)為沒有3.3V電源而苦惱不已,ALIENTEK充分考慮到了大家需求,有了這組3.3V排針,你就可以很方便的擁有一個(gè)簡(jiǎn)單的3.3V電源(最大電流不能超過500ma)。
ADXL345加速度傳感器
這是開發(fā)板板載的一個(gè)3軸加速度傳感器(U11),ADXL345分辨率高(13位),測(cè)量范圍大(±16g),可以通過SPI/IIC訪問,戰(zhàn)艦開發(fā)板采用IIC訪問它。有了這個(gè),大家就可以實(shí)現(xiàn)一些比較有意思的應(yīng)用(比如測(cè)量?jī)A角等)
18. 電源開關(guān)
這是開發(fā)板板載的電源開關(guān)(K1)。該開關(guān)用于控制整個(gè)開發(fā)板的供電,如果切斷,則整個(gè)開發(fā)板都將斷電,電源指示燈(PWR)會(huì)隨著此開關(guān)的狀態(tài)而亮滅。
DC6~16V電源輸入
這是開發(fā)板板載的一個(gè)外部電源輸入口(DC_IN),采用標(biāo)準(zhǔn)的直流電源插座。開發(fā)板板載了DC-DC芯片(MP2359),用于給開發(fā)板提供高效、穩(wěn)定的5V電源。由于采用了DC-DC芯片,所以開發(fā)板的供電范圍十分寬,大家可以很方便的找到合適的的電源(只要輸出范圍在DC6~16V的基本都可以)來給開發(fā)板供電。特別注意:如果你使用的是戰(zhàn)艦V2.0以前的版本,輸入電壓建議不要超過9V!切記不能超過12V!戰(zhàn)艦V2.0及以后的版本才支持DC6~16V的寬輸入范圍。
FM收發(fā)天線接口
這個(gè)是開發(fā)板板載FM收發(fā)芯片的天線接口(ANT),同時(shí)我們安裝有天線在這個(gè)上面。通過這個(gè)天線,可以很好的實(shí)現(xiàn)FM收音和FM發(fā)射。
RS485總線接口
這是開發(fā)板板載的RS485總線接口(RS485),通過3個(gè)端口和外部485設(shè)備連接。一 般情況下,只需要連接2個(gè)端口即可,即A和B,并不需要連接GND。這里提醒大家,RS485通信的時(shí)候,必須A接A,B接B。否則可能通信不正常!
RS232/485選擇接口
這是開發(fā)板板載的RS232/485選擇接口(P9),因?yàn)镽S485基本上就是一個(gè)半雙工的串口,為了節(jié)約IO,我們把RS232和RS485共用一個(gè)串口,通過P9來設(shè)置當(dāng)前是使用RS232還是RS485。當(dāng)然,這樣的設(shè)計(jì)還有一個(gè)好處。就是我們的開發(fā)板既可以充當(dāng)RS232到TTL串口的轉(zhuǎn)換,又可以充當(dāng)RS485到TTL485的轉(zhuǎn)換。(注意,這里的TTL高電平是3.3V)
RS232接口
這是開發(fā)板板載的RS232接口(COM),通過一個(gè)標(biāo)準(zhǔn)的DB9母頭和外部的串口連接。通過這個(gè)接口,我們可以連接帶有串口的電腦或者其他設(shè)備,實(shí)現(xiàn)串口通信。
24C02 EEPROM
這是開發(fā)板板載的EEPROM芯片(U15),容量為2Kb,也就是256字節(jié)。用于存儲(chǔ)一些掉電不能丟失的重要數(shù)據(jù),比如系統(tǒng)設(shè)置的一些參數(shù)/觸摸屏校準(zhǔn)數(shù)據(jù)等。有了這個(gè)就可以方便的實(shí)現(xiàn)掉電數(shù)據(jù)保存。
PS/2鼠標(biāo)/鍵盤接口
這是開發(fā)板板載的一個(gè)標(biāo)準(zhǔn)PS/2母頭(PS/2),用于連接電腦鼠標(biāo)和鍵盤等PS/2設(shè)備。
通過PS/2口,我們僅僅需要2個(gè)IO口,就可以擴(kuò)展一個(gè)鍵盤,所以大家不必要對(duì)板上只有4個(gè)按鍵而感到擔(dān)憂。ALIENTEK提供了標(biāo)準(zhǔn)的鼠標(biāo)驅(qū)動(dòng)例程,方便大家學(xué)習(xí)PS/2協(xié)議。
26. 游戲手柄接口
這是開發(fā)板板載的一個(gè)9針游戲手柄接口(JOY_PAD),可以用來連接FC手柄(紅白機(jī)/小霸王游戲機(jī)手柄),這樣大家可以在開發(fā)板上編寫游戲程序,直接通過手柄玩游戲了。我們的綜合實(shí)驗(yàn)提供有一個(gè)簡(jiǎn)單的NES模擬器,大家可以直接從網(wǎng)上下載nes游戲,放到開發(fā)板上玩。
LCD/OLED模塊接口
這是戰(zhàn)艦STM32開發(fā)板的又一個(gè)特色設(shè)計(jì),一個(gè)接口,兼容多種模塊。如果是OLED模塊,請(qǐng)靠左側(cè)插。如果是LCD模塊,則靠右側(cè)插。OLED模塊支持ALIENTEK的單色/雙色OLED模塊。LCD模塊則支持ALIENTEK的2.4/2.8/3.5寸LCD模塊,并且支持觸摸屏功能。
CAN總線接口
這是開發(fā)板板載的CAN總線接口(CAN),通過3個(gè)端口和外部CAN總線連接。一般情況下,只需要連接2個(gè)端口即可,即CANH和CANL,并不需要連接GND。這里提醒大家,CAN通信的時(shí)候,必須CANH接CANH,CANL接CANL。否則可能通信不正常!
NRF24L01模塊接口
這是開發(fā)板板載的NRF24L01模塊接口(U7),只要插入模塊,我們便可以實(shí)現(xiàn)無線通信,從而使得我們板子具備了無線功能,但是這里需要2個(gè)模塊和2個(gè)開發(fā)板同時(shí)工作才可以。如果只有1個(gè)開發(fā)板或1個(gè)模塊,是沒法實(shí)現(xiàn)無線通信的。
1.2.2軟件資源說明
上面我們?cè)敿?xì)介紹了ALIENTEK戰(zhàn)艦STM32開發(fā)板的硬件資源。接下來,我們將向大家簡(jiǎn)要介紹一下戰(zhàn)艦STM32開發(fā)板的軟件資源。
戰(zhàn)艦STM32開發(fā)板提供的標(biāo)準(zhǔn)例程多達(dá)57個(gè),一般的STM32開發(fā)板僅提供庫函數(shù)代碼,而我們則提供寄存器和庫函數(shù)兩個(gè)版本的代碼(本指南以寄存器版本作為介紹)。我們提供的這些例程,基本都是原創(chuàng),擁有非常詳細(xì)的注釋,代碼風(fēng)格統(tǒng)一、循序漸進(jìn),非常適合初學(xué)者入門。而其他開發(fā)板的例程,大都是來自ST庫函數(shù)的直接修改,注釋也比較少,對(duì)初學(xué)者來說不那么容易入門。
戰(zhàn)艦STM32開發(fā)板的例程列表如表1.2.2.1所示:
表1.2.2.1 ALIENTEK戰(zhàn)艦STM32開發(fā)板例程表
從上表可以看出,ALIENTEK戰(zhàn)艦STM32開發(fā)板的例程基本上涵蓋了STM32F103ZET6的所有內(nèi)部資源,并且外擴(kuò)展了很多有價(jià)值的例程,比如:FLASH模擬EEPROM實(shí)驗(yàn)、IAP實(shí)驗(yàn)、拼音輸入法實(shí)驗(yàn)、手寫識(shí)別實(shí)驗(yàn)、綜合實(shí)驗(yàn)等。
而且從上表可以看出,例程安排是循序漸進(jìn)的,首先從最基礎(chǔ)的跑馬燈開始,然后一步步深入,從簡(jiǎn)單到復(fù)雜,有利于大家的學(xué)習(xí)和掌握。所以,ALIENTEK戰(zhàn)艦STM32開發(fā)板是非常適合初學(xué)者的。當(dāng)然,對(duì)于想深入了解STM32內(nèi)部資源的朋友,ALIENTEK戰(zhàn)艦STM32開發(fā)板也絕對(duì)是一個(gè)不錯(cuò)的選擇。
這里特別說明一下戰(zhàn)艦系統(tǒng)綜合實(shí)驗(yàn),這個(gè)實(shí)驗(yàn)使得ALIENTEK戰(zhàn)艦STM32開發(fā)板更像一個(gè)產(chǎn)品,而不單單是一個(gè)開發(fā)板了,它擁有目前市面上所有開發(fā)板中最復(fù)雜,最強(qiáng)大的功能,可玩性極高,它的實(shí)現(xiàn),充分向大家展示了ALIENTEK戰(zhàn)艦開發(fā)板的優(yōu)勢(shì),同時(shí)也證明了STM32的強(qiáng)悍性能。解決了一部分人,STM32能干啥的顧慮。
紅外遙控器相關(guān)文章:紅外遙控器原理萬能遙控器相關(guān)文章:萬能遙控器代碼
c語言相關(guān)文章:c語言教程
蜂鳴器相關(guān)文章:蜂鳴器原理 晶振相關(guān)文章:晶振原理 攝像頭相關(guān)文章:攝像頭原理 土壤濕度傳感器相關(guān)文章:土壤濕度傳感器原理
評(píng)論