找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4962|回复: 8
打印 上一主题 下一主题
收起左侧

stm8的代码怎么移植到stm32上?

[复制链接]
跳转到指定楼层
楼主
ID:291181 发表于 2018-9-4 14:06 来自手机 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
如题,
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:393354 发表于 2018-9-4 16:34 | 只看该作者
要修改相关寄存器哦
回复

使用道具 举报

板凳
ID:291181 发表于 2018-9-4 17:21 来自手机 | 只看该作者
duker 发表于 2018-9-4 16:34
要修改相关寄存器哦

这种改法可以吗?注释掉的是原代码

IMG_20180904_172050.jpg (70.69 KB, 下载次数: 33)

IMG_20180904_172050.jpg
回复

使用道具 举报

地板
ID:291181 发表于 2018-9-4 19:14 来自手机 | 只看该作者
吃个大西瓜 发表于 2018-9-4 17:21
这种改法可以吗?注释掉的是原代码

这压图。。。就是用GPIO_SetBits(GPIOB,Pin_1)代替PB_ODR|=BIT1,可以吗
回复

使用道具 举报

5#
ID:370370 发表于 2018-9-5 11:09 | 只看该作者
碰巧两个款都用过,可以答一答。
但是答之前还是忍不住吐槽一下,都有电脑了还要用手机拍照,请善用截图,而且论坛发贴可以粘代码段的,最好不要贴代码的图片,这样大家看都方便。
看起来你的STM8程序也是用库函数实现的,那移植到STM32上就不要用寄存器,最好也用库函数,很容易找到对应的库函数(官方叫标准外设库)。
但要注意STM8分几种型号,用的库函数都不一样
比如同样是GPIO置位的操作
在STM8L10X系列的库函数中是下面的形式:
  1. GPIO_SetBits( GPIOA, GPIO_Pin_2 );
复制代码

在STM8S系列的库函数中则是下面的形式:
  1. GPIO_WriteHigh(GPIOA, GPIO_PIN_2);
复制代码

所以首先你需要明确STM8的型号,知道用的是哪个库
接下来就是找对应的STM32的库,也要找对应你用的型号的库函数
比如还是上面的操作,STM32F10x的库函数里也是:
  1. GPIO_SetBits( GPIOA, GPIO_Pin_2 );
复制代码

但是STM32F10x在GPIO初始化时还需要配置时钟等等,跟STM8又有许多区别,仅仅对应修改是不够的

这些库函数在st官网都可以下载,里面都有说明文档。
当然,在文档里你会发现STM32比STM8多了很多东西,这时候对应的去查某个外设的用法例子就可以明白了,或者再到论坛上来问。


回复

使用道具 举报

6#
ID:370370 发表于 2018-9-5 11:20 | 只看该作者
刚刚好像看错了,stm8上用的是寄存器方式…… 当我没说
不过如果明白那个程序在做什么的话,是可以用STM32的库函数去实现的,比如GPIO的操作像你那样改是可以,但要注意我之前说的,STM32多了很多东西,比如GPIO的初始化要配置时钟之类的,要注意添加上,否则不能工作,最好多了解一下STM32。
回复

使用道具 举报

7#
ID:385920 发表于 2018-9-5 11:34 | 只看该作者
很简单啊。你这个都不会,改成stm32的工程
回复

使用道具 举报

8#
ID:393960 发表于 2018-9-5 11:40 | 只看该作者
问题太笼统了。。。
回复

使用道具 举报

9#
ID:393969 发表于 2018-9-5 11:57 | 只看该作者
STM8程序也是用库函数实现的,那移植到STM32上就不要用寄存器,最好也用库函数.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表