STM32 开发大杂烩
这篇博客主要介绍STM在开发中的一些注意事项,比较杂
感谢:正点原子、杨桃电子,嘉立创、还有各位博主(下文均有提及)
目录
一、软件部分
1.1、keil5
该软件作为单片机最基础的编程软件,主要了解一下这个软件创建工程的基础知识点就行
STM32 开发环境搭建_stm32开发环境_灵性花火的博客-CSDN博客
前面就已经说过:下载程序的注意事项(不说IAP,那个技术要求太高了):
进阶的就是了解一下该软件keil自带的调试功能也就是ICP下载:keil通过J-LINK给STM32烧录程序并进行调试,一个最好的调试软件不仅能够随时输出你想要的值,而是能够随时监控各种各样的变量(类似C++的调试)
对于软件调试:这里参考不完全手册:
这里仿真主要有两种方式(一种是软件调试,画圈的左侧(但是没啥用),另一种是J-link调试右侧),这两种区别之一在于硬件调试能够直接输出具体link连接硬件接口的数据,软件调试就不行
软件调试基本上没有要设置的:直接左侧设置好了就能debug了:
硬件调试(ST-LINk):
二、最小系统
2.1、最小系统原理图
一个单片机独立工作的电路是这样的:(这里示例原理图来源于嘉立创EDA(仅用于学习不涉及任何商业活动)画PCB这个软件很方便)
只介绍几个模块的功能,其他就不细说了(一定要弄懂!基础!)
2.2、下载电路
这里需要在仔细说一下下载电路还有复位电路,前面博客就要已经说过STM32有三种下载方式,
STM32 开发环境搭建_stm32开发环境_灵性花火的博客-CSDN博客
比较平民的是ISP(关键词:flymcu,一键下载电路)、ICP(关键词:J-link、st-link)方式
首先:ISP下载需要设计串口电路,通过电脑端口USB经CH340转到STM32的TTL电平(后面会解释),这个USB下载模块的电路设计有很多种(网上电路很多),但是要对应好flymcu的Bootloader进入模式
对于ICP下载方式,这种下载方式一般通过JTAG、SWD(几条线)来下载,单片机上的接口:一般长成这样:
J-link——用于JTAG接口 ST-link——用于SWD接口 这个也是ST-link(2代,便宜)
一般都用SWD
在使用的时候只需要连接四根线就行了,看图就知道对应的是SWCLK、SWDIO、GND、3.3V。一般设计的时候都是JTAG以及SWD共用电路,在图中很明显就看到JTAG公头就有SWDIO以及SWCLK,电源VDD还有GND就直接连上st-LINK四根线就行了。
2.3、复位电路
坦白说当我第一次看到复位电路我是崩溃的,因为介绍的太简单了(左图)
这就是上电自动复位电路, 如果需要手动复位(右图)(其实就是电容两端并联一个按键):
三、纯硬件部分
3.1、PCB
绘制板子是基础课
Altium Designer 20 19(入门到精通全38集)四层板智能车PCB设计视频教程AD19 AD20 凡亿_哔哩哔哩_bilibili
3.2、通讯方式
感谢博客:
杨桃电子
https://blog.csdn.net/bokang3593/article/details/81301033
什么是TTL?标准USB接口是TTL吗?RS232、RS422、RS485的区别?_BUG从入门到精通的博客-CSDN博客
最经典的通讯方式:一般的开发板基本上都是电脑USB转串口usart进行通讯,用到了CH340芯片来转换协议
实际上通化还有很多方式:TTL、USART(很多种)、IIC、SPI。(通讯的基础的概念就不细究了)
3.3、TTL
全双工(逻辑1: 2.4V–5V 逻辑0: 0V–0.5V),在实际接线的时候发现也就是直接引出三根线。
3.4、USART大家族
这个家族人很多,具体区分和连接距离有关
稍微提一下DB(接口数目),USART通讯方式很多,繁衍出来很多接口接线方式(虽然最简单的还是直接拿几根杜邦线一插)
比方说:RS232全双工(逻辑1:-15V–5V 逻辑0:+3V–+15V)具体由两种DB口号(线接口数)
3.5、 SPI、CAN、USB接口
这几个不常用到,一块说了:
首先是SPI:这个后面会说到,因为他通讯速度很快,用在惯导数据传输就很不错
CAN 通讯 USB通讯
USB的接口还要叙述一下:
这里补充一下:为了开发的调试,不说使用USB通过ISP下载电路
文章评论