下面说的这些只是一些关于: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上下拉信号的影响,直接引起的按键失灵