以精英板STM32F103为例。STM32是Cortex M3架构,拥有更强劲的性能、更高的代码密度、位带操作、可嵌套中断、低成
本、低功耗等众多优势。
了解架构方面的知识可以查看以下文档:
STM32 拥有非常多的寄存器,对于新手来说,直接操作寄存器有很大的难度,所以 ST 官方提供了一套固件库函数,方面开发者进行程序编写,库函数入门后,最好也对寄存器操作有所了解。
精英板STM32的硬件资源如下(尺寸115mm*117mm):
板载资源详细如下:
◆ CPU:STM32F103ZET6,LQFP144(CPU封装1.4mm厚),FLASH:512K(闪存,结合了ROM和RAM的长处),SRAM:64K(静态随机存取存储器);
◆ 外扩 SPI FLASH:W25Q128,16M 字节(存储经常读取的数据)
◆ 1 个电源指示灯(蓝色PWR)
◆ 2 个状态指示灯(DS0:红色,DS1:绿色)
◆ 1 个红外接收头,并配备一款小巧的红外遥控器
◆ 1 个 EEPROM 芯片,24C02,容量 256 字节
◆ 1 个光敏传感器
◆ 1 个无线模块接口(可接 NRF24L01/RFID 模块等)
◆ 1 路 CAN 接口,采用 TJA1050 芯片
◆ 1 路 485 接口,采用 SP3485 芯片
◆ 1 路数字温湿度传感器接口,支持 DS18B20 /DHT11 等
◆ 1 个 ATK 模块接口,支持 ALIENTEK 蓝牙/GPS 模块/MPU6050 模块等
◆ 1 个标准的 2.4/2.8/3.5/4.3/7 寸 LCD 接口,支持触摸屏
◆ 1 个摄像头模块接口
◆ 1 个 OLED 模块接口(与摄像头接口共用)
◆ 1 个 USB 串口,可用于程序下载和代码调试(USMART 调试)(USB_232)
◆ 1 个 USB SLAVE 接口,用于 USB 通信(USB_SLAVE)
◆ 1 个有源蜂鸣器
◆ 1 个 RS485 选择接口
◆ 1 个 CAN/USB 选择接口
◆ 1 个串口选择接口
◆ 1 个 SD 卡接口(在板子背面,SDIO 接口)
◆ 1 个标准的 JTAG/SWD 调试下载口(20针)
◆ 1 组 AD/DA 组合接口(DAC/ADC/ TPAD)
◆ 1 组 5V 电源供应/接入口
◆ 1 组 3.3V 电源供应/接入口
◆ 1 个直流电源输入接口(输入电压范围:6~24V)
◆ 1 个启动模式选择配置接口
◆ 1 个 RTC 后备电池座,并带电池
◆ 1 个复位按钮,可用于复位 MCU 和 LCD
◆ 3 个功能按钮,其中 KEY_UP 兼具唤醒功能
◆ 1 个电容触摸按键
◆ 1 个电源开关,控制整个板的电源
◆ 独创的一键下载功能
◆ 除晶振占用的 IO 口外,其余所有 IO 口全部引出
开发板的核心芯片(U1),型号为: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 口。
最好跟着原理图一个个都认识一遍:
此外,在编写程序的时候,可以再对着引脚IO表再强化一遍认知。针对具体的功能,可以回过头再来详细查看模块的说明。
STM32 作为目前最热门的 ARM Cortex M3 处理器,正在被越来越多的公司选择使用。没有学过51的也可以直接上手STM32,万事开头难,可以先通过例程进行学习,找到自己点亮一个LED灯的乐趣,然后再熟悉外设模块,实时系统等。下面是几个学习STM32的要点:
以上。