stm32的一些简单注意点

2023-05-16

下面说的这些只是一些关于:MiniSTM32f103系列的开发板,以下皆是参考stm32中的手册,只是博主的一些愚见


大家都知道,我们是通过usb线连接我们的开发板和电脑,我们用电脑上面的keil5软件编程,然后通过数据线下载于开发板


在开始学习stm32

1,先安装keil5,因为这个软件是我们用来编程,用来控制板子的,最后生成hex文件,从而达到我们的目的

2,CH340这个软件,它是串口的驱动

3,MCUISP,用来串口下载代码,可以通过这个软件,将我们编译连接好的HEX文件下载到我们的开发板中去(去执行相应的功能)


1,拿出开发板,接上usb线给开发板供电,注意usb接口最好接下方的USB_232这个端口,

     (这个USB_232是用来实现USB转串口(TTL串口)的,它并没有直接连接到stm32,而是接CH340芯片,经过

       CH340将USB转为串口,再连接到stm32,所以这个USB是用来实现串口通信或者MCUISP下载代码用的,所以

我们应该插这个口

       上方的USB(靠近DS1)是用来实现STM32与电脑的USB通信的,这个需要在STM32上面刷有USB协议的代码

才可以用(比如:USB鼠标,USB读卡器等试验,就应该插这个口)


2,如果有液晶的话,(注意,液晶一定要靠右插)(开发板液晶那块的io口比给提供的那个液晶还多了两个io口,这是为了兼容OLED,用来给OLED提供电源的)LCD液晶模块靠右插,OLED靠左插


3,如果开发板无法上电(电源指示灯PWR不亮),一定要排除基本的问题:液晶是不是靠右插(如果靠左插的话,那么电源指示灯是不会亮的),电脑的USB端口是否正常(可以换到其他的端口试一试),数据线是否正常,电源开关是否开启,另外,开发板也不支持JLINK(用于仿真调试和代码下载)供电(因为JLINK如果又给自己供电又给开发板供电,会很容易导致固件库丢失)


usb串口驱动无法发现usb串口:1,可能是我们把usb口插错了,我们需要插得是USB_232(靠近那四个按键,RESET(复位),WK_UP(唤醒),KEY1,KEY0),也只有插在这里才能实现USB串口

2,如果确定插对了后,可以考虑换一根线,或者换一个电脑的串口(排除一般因素)

3,开发板压根就没有供电,这时我们可以去看电源指示灯PWR亮不亮,如果没有亮,请打开电源开关,一定要保证指示灯亮,这样才有可能找到usb转串口,还是那句话,开发板不支持JLINK供电

4,usb驱动可能没有安装,ch340:光盘资料:6,软件资料\软件\ch340驱动


mcuisp无法下载代码:

可能的原因有以下几个:

1,mcuisp软件的DTR,RTS设置错了。正确的设置是:DTR的低电平复位,RTS的高电平进BootLoader

    (不要勾选使用:Ramlsp,不要勾选编程到FLASH时写选项字节,DTR,RTS千万不要设置错了)

      

2,串口设置错了。这个务必检查好:开发板USB转串口是哪一个?在设备管理器里面,可以查看USB转串口的类型

      当我们用鼠标点击:  搜索串口或者Port,下方会出现(注意,这是我的电脑出现的情况,大家的不一定啊)(1,COM1,空闲端口        2,COM3,空闲 USB-SERIAL  CH340),我们用的一定是显示:空闲USB-SERIAL  CH340的这个端口

      设备管理器中是如下的(xp系统中进入设备管理器:打开运行窗口输入:devmgmt.msc)

      

      总上所述,我们应该选择的是com3这个端口。

      另外在提一点,上面muscip中的bps(也就是波特率)大一点的话,它的下载速度是可以提高的,经常用到的是9600,115200,但是不可以过大,具体设置多少还应该根据要求,,,

3,PA9,PA10和TXD,RXD的跳线帽被拔了。这两个跳线帽一定要插上,才可以下载代码的



mcuisp下载代码后,不运行?

可能有3中情况:

1,mcuisp可能没有勾选:编程后执行。可以勾选后,重新下载,或者按下开发板的复位(reset)

2,开发板的B0,B1没有都接GND。检查开发板的B0,B1是不是都接入了GND(B0,B1,就位于usb_232的旁边,我们可以直接用跳线帽将其连接起来)

      从stm32部分原理图中,可以看出:图中BOOT1用于设置STM32的启动方式

     

      一般情况下,如果我们想用用串口下载代码,则必须先配置BOOT0为1,BOOT1为0,然后按下复位键,最后在通过程序下载代码,下载完以后又需要将BOOT0设置为GND,以便用户每一次复位后都可以运行代码。可以看到这个,这个步骤简直是相当繁琐,跳线帽跳来跳去,还要手动复位,所以我们的板子:ALIENTEK为STM32的串口下载专门设计了一键下载电路,通过串口的DTR和RTS信号,来自动控制RST(复位)和BOOT0,因此不需要用户来手动切换状态,直接串口下载软件自动控制,可以非常方便的下载代码,所以上面我们要设置DTR的低电平复位,RTS的高电平进BootLoader

3,我们可能下载了错误的代码,反正就是不是我们现在应该要的代码


按键无反应:

可能是因为,我们的板子上面现在插着JLINK,这些按键会受JLINK上下拉信号的影响,直接引起的按键失灵

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

stm32的一些简单注意点 的相关文章

  • 长文图解工业HART总线协议

    关注 星标嵌入式客栈 xff0c 精彩及时送达 导读 在AIOT蓬勃发展的今天 xff0c 也掀起传统工业设备IOT革新的浪潮 那么需要对工业设备进行IOT改造 xff0c 除了直接开发具有IOT互联协议的新型设备 xff0c 对原有总线设

随机推荐

  • RS-485总线,这篇很详细

    关注 星标嵌入式客栈 xff0c 精彩及时送达 导读 大家好 xff0c 我是逸珺 xff0c 前面一篇文章总结了一下工业HART总线 xff0c 今天来聊聊RS 485总线 RS 485也是应用非常广泛的一种通信接口 xff0c 本文来讨
  • 图文详解Modbus-RTU协议

    关注 星标嵌入式客栈 xff0c 精彩及时送达 导读 大家好 xff0c 我是逸珺 xff0c 前面总结了一下RS 485的一些要点 xff0c 今天来总结一下Modbus RTU协议 xff0c 原本想把实现思路也一起发出来 xff0c
  • 【干货】用FreeRTOS搭建Event-Driven应用框架

    关注 星标嵌入式客栈 xff0c 精彩及时送达 导读 大家好 xff0c 我是逸珺 今天来分享一下 xff0c 之前项目中使用FreeRTOS搭建的Event Driven事件驱动框架 什么是Event Driven xff1f Event
  • 【Spring Boot】1.解决IDEA中springboot整合mybatis中出现的Invalid bound statement(not found)的问题

    最近学习springboot的开发 xff0c 中间磕磕碰碰也是遇到了诸多问题 xff0c 以前编写java IDE都是用的eclipse xff0c 现在换成idea了倒有点不适应了 xff0c 中间遇到了一个让人很郁闷的问题 xff0c
  • (数据结构与算法分析 一)------快速求幂算法,Java递归实现

    快速求幂算法 xff0c 递归实现 xff0c 其实算法的思想很简单 xff0c 但是感觉非常经典 xff0c 这个也是我开始看数据结构与算法分析这本书的开始把 xff0c 大学期间感觉就得深究一下算法 xff0c 课堂学习的太肤浅 xff
  • 永磁同步电机PMSM负载状态估计(龙伯格观测器,各种卡尔曼滤波器)矢量控制,坐标变换

    永磁同步电机PMSM负载状态估计 xff08 龙伯格观测器 xff0c 各种卡尔曼滤波器 xff09 矢量控制 xff0c 坐标变换 xff0c 英文复现 xff0c 含中文报告 xff0c 可作为结课作业 仿真原理图结果对比完全一致 另外
  • 分享信号处理相关的几部名著

    导读 大家好 xff0c 我是逸珺 数字信号处理还是比较难的 xff0c 我也只是会一些简单的 但是一直对这个有兴趣 xff0c 曾经有朋友问我看什么书籍比较好 xff0c 今天分享几本我经常看的数字信号处理书籍给大家 数字信号导论 书有点
  • 钓鱼累了,写下断言怎么用

    导读 大家好 xff0c 我是逸珺 今天来分享整理如何正确的使用断言 何为断言 断言一般是用于检测在某个程序位置程序必须满足某些条件的宏 一般用的多的可以分两种种情况 xff1a 前置条件 xff1a 在某个程度点开始的地方后置条件 xff
  • 手把手带你写一个中断输入设备驱动

    导读 大家好 xff0c 我是逸珺 首先说声抱歉 xff0c 最近迷上钓鱼了 xff0c 有时候晚上出去夜钓大板鲫了 xff0c 停更了一段时间 来几张鱼获图片 xff1a 技术还是不太到家 xff0c 遇到几次大鲤鱼都给溜了 xff0c
  • STM32的SPI外设片选只有一个怎么破?

    导读 大家好 xff0c 我是逸珺 之前用STM32的SPI需要控制很多外部芯片 xff0c 可是一个SPI的外设只有一个片选 xff0c 要实现独立片选一主多从 xff0c 怎么实现呢 xff1f SPI总线拓扑 一般地 xff0c SP
  • Java compareTo()方法

    Java compare To 方法 xff08 Java String类 xff09 xff1a 1 用途 xff1a 按字典序比较两个字符串 2 语法 xff1a int compareTo String anotherString 3
  • C语言函数如何正确的输入和返回数组(一维和二维)

    对于一维数组而言有两种方法 xff1a 1 函数外 xff08 主函数内 xff09 初始化数组 xff0c 相当于已经分配好了一块固定的内存 xff0c 然后将其地址传入函数 xff0c 经过一番操作 xff0c 再将地址返回 2 函数内
  • 将以-1结束的整数存储到字符型数组中去

    代码如下 xff1a xff08 在求整数长度的时候注意0的存在 xff09 xff08 注意字符型数组中存储的是acsii码 xff0c 比如说要将整数1存到字符型数组arr 100 中 xff0c 则是arr i 61 1 43 39
  • C语言数组的结尾字符

    对于整数型数组来说 xff0c 结尾字符为整数 对于字符型数组来说 xff0c 结尾字符为 0 xff0c 占一个空间 所以当输出字符串数组时 xff0c 若要整体输出 xff08 printf 34 s 34 s xff0c 则要在数组末
  • 含有字符串数组的结构体的赋值、输入、字符串比较

    1 之所以用到结构体 xff0c 是因为一个物体有多个属性 xff0c 此时使用结构体简单些 2 对字符串进行整体操作时 xff0c 需要添加头文件 include lt string h gt 1 字符串赋值需要使用strcpy char
  • JavaWeb

    JavaWeb Maven amp MyBatis xff1a https cyborg2077 github io 2022 08 11 JavaWeb01 JavaWeb HTML amp CSS xff1a https cyborg2
  • Ubuntu20.04+eclipse+jlink(openocd+SWD)+arm-none-eabi-gcc+STM32开发

    Ubuntu20 04 43 eclipse 43 jlink openocd 43 SWD 43 arm none eabi gcc 43 STM32开发环境搭建 1 文件准备 安装Eclipse IDE for C C 43 43 De
  • Java中类型转换

    1 char int int output 61 temp charAt 0 39 0 39 2 int char int a 61 1 char b 61 a 43 39 0 39 3 String int 将字符串转换为整数 int o
  • JAVA中int和char类型的相互转化

    预备知识 xff1a 1 int类型长度为4个字节 xff0c char类型长度为2个字节 所以char int为自动转换 xff0c int char为强制转换 xff08 因为可能有数据丢失风险 xff09 2 Java中设计char的
  • stm32的一些简单注意点

    下面说的这些只是一些关于 xff1a MiniSTM32f103系列的开发板 xff0c 以下皆是参考stm32中的手册 xff0c 只是博主的一些愚见 大家都知道 xff0c 我们是通过usb线连接我们的开发板和电脑 xff0c 我们用电