碰巧两个款都用过,可以答一答。
但是答之前还是忍不住吐槽一下,都有电脑了还要用手机拍照,请善用截图,而且论坛发贴可以粘代码段的,最好不要贴代码的图片,这样大家看都方便。
看起来你的STM8程序也是用库函数实现的,那移植到STM32上就不要用寄存器,最好也用库函数,很容易找到对应的库函数(官方叫标准外设库)。
但要注意STM8分几种型号,用的库函数都不一样
比如同样是GPIO置位的操作
在STM8L10X系列的库函数中是下面的形式:
- GPIO_SetBits( GPIOA, GPIO_Pin_2 );
复制代码
在STM8S系列的库函数中则是下面的形式:
- GPIO_WriteHigh(GPIOA, GPIO_PIN_2);
复制代码
所以首先你需要明确STM8的型号,知道用的是哪个库。
接下来就是找对应的STM32的库,也要找对应你用的型号的库函数。
比如还是上面的操作,STM32F10x的库函数里也是:
- GPIO_SetBits( GPIOA, GPIO_Pin_2 );
复制代码
但是STM32F10x在GPIO初始化时还需要配置时钟等等,跟STM8又有许多区别,仅仅对应修改是不够的。
这些库函数在st官网都可以下载,里面都有说明文档。
当然,在文档里你会发现STM32比STM8多了很多东西,这时候对应的去查某个外设的用法例子就可以明白了,或者再到论坛上来问。
|