基本信息
文件名称:机器人综合项目实践教程 课件 第6章 STM32平台机器人实战.pptx
文件大小:7.78 MB
总页数:188 页
更新时间:2025-06-12
总字数:约2.28万字
文档摘要

第六章STM32平台机器人实战;

6.1STM32基础简介;

STM32是ARM?Cortex?内核单片机和微处理器市场及技术方面的领先者,目前STM32提供17大产品线(F0、G0、F1、F2、F3、G4、F4、F7、H7、MP1、L0、L1、L4、L4+、L5、WB、WL),超过1000个型号。STM32F1属于Cortex-M系列中的Cortex-M3内核,采用ARMv7-M架构。

STM32的产品定位及命名规则分别如图6.1和图6.2所示。;;;

6.1.2STM32资源与应用

1)?CPU芯片资源

关于CPU芯片内部资源,我们以STM32F103系列器件为例介绍。STM32F103Rx、STM32F103Vx和STM32F103Zx器件功能和配置如表6.1所示。;;

2)?STM32开发板资源

ALIENTEK战舰STM32开发板(广州市星翼电子科技有限公司(正点原子))的资源图如图6.3所示。;;

ALIENTEK战舰STM32开发板板载资源有:

?CPU:STM32F103ZET6,LQFP144;FLASH:512?KB;SRAM:64?KB。

?外扩SRAM:IS62WV51216,1?MB。

?外扩SPIFLASH:W25Q64,8?MB。

?1个电源指示灯(蓝色)。

?2个状态指示灯(DS0:红色,DS1:绿色)。

?1个红外接收头,并配备一款小巧的红外遥控器;1个EEPROM芯片(24C02),其容量为256B。

?1个重力加速度传感器芯片(ADXL345)。;

?1个高性能音频编解码芯片(VS1053)。

?1个FM立体声收发芯片(RDA5820)。

?1个2.4?GB无线模块接口(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英寸(1英寸=2.54厘米)LCD接口,支持触摸屏。

?1个摄像头模块接口。

?2个OLED模块接口。

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

?1个USBSLAVE接口,用于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/LINEIN选择接口。

?1个录音头(MIC/咪头)。

?1路立体声音频输出接口。

?1路立体声录音输入接口。;

?1组多功能端口(DAC/ADC/PWMDAC/AUDIOIN/TPAD)。

?1组5V电源供应/接入口。

?1组3.3V电源供应/接入口。

?1个参考电压设置接口。

?1个直流电源输入接口(输入电压范围为6~16?V)。

?1个启动模式选择配置接口。

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

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

?4个功能按钮,其中WK_UP兼具唤醒功能。

?1个电容触摸按键。

?1个电源开关,控制整个板的电源。

?独创的一键下载功能以及除晶振占用的IO口外,其余所有IO口全部引出。;

6.2STM32开发基础知识;;

1)?设置某几个位的值

不改变其他位的值的状况下,对某几个位进行设置。这个场景在单片机开发中经常使用,其方法就是先对需要设置的位用操作符进行清零操作,然后用?|?操作符进行设置。比如我们要改变GPIOA的状态,可以先对寄存器的值进行清零操作:

GPIOA-CRL=0XFFFFFF0F;//将第4~7位清0

然后再与需要设置的值进行|或运算:

GPIOA-CRL?|?=0 //设置相应位的值,不改变其他位的值;

2)?移位操作提高代码的可读性

移位操作在单