首页 资讯 应用 高压 设计 行业 低压 电路图 关于

嵌入式

旗下栏目: PLC 嵌入式 单片机 DCS

stm32的一些注意事项

嵌入式 | 发布时间:2018-06-19 | 人气: | #评论# | 本文关键字:STM32,MiniSTM32f103,开发板
摘要:下面说的这些只是一些关于:MiniSTM32f103系列的开发板,以下皆是参考stm32中的手册,只是博主的一些愚见, 大家都知道,我们是通过usb线连接我们的开发板和电脑,我们用电脑上面的keil5软件

下面说的这些只是一些关于: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千万不要设置错了)

      1529413335124396.jpg

2,串口设置错了。这个务必检查好:开发板USB转串口是哪一个?在设备管理器里面,可以查看USB转串口的类型,当我们用鼠标点击:  搜索串口或者Port,下方会出现(注意,这是我的电脑出现的情况,大家的不一定啊)(1,COM1,空闲端口        2,COM3,空闲 USB-SERIAL  CH340),我们用的一定是显示:空闲USB-SERIAL  CH340的这个端口   设备管理器中是如下的(xp系统中进入设备管理器:打开运行窗口输入:devmgmt.msc)

      1.png

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

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

1.png

mcuisp下载代码后,不运行?

可能有3中情况:

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

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

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

      1529413368419559.png

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

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

按键无反应:

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


责任编辑:STM32
首页 | 电气资讯 | 应用技术 | 高压电器 | 电气设计 | 行业应用 | 低压电器 | 电路图 | 关于我们 | 版权声明

Copyright 2017-2018 电气自动化网 版权所有 辽ICP备17010593号-1

电脑版 | 移动版 原创声明:本站大部分内容为原创,转载请注明电气自动化网转载;部分内容来源网络,如侵犯您的权益请发送邮件到[email protected]联系我们删除。