RT,捡了一块野火的指南者,上电发现MCU比我的电脑还烫,一量发现VSS和VDD直接短路。

STM32有些过于太贵(大嘘,于是决定试试国产32,经过价格升序(X,选择了上海灵动微电子股份有限公司的MM32103VET6。

比对了一下引脚,发现这简直是P2P兼容啊!兴冲冲的焊上去,擦电,开基!没有想象中的武安大电牛,电流看起来很正常。

接下来,祭出咱的DAP调试器,直接SWD开连!

看起来很完美,下个程序试试?据说这玩意库函数也是兼容的…

笑死,去官网下一个支持包吧。

话说这为啥是分开的两个包啊(疑惑?不管了,野火例程,编译下载!一气呵成!Application Running!

我超,不对劲啊,咋没动静啊?debug跟一下吧 [快哭了]

跟了一遍,发现程序倒也在正常执行,振荡器也已经起振,但是就是没啥动静。

这不太对啊?点个灯试试?从官网下一个MM32103xx_n的例程,跟了一下,发现GPIO还是不能用!可恶!

这咋写都是0,看起来像是时钟没开。继续往上找,发现是时钟(APB2ENR)没有被置1,但手动置1没用,写3C变成30。

写入3C后的APB2ENR
UM_MM32F103xx_n_Ver1.69对APB2ENR的描述

这就不太对劲了,为啥?片子出问题的概率应该是可以忽略不计的,最大可能是因为这个寄存器根本就跟手册描述的不一样。

到这,才注意到手册是MM32F103xx_n,而_n系列在官网上只对应了x8和xB系列,并没有对xCxE系列做出说明。

经过对比和查资料,xCxE系列对应的后缀是_o,但官网上并没有给出_o的相关资料。


最后还是被我找到了σ`∀´),原来GPIO挂在了AHB上,上面操作APB2ENR开启的是UART。

AHB1ENR
APB2ENR

这下好玩了,以后找替代还得仔细看,掉坑里轻轻松松的。


找到的资料

MM32F103xx_o例程: Github