天天看点

stm32开发板点亮led遇到问题

最近由于毕业设计是四旋翼无人飞行器的系统设计,在学STM32F103R8,学长自己设计的一块板子,让我根据野火的教程一步一步做,先熟悉一下板子的工作原理,为以后编程控制电机转速做准备。

第一步是最基本的点亮流水灯,在烧录程序时出现如下错误:

no cortex-m device found in jtag chain

百度了一下看到好多人有这种情况,有一些说事吧jagt改成sw,还有一些说:

1.找到BOOT1和BOOT0,把BOOT1拉低,BOOT0拉高至3.3V。

2.重新下载程序,刷掉FLASH。

3.把BOOT0再次拉低会原来的状态就OK啦。

由于知识的欠缺,我还不理解什么是BOOT,更不懂怎么拉低。。。

最后找学长帮忙了一下,按照以下步骤就排除了问题:

1.检查设置,包括device,debug啊什么的,芯片要选对

stm32开发板点亮led遇到问题

我的芯片是R8,注意下面这个:USE_STDPERIPH_DRIVER, STM32F10X_MD,有些人是USE_STDPERIPH_DRIVER, STM32F10X_HD, H应该代表high吧,然后M应该是middle的意思吧,反正我的芯片是M的,可以改,我就是把之前默认的H改为了M

stm32开发板点亮led遇到问题

值得注意的是,下面这个,port要改成sw,然后最大时钟调小一点,之前是默认的2MHz(我也不知道为什么

stm32开发板点亮led遇到问题

stm32开发板点亮led遇到问题
stm32开发板点亮led遇到问题

检查所有的设置如果都没错,烧录还是失败的话,那应该就是JLINK的问题,赶紧换一个试试,我当时那个JLINK就是有点问题,然后就有时候可以有时候却不行。

继续阅读