STM32
登录
直播中
CDCNKA
8年用户
1201经验值
擅长:385288
私信
关注
[问答]
怎样将stm32rct6的串口例程移植到stm32f103c8t6中去呢
开启该帖子的消息推送
移植
怎样将
STM32
rct6的串口例程移植到stm32f103c8t6中去呢?有哪些操作步骤?
回帖
(1)
陈菊羽
2021-12-13 14:31:44
目前市面上见的较多的STM32单片机一般都是开发板,由于这些开发板又很丰富的例程,因此使用起来非常方便,但是我们实际在应用的时候,有时候可能用不了那么多的管脚,因此会造成管脚资源的浪费,而且管脚多的成本也会很高。同时这些STM32单片机的基础的库基本都是一样的,因此理论上来说,应该是可以进行移植的,博主今天来分享一下代码移植的方法。本次采用stm32f103rct6的代码移植到stm32f103c8t6。其他STM32单片机之间的移植方式和这个类似,大家要学会举一反三。
博主在做一些项目的实际过程中,通过自己的摸索,慢慢找到了移植方法,本次通过将正点原子stm32rct6的串口例程移植到stm32f103c8t6中。
1. 打开工程之后点击品旁边的魔术棒,之后选择decice将单片机类型选择为STM32F103C8.如下图所示
2.在Target选项卡中,将晶振改成板子上的晶振大小,我的是8MHZ,因此改8。如下图所示
3.在C/C++选项卡中,将Define从STM32F10X_HD,USE_STDPERIPH_DRIVER改成 STM32F10X_MD,USE_STDPERIPH_DRIVER 。因为咱们的c8t6是middle型的单片机。有时候在碰到一个没用的单片机,不知道怎么改的时候,我觉得可以去找一个 哪一个单片机的例程,把他改成里边对应的 就可以了。修改过后如下图所示
4.在Debug 选项中,修改对应的下载器的设置,我这里用的是STLINK,这里下载器根据自己的来就好。选择之后,点击settings, 当然选择SW模式进行调试,之后在settings的Flash Download选项卡内,可以看到当前的programming algorithm为High-denity的高密度的内存(也就是闪存),但是我们的c8t6是middle中密度的内存,因此我们将已有的remove移除,之后add添加一个新的正确的内存即可。这个时候有可能会遇到一个很尴尬的问题,就是没有我们要找的算法,此时我们就需要去官网下载一个文件即可。
下载安装之后即可发现多了好多,选择即可。选择好的如下图所示:
5.之后需要将启动文件由startup_stm32f10x_md.s修改为startup_stm32f10x_hd.s即可。先将startup_stm32f10x_md.s右键移除,之后双击CORE添加startup_stm32f10x_hd.s即可。修改完成的图如下:
6.此时编译工程下载之后,程序已经可以运行,但是有的时候会出现始终变慢的情况,需要在主函数里边加一个SystemInit();
即可。加完的结果如下:、
此时移植完成,通过STLINK可以下载到stm32c8t6单片机上,并顺利运行。
目前市面上见的较多的STM32单片机一般都是开发板,由于这些开发板又很丰富的例程,因此使用起来非常方便,但是我们实际在应用的时候,有时候可能用不了那么多的管脚,因此会造成管脚资源的浪费,而且管脚多的成本也会很高。同时这些STM32单片机的基础的库基本都是一样的,因此理论上来说,应该是可以进行移植的,博主今天来分享一下代码移植的方法。本次采用stm32f103rct6的代码移植到stm32f103c8t6。其他STM32单片机之间的移植方式和这个类似,大家要学会举一反三。
博主在做一些项目的实际过程中,通过自己的摸索,慢慢找到了移植方法,本次通过将正点原子stm32rct6的串口例程移植到stm32f103c8t6中。
1. 打开工程之后点击品旁边的魔术棒,之后选择decice将单片机类型选择为STM32F103C8.如下图所示
2.在Target选项卡中,将晶振改成板子上的晶振大小,我的是8MHZ,因此改8。如下图所示
3.在C/C++选项卡中,将Define从STM32F10X_HD,USE_STDPERIPH_DRIVER改成 STM32F10X_MD,USE_STDPERIPH_DRIVER 。因为咱们的c8t6是middle型的单片机。有时候在碰到一个没用的单片机,不知道怎么改的时候,我觉得可以去找一个 哪一个单片机的例程,把他改成里边对应的 就可以了。修改过后如下图所示
4.在Debug 选项中,修改对应的下载器的设置,我这里用的是STLINK,这里下载器根据自己的来就好。选择之后,点击settings, 当然选择SW模式进行调试,之后在settings的Flash Download选项卡内,可以看到当前的programming algorithm为High-denity的高密度的内存(也就是闪存),但是我们的c8t6是middle中密度的内存,因此我们将已有的remove移除,之后add添加一个新的正确的内存即可。这个时候有可能会遇到一个很尴尬的问题,就是没有我们要找的算法,此时我们就需要去官网下载一个文件即可。
下载安装之后即可发现多了好多,选择即可。选择好的如下图所示:
5.之后需要将启动文件由startup_stm32f10x_md.s修改为startup_stm32f10x_hd.s即可。先将startup_stm32f10x_md.s右键移除,之后双击CORE添加startup_stm32f10x_hd.s即可。修改完成的图如下:
6.此时编译工程下载之后,程序已经可以运行,但是有的时候会出现始终变慢的情况,需要在主函数里边加一个SystemInit();
即可。加完的结果如下:、
此时移植完成,通过STLINK可以下载到stm32c8t6单片机上,并顺利运行。
举报
更多回帖
rotate(-90deg);
回复
相关问答
移植
怎样
将
stm32rct6
的
串口
例程
移植
到
stm32f103c8t6
上
去呢
2021-10-18
1798
怎样
将
HAL库
STM32F103RCT6
移植
到
STM32F103C8T6
上
去呢
2021-12-15
1425
怎样
将
STM32F103RCT6
的程序移到
STM32F103C8T6
上来
2021-10-25
1355
如何
将
STM32
的固件直接刷进CH32
F103C8T6
芯片
中去呢
2022-01-20
2067
在
STM32F103C8T6
上
怎样
去
移植
mpu9250
例程
呢
2021-10-26
2202
怎样
用
stm32F103C8T6
的
串口
下载程序?
2016-11-20
16404
STM32f103c8t6
的引脚有哪些
2021-10-26
4308
基于
stm32f103c8t6
的有mcp2515的can
例程
2014-05-27
13352
cJSON在
STM32F103C8T6
的
移植
步骤是
怎样
的?
2021-12-02
673
怎样
去解决
STM32F103ZET6
库函数程序
移植
的Delay函数异常问题
2021-12-15
1262
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分