查看: 1148|回复: 10

[原创] Arduino STM32 编程体验

[复制链接]

33

主题

2

好友

4727

积分

状元

Rank: 6Rank: 6

  • TA的每日心情
    开心
    昨天 07:51
  • 签到天数: 1298 天

    [LV.10]以坛为家III

    爱板会员勋章 活跃会员勋章 在线达人勋章 在线之王勋章

    发表于 2016-10-21 20:44:26 |显示全部楼层
    STM32Minis.jpg

    在 TB 上看到了这一片 STM32F103C8T6 核心板,因为价格便宜才10多块钱所以没想太多就拍了一片下来,后来在网上无意间看到在国外有人拿这片板子在 Arduino IDE 编程,没想过这片便宜的板子也可以有这样的玩法,这引起了我的兴趣因此也就想自己也来体验一下了。

    除了先要有 Arduino IDE 之外(我电脑里已经有 1.6.9 版本),还要在这里下载 STM32 所需要的相关程序包:
    https://github.com/rogerclarkmelbourne/Arduino_STM32

    P02.JPG


    下载后会得到一个 Arduino_STM32-master.zip 压缩包,将文件解压到 Arduino IDE 安装目录里头的 \hardware 目录底下。

    P03.JPG


    运行 Arduino IDE,在开发板 Board 的部份就可以看到 STM32 相关的选单了,这片板子我们选择 Generic STM32F103C series 项目。(选单上也看到了 GD32)

    P04.JPG


    每一片开发板的开始都会有一个 Blink 程序:
    1. #define pinLED PC13

    2. void setup() {
    3.   Serial.begin(9600);
    4.   pinMode(pinLED, OUTPUT);
    5.   Serial.println("START");  
    6. }

    7. void loop() {
    8.   digitalWrite(pinLED, HIGH);
    9.   delay(100);
    10.   digitalWrite(pinLED, LOW);
    11.   delay(100);
    12.   Serial.println("Hello World");  
    13. }
    复制代码
    进行编译,不过却得到了这样的错误讯息:

    P01.JPG


    这原因是我们目前 Arduino IDE 里头没有 ARM Cortex-M3 的编译程序,进入选单里头的 Boards Manager 功能选择安装这一个控件:

    P05.JPG


    重新编译成功了。

    P06.JPG


    选择程序上传(下载)的方式:

    P07.JPG


    一开始我先使用了 STLink 方式,后来改用了 Serial 方式,原因是 Serial 方式可以开启串口窗口查看 STM32 串口发出的讯息。

    Serial 方式的硬件管脚连接如下:

    arduino_stm32f103c8t6.jpg


    由于 USB转TTL 无法提供 STM32F103C8T6 核心板所需要的 3.3V 电源,因此核心板的电是从板上的 USB 口供电的。(核心板上有 5V 转 3.3V 的 LDO)

    Serial 方式要先将板上的 BOOT0 接 1,上传前先按一下板上的 RESET 键后再按下窗口上的 Upload 。

    P08.JPG


    上传成功之后就可以看到板上的 LED 开始闪烁,并且在开启的串口窗口上看到 STM32 串口发出的 Hello World 了。

    P09.JPG



    分享一段视频,有人拿这片核心板跟 Arduino Mini/Nano 板运行一个相同的程序,使用 SPI 口来驱动一个 LCD 屏,看看 2 者之间的运行效率差别有多少。

    http://v.youku.com/v_show/id_XMTc2OTEyOTIyOA==.html


    STM32F103C8T6原理图
    STM32F103C8T6原理图.pdf (80.16 KB, 下载次数: 8)

    STM32F103C8T6核心板尺寸
    STM32F103C8T6核心板尺寸.pdf (15.17 KB, 下载次数: 8)




    已有 1 人评分声望 铜板 收起 理由
    shaoziyang + 5 + 10 赞一个!

    总评分: 声望 + 5  铜板 + 10   查看全部评分

    回复

    使用道具 举报

    0

    主题

    0

    好友

    60

    积分

    童生

    Rank: 2

  • TA的每日心情
    开心
    前天 15:04
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2016-10-26 10:50:24 |显示全部楼层
    这个炸天了,有没有更详细的教程哈
    回复

    使用道具 举报

    0

    主题

    0

    好友

    60

    积分

    童生

    Rank: 2

  • TA的每日心情
    开心
    前天 15:04
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2016-10-26 10:58:15 |显示全部楼层
    :)
    回复

    使用道具 举报

    0

    主题

    0

    好友

    23

    积分

    白丁

    Rank: 1

  • TA的每日心情
    慵懒
    5 天前
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2016-11-24 22:51:33 |显示全部楼层
    请问楼主:
    编译下载时显示
    Failled to init device:
    stm32flash0.4
    是bootload不对吗?
    怎样装载bootload?
    谢谢!
    我的ARDUINO版本是1.6.12
    回复

    使用道具 举报

    33

    主题

    2

    好友

    4727

    积分

    状元

    Rank: 6Rank: 6

  • TA的每日心情
    开心
    昨天 07:51
  • 签到天数: 1298 天

    [LV.10]以坛为家III

    爱板会员勋章 活跃会员勋章 在线达人勋章 在线之王勋章

    发表于 2016-11-25 10:12:48 |显示全部楼层
    fanjiezz 发表于 2016-11-24 22:51
    请问楼主:
    编译下载时显示
    Failled to init device:

    上传你是选择 Serial 模式吗?
    回复

    使用道具 举报

    0

    主题

    0

    好友

    23

    积分

    白丁

    Rank: 1

  • TA的每日心情
    慵懒
    5 天前
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2016-11-25 10:22:56 |显示全部楼层
    是的,没错。
    回复

    使用道具 举报

    33

    主题

    2

    好友

    4727

    积分

    状元

    Rank: 6Rank: 6

  • TA的每日心情
    开心
    昨天 07:51
  • 签到天数: 1298 天

    [LV.10]以坛为家III

    爱板会员勋章 活跃会员勋章 在线达人勋章 在线之王勋章

    发表于 2016-11-25 11:37:11 |显示全部楼层
    fanjiezz 发表于 2016-11-25 10:22
    是的,没错。

    我也不清楚這個是否跟 IDE 版本有關!晚點我再試試使用 1.6.12 版。
    回复

    使用道具 举报

    0

    主题

    0

    好友

    23

    积分

    白丁

    Rank: 1

  • TA的每日心情
    慵懒
    5 天前
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2016-11-26 12:33:07 |显示全部楼层
    楼主不用再试了,我已解决了。
    由于ARDUINO上传不行,用FLASH LOADER把它的BIN文件上传即可。
    也谢谢楼主的关心
    回复

    使用道具 举报

    0

    主题

    0

    好友

    23

    积分

    白丁

    Rank: 1

  • TA的每日心情
    慵懒
    5 天前
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2016-11-27 13:19:44 |显示全部楼层
    我试了多次,ARDUINO的上传成功概率极低。报错如下:
    ”Failed to init device.
    stm32flash 0.4
    http://stm32flash.googlecode.com/
    Using Parser : Raw BINARY
    Interface serial_w32: 230400 8E1“
    我用的是stm32f103c8t6型号
    原因在哪?求指教
    谢谢!
    回复

    使用道具 举报

    6

    主题

    0

    好友

    1052

    积分

    进士

    Rank: 5Rank: 5

  • TA的每日心情
    开心
    半小时前
  • 签到天数: 1115 天

    [LV.10]以坛为家III

    爱板会员勋章 活跃会员勋章 发帖机器勋章

    发表于 6 天前 |显示全部楼层
    这个可以了解一下
    回复

    使用道具 举报

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

    关闭

    站长推荐上一条 /5 下一条


    手机版|爱板网 |网站地图  

    GMT+8, 2016-12-11 00:57 , Processed in 0.126892 second(s), 20 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部