您的位置 首页 报告

正点原子探索者STM32F407STM32开发攻略–第一章 试验渠道简介

本章,主要向大家简要介绍我们的实验平台:ALIENTEK战舰STM32开发板。通过本章的学习,你将对我们后面使用的实验平台有个大概了解,为后面的学习做铺垫。本章将分为如下两节:1.

  本章,首要向咱们扼要介绍咱们的试验渠道:ALIENTEK战舰STM32开发板。经过本章的学习,你将对咱们后边运用的试验渠道有个大约了解,为后边的学习做衬托。

  本章将分为如下两节:

  1.1,ALIENTEK战舰STM32开发板资源初探;

  1.2,ALIENTEK战舰STM32开发板资源阐明;

  1.1 ALIENTEK战舰STM32开发板资源初探

  在ALIENTEK 战舰STM32开发板之前,ALIENTEK推出过MiniSTM32开发板,在两年的时刻里边,售出8000多套,接连一年多稳居淘宝STM32开发板销量之首。而这款战舰STM32开发板,则是MiniSTM32开发板的超级加强版。下面咱们开端介绍战舰STM32开发板。

  ALIENTEK战舰STM32开发板的资源图如图1.1.1所示:

  

图1.1.1.jpg

 

  图1.1.1 战舰STM32 开发板资源图

  从图1.1.1能够看出,ALIENTEK战舰STM32开发板,资源十分丰厚,并把STM32F103的内部资源发挥到了极致,根本一切STM32F103的内部资源,都能够在此开发板上验证,一起扩大丰厚的接口和功用模块,整个开发板显得十分大气。

  开发板的外形尺寸为11.2cm*15.6cm巨细,板子的规划充沛考虑了人性化规划,并结合广大客户对Mini板提出的改善定见,经过重复修正(在面市之前,硬件就改版了8次之多,现在最新版别为V2.0),终究确了定这样的规划。

  ALIENTEK战舰STM32开发板板载资源如下:

  CPU:STM32F103ZET6,LQFP144,FLASH:512K,SRAM:64K;

  外扩SRAM:IS62WV51216,1M字节

  外扩SPI FLASH:W25Q64,8M字节

  1个电源指示灯(蓝色)

  2个状况指示灯(DS0:赤色,DS1:绿色)

  1个红外接纳头,并装备一款细巧的红外遥控器

  1个 EEPROM芯片,24C02,容量256字节

  1个重力加速度传感器芯片,ADXL345

  1个高功能音频编解码芯片,VS1053

  1个FM立体声收发芯片,RDA5820

  1个2.4G无线模块接口(NRF24L01)

  1路CAN接口,选用TJA1050芯片

  1路485接口,选用SP3485芯片

  1路RS232(串口)接口,选用SP3232芯片

  1个PS/2接口,可外接鼠标、键盘

  1个游戏手柄接口,能够直接插FC(红白机)游戏手柄

  1路数字温湿度传感器接口,支撑DS18B20 /DHT11等

  1个规范的2.4/2.8/3.5寸LCD接口,支撑接触屏

  1个摄像头模块接口

  2个OLED模块接口

  1个USB串口,可用于程序下载和代码调试(USMART调试)

  1个USB SLAVE接口,用于USB通讯

  1个有源蜂鸣器

  1个FM收发天线接口,并配天线

  1个RS232/RS485挑选接口

  1个CAN/USB挑选接口

  1个串口挑选接口

  1个SD卡接口(在板子反面,支撑SPI/SDIO)

  1个SD卡/网络模块挑选接口

  1个规范的JTAG/SWD调试下载口

  1个VS1053的IIS输出接口

  1个MIC/LINE IN挑选接口

  1个录音头(MIC/咪头)

  1路立体声音频输出接口

  1路立体声录音输入接口

  1组多功用端口(DAC/ADC/PWM DAC/AUDIO IN/TPAD)

  1组5V电源供给/接进口

  1组3.3V电源供给/接进口

  1个参阅电压设置接口

  1个直流电源输入接口(输入电压规模:6~16V)

  1个发动形式挑选装备接口

  1个RTC后备电池座,并带电池

  1个复位按钮,可用于复位MCU和LCD

  4个功用按钮,其间WK_UP兼具唤醒功用

  1个电容接触按键

  1个电源开关,操控整个板的电源

  首创的一键下载功用

  除晶振占用的IO口外,其他一切IO口悉数引出

  ALIENTEK战舰STM32开发板的特征包含:

  1) 接口丰厚。板子供给十来种规范接口,能够便利的进行各种外设的试验和开发。

  2) 规划灵敏。板上许多资源都能够灵敏装备,以满意不同条件下的运用。咱们引出了除晶振占用的IO口外的一切IO口,能够极大的便利咱们扩展及运用。别的板载一键下载功用,可防止频频设置B0、B1的费事,仅经过1根USB线即可完成STM32的开发。

  3) 资源足够。外扩1M字节SRAM和8M字节FLASH,满意大内存需求和大数据存储。板载MP3和FM收发芯片,文娱学习两不误。板载3D加速度传感器和各种接口芯片,满意各种运用需求。

  4) 人性化规划。各个接口都有丝印标示,运用起来一望而知;接口方位规划组织合理,便利随手。资源调配合理,物尽其用。

  1.2 ALIENTEK战舰STM32开发板资源阐明

  资源阐明部分,咱们将分为两个部分阐明:硬件资源阐明和软件资源阐明。

  1.2.1硬件资源阐明

  这儿咱们首要具体介绍战舰STM32开发板的各个部分(图1.1.1中的标示部分)的硬件资源,咱们将按逆时针的次序顺次介绍。

  W25Q64 64M FALSH

  这是开发板外扩的SPI FLASH芯片,容量为64Mbit,也便是8M字节,可用于存储字库和其他用户数据,满意大容量数据存储要求。当然假如觉得8M字节还不够用,你能够把数据存放在外部SD卡。

  IS62WV51216 8M SRAM

  这是开发板外扩的SRAM芯片,容量为8M位,也便是1M字节,这样,对大内存需求的运用(比方GUI),就能够很好的完成了。

  SD卡/网络模块接口挑选接口

  这儿是一个由3拍排针(在板上标号[下同]为:P10、P11和P12)组成的复合接口,当不用网络模块的时分,这个组合就变成了SD卡的接口挑选接口,能够经过跳线帽挑选SDIO/SPI(咱们默许是设置在SPI接口的)。可是,假如需求网络模块(网络模块接P12),那么SD卡就只能用SDIO形式了。

  4. 引出IO口

  这儿是一组54个IO口的引出(P5),在它的右侧不远,是别的一组54个IO口的引出(P4),这两组排针引出108个IO,而STM32F103ZET6一共只需112个IO,除掉RTC晶振占用的2个IO,还剩余PA9和PA10没有在这儿引出(由P6引出)。

  CAN/USB挑选接口

  这是一个USB/CAN的挑选接口(P13),由于STM32的USB和CAN是共用一组IO(PA11和PA12),所以咱们经过跳线帽来挑选不同的功用,以完成USB/CAN的试验。

  JTAG/SWD接口

  这是ALIENTEK战舰STM32开发板板载的20针规范JTAG调试口(JTAG),该JTAG口直接能够和ULINK、JLINK或许STLINK等调试器(仿真器)衔接,一起由于STM32支撑SWD调试,这个JTAG口也能够用SWD形式来衔接。

  用规范的JTAG调试,需求占用5个IO口,有些时分,或许形成IO口不够用,而用SWD则只需求2个IO口,大大节省了IO数量,但他们到达的作用是相同的,所以咱们强烈主张你的仿真器运用SWD形式!

  USB串口/串口1

  这是USB串口同STM32F103ZET6的串口1进行衔接的接口(P6),标号RXD和TXD是USB转串口的2个数据口(对CH340G来说),而PA9(TXD)和PA10(RXD)则是STM32的串口1的两个数据口(复用功用下)。他们经过跳线帽对接,就能够和衔接在一起了,然后完成STM32的程序下载以及串口通讯。

  规划成USB串口,是出于现在电脑上串口正在消失,尤其是笔记本,简直清一色的没有串口。所以板载了USB串口能够便利咱们下载代码和调试。而在板子上并没有直接衔接在一起,则是出于运用便利的考虑。这样规划,你能够把ALIENTEK战舰STM32开发板当成一个USB串口,来和其他板子通讯,而其他板子的串口,也能够便利地接到ALIENTEK战舰STM32开发板上。

  STM32F103ZET6

  这是开发板的中心芯片(U5),型号为:STM32F103ZET6。该芯片具有64KB SRAM、512KB FLASH、2个根本定时器、4个通用定时器、2个高档定时器、2个DMA操控器(共12个通道)、3个SPI、2个IIC、5个串口、1个USB、1个CAN、3个12位ADC、1个12位DAC、1个SDIO接口、1个FSMC接口以及112个通用IO口。

  STM32 USB口

  这是开发板板载的一个MiniUSB头(USB),用于STM32与电脑的USB通讯,经过此MiniUSB头,开发板就能够和电脑进行USB通讯了。开发板一共板载了2个MiniUSB头,一个用于USB转串口,衔接CH340G芯片;别的一个用于STM32内带的USB。

  一起开发板能够经过此MiniUSB头供电,板载两个MiniUSB头(不共用),首要是考虑了运用的便利性,以及能够给板子供给更大的电流(两个USB都接上)这两个要素。

  10. 后备电池接口

  这是STM32后备区域的供电接口,能够用来给STM32的后备区域供给能量,在外部电源断电的时分,保持后备区域数据的存储,以及RTC的运转。

  USB转串口

  这是开发板板载的别的一个MiniUSB头(USB_232),用于USB衔接CH340G芯片,然后完成USB转串口。一起,此MiniUSB接头也是开发板电源的首要供给口。

  OLED/摄像头模块接口

  这是开发板板载的一个OLED/摄像头模块接口(P8),假如是OLED模块,靠左插即可(右边两个孔位悬空)。假如是摄像头模块(ALIENTEK供给),则刚好插满。经过这个接口,能够别离衔接2个外部模块,然后完成相关试验。

  13. 有源蜂鸣器

  这是开发板的板载蜂鸣器(BEEP),能够完成简略的报警/闹铃。让开发板能够听得见。

  14. 红外接纳头

  这是开发板的红外接纳头(U14),能够完成红外遥控功用,经过这个接纳头,能够承受市道常见的各种遥控器的红外信号,咱们乃至能够自己完成全能红外解码。当然,假如运用妥当,该接纳头也能够用来传输数据。

  战舰STM32开发板给咱们装备了一个细巧的红外遥控器,该遥控器外观如图1.2.1.1所示:

  

图1.1.2.jpg

 

  图 1.2.1.1 红外遥控器

  DS18B20/DHT11接口

  这是开发板的一个复用接口(U13),该接口由4个镀金排孔组成,能够用来接DS18B20/DS1820等数字温度传感器。也能够用来接DHT11这样的数字温湿度传感器。完成一个接口,2个功用。不用的时分,咱们能够拆下上面的传感器,放到其他地方去用,运用上是十分便利灵敏的。

  2个LED灯

  这是开发板板载的两个LED灯(DS0和DS1),DS0是赤色的,DS1是绿色的,首要是便利咱们辨认。这儿提示咱们不要停留在51跑马灯的思想,搞这么多灯,除了糟蹋IO口,实在是想不出其他什么长处。

  咱们一般的运用2个LED足够了,在调试代码的时分,运用LED来指示程序状况,是十分不错的一个辅佐调试办法。战舰STM32开发板简直每个实例都运用了LED来指示程序的运转状况。

  3. 发动挑选端口

  这是开发板板载的发动形式挑选端口(BOOT),STM32有BOOT0(B0)和BOOT1(B1)两个发动挑选引脚,用于挑选复位后STM32的发动形式,作为开发板,这两个是有必要的。在开发板上,咱们经过跳线帽挑选STM32的发动形式。关于发动形式的阐明,请看2.1.8末节。

  4. 复位按钮

  这是开发板板载的复位按键(RESET),用于复位STM32,还具有复位液晶的功用,由于液晶模块的复位引脚和STM32的复位引脚是衔接在一起的,当按下该键的时分,STM32和液晶一起被复位。

  5. 参阅电压挑选端口

  这是STM32的参阅电压挑选端口(P7),咱们默许是接开发板的3.3V和GND。假如咱们想设置其他参阅电压,只需求把你的参阅电压源接到REF-和REF+上即可。

  WK_UP及3个一般按钮

  这是开发板板载的4个机械式输入按键(KEY0、KEY1、KEY2和WK_UP),其间WK_UP具有唤醒功用,该按键衔接到STM32的WAKE_UP(PA0)引脚,可用于待机形式下的唤醒,在不运用唤醒功用的时分,也能够做为一般按键输入运用。

  其他3个是一般按键,能够用于人机交互的输入,这3个按键是直接衔接在STM32的IO口上的。这儿留心WK_UP是高电平有用,而KEY0、KEY1和KEY2是低电平有用,咱们在运用的时分留心一下。

  7. 接触按钮

  这是开发板板载的一个电容接触输入按键(TPAD),用于完成接触按键。现在接触按键十分盛行,所以咱们在开发板上也规划了一个,咱得跟上年代的脚步。

  8. 电源指示灯

  这是开发板板载的一颗蓝色的LED灯(PWR),用于指示电源状况。在电源敞开的时分(经过板上的电源开关操控),该灯展亮,不然不亮。经过这个LED,能够判别开发板的上电状况。

  9. 多功用端口

  这儿咱们可别小看这6个排针,这可是本开发板规划的很奇妙的一个端口(由P3和P14组成),这组端口经过组合能够完成的功用有:ADC收集、DAC输出、PWM DAC输出、外部音频输入、电容接触按键、DAC音频、PWM DAC音频、DAC ADC自测等,一切这些,你只需求1个跳线帽的设置,就能够逐个完成。

  MIC(咪头)

  这是开发板的板载录音输进口(MIC),该咪头直接接到VS1053的输入上,能够用来完成录音功用。

  11. 录音输入接口

  这 是开发板板载的外部录音输入接口(LINE_IN),经过咪头咱们只能完成单声道的录音,而经过这个LINE_IN,咱们能够完成立体声录音。

  MIC挑选口

  这是开发板板载录音的接入挑选口(P2),假如运用LINE_IN录音的时分,咱们把P2断开,以扫除来自咪头的搅扰信号,然后能够更好的立体声录音。而运用咪头录音的时分,咱们短接P2即可。

  13. 耳机输出接口

  这是开发板板载的音频输出接口(PHONE),战舰STM32开发板有多个音频输出(VS1053/收音机/PWM DAC等),经过74HC4052完成音频挑选,输入到TDA1308,再输出到该音频输出口,完成开发板的音频输出。

  VS1053 IIS输出口

  这是VS1053的IIS输出接口(P1),该接口能够用来衔接外部DAC,完成更好的音质输出。其实我觉得VS1053自身的音频DAC现已很好了。这个接口适宜本站运用。

  5V电源输入/输出

  这是开发板板载的一组5V电源输入输出排针(2*3)(VOUT2),用于给外部供给5V的电源,也能够用于从外部取5V的电源给板子供电。

  咱们在试验的时分或许常常会为没有5V电源而苦恼不已,有了ALIENTEK战舰STM32开发板,你就能够很便利的具有一个简略的5V电源(最大电流不能超越500ma)。

  3.3V电源输入/输出

  这是开发板板载的一组3.3V电源输入输出排针(2*3)(VOUT1),该排针用于给外部供给3.3V的电源,也能够用于从外部取3.3V的电源给板子供电。

  相同咱们在试验的时分或许常常会为没有3.3V电源而苦恼不已,ALIENTEK充沛考虑到了咱们需求,有了这组3.3V排针,你就能够很便利的具有一个简略的3.3V电源(最大电流不能超越500ma)。

  ADXL345加速度传感器

  这是开发板板载的一个3轴加速度传感器(U11),ADXL345分辨率高(13位),丈量规模大(±16g),能够经过SPI/IIC拜访,战舰开发板选用IIC拜访它。有了这个,咱们就能够完成一些比较有意思的运用(比方丈量倾角等)

  18. 电源开关

  这是开发板板载的电源开关(K1)。该开关用于操控整个开发板的供电,假如堵截,则整个开发板都将断电,电源指示灯(PWR)会跟着此开关的状况而亮灭。

  DC6~16V电源输入

  这是开发板板载的一个外部电源输进口(DC_IN),选用规范的直流电源插座。开发板板载了DC-DC芯片(MP2359),用于给开发板供给高效、安稳的5V电源。由于选用了DC-DC芯片,所以开发板的供电规模十分宽,咱们能够很便利的找到适宜的的电源(只需输出规模在DC6~16V的根本都能够)来给开发板供电。特别留心:假如你运用的是战舰V2.0曾经的版别,输入电压主张不要超越9V!牢记不能超越12V!战舰V2.0及今后的版别才支撑DC6~16V的宽输入规模。

  FM收发天线接口

  这个是开发板板载FM收发芯片的天线接口(ANT),一起咱们装置有天线在这个上面。经过这个天线,能够很好的完成FM收音和FM发射。

  RS485总线接口

  这是开发板板载的RS485总线接口(RS485),经过3个端口和外部485设备衔接。一 般状况下,只需求衔接2个端口即可,即A和B,并不需求衔接GND。这儿提示咱们,RS485通讯的时分,有必要A接A,B接B。不然或许通讯不正常!

  RS232/485挑选接口

  这是开发板板载的RS232/485挑选接口(P9),由于RS485根本上便是一个半双工的串口,为了节省IO,咱们把RS232和RS485共用一个串口,经过P9来设置当时是运用RS232仍是RS485。当然,这样的规划还有一个优点。便是咱们的开发板既能够充任RS232到TTL串口的转化,又能够充任RS485到TTL485的转化。(留心,这儿的TTL高电平是3.3V)

  RS232接口

  这是开发板板载的RS232接口(COM),经过一个规范的DB9母头和外部的串口衔接。经过这个接口,咱们能够衔接带有串口的电脑或许其他设备,完成串口通讯。

  24C02 EEPROM

  这是开发板板载的EEPROM芯片(U15),容量为2Kb,也便是256字节。用于存储一些掉电不能丢掉的重要数据,比方体系设置的一些参数/接触屏校准数据等。有了这个就能够便利的完成掉电数据保存。

  PS/2鼠标/键盘接口

  这是开发板板载的一个规范PS/2母头(PS/2),用于衔接电脑鼠标和键盘等PS/2设备。

  经过PS/2口,咱们只是需求2个IO口,就能够扩展一个键盘,所以咱们不用要对板上只需4个按键而感到忧虑。ALIENTEK供给了规范的鼠标驱动例程,便利咱们学习PS/2协议。

  26. 游戏手柄接口

  这是开发板板载的一个9针游戏手柄接口(JOY_PAD),能够用来衔接FC手柄(红白机/小霸王游戏机手柄),这样咱们能够在开发板上编写游戏程序,直接经过手柄玩游戏了。咱们的归纳试验供给有一个简略的NES模仿器,咱们能够直接从网上下载nes游戏,放到开发板上玩。

  LCD/OLED模块接口

  这是战舰STM32开发板的又一个特征规划,一个接口,兼容多种模块。假如是OLED模块,请靠左边插。假如是LCD模块,则靠右侧插。OLED模块支撑ALIENTEK的单色/双色OLED模块。LCD模块则支撑ALIENTEK的2.4/2.8/3.5寸LCD模块,并且支撑接触屏功用。

  CAN总线接口

  这是开发板板载的CAN总线接口(CAN),经过3个端口和外部CAN总线衔接。一般状况下,只需求衔接2个端口即可,即CANH和CANL,并不需求衔接GND。这儿提示咱们,CAN通讯的时分,有必要CANH接CANH,CANL接CANL。不然或许通讯不正常!

  NRF24L01模块接口

  这是开发板板载的NRF24L01模块接口(U7),只需刺进模块,咱们便能够完成无线通讯,然后使得咱们板子具有了无线功用,可是这儿需求2个模块和2个开发板一起作业才能够。假如只需1个开发板或1个模块,是无法完成无线通讯的。

  1.2.2软件资源阐明

  上面咱们具体介绍了ALIENTEK战舰STM32开发板的硬件资源。接下来,咱们将向咱们扼要介绍一下战舰STM32开发板的软件资源。

  战舰STM32开发板供给的规范例程多达57个,一般的STM32开发板仅供给库函数代码,而咱们则供给寄存器和库函数两个版别的代码(本攻略以寄存器版别作为介绍)。咱们供给的这些例程,根本都是原创,具有十分具体的注释,代码风格一致、按部就班,十分适宜初学者入门。而其他开发板的例程,大都是来自ST库函数的直接修正,注释也比较少,对初学者来说不那么简略入门。

  战舰STM32开发板的例程列表如表1.2.2.1所示:

  

表1.2.2.1.jpg

 

  表1.2.2.1 ALIENTEK战舰STM32开发板例程表

  从上表能够看出,ALIENTEK战舰STM32开发板的例程根本上涵盖了STM32F103ZET6的一切内部资源,并且外扩展了许多有价值的例程,比方:FLASH模仿EEPROM试验、IAP试验、拼音输入法试验、手写辨认试验、归纳试验等。

  并且从上表能够看出,例程组织是按部就班的,首要从最根底的跑马灯开端,然后一步步深化,从简略到杂乱,有利于咱们的学习和把握。所以,ALIENTEK战舰STM32开发板是十分适宜初学者的。当然,关于想深化了解STM32内部资源的朋友,ALIENTEK战舰STM32开发板也肯定是一个不错的挑选。

  这儿特别阐明一下战舰体系归纳试验,这个试验使得ALIENTEK战舰STM32开发板更像一个产品,而不单单是一个开发板了,它具有现在市道上一切开发板中最杂乱,最强壮的功用,可玩性极高,它的完成,充沛向咱们展现了ALIENTEK战舰开发板的优势,一起也证明了STM32的强悍功能。处理了一部分人,STM32能干啥的顾忌。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ceping/baogao/116651.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部