【Arduino Nucleo072兼容包---抢先体验版】
* I" {& y0 p* X7 `5 T有图有真相:
; q% G4 p, e) @% x* Z
Nucleo072
# l! W/ E$ x1 L0 m安装步骤: ! Y: p8 E9 D8 p
- 在本帖的附件中下载ST-LINK.rar。解压到D:\Program Files\Arduino\hardware\tools。这个文件夹内的文件其实就是复制的ST-LINK的,里面有一个ST-LINK_CLI,供我们通过命令行来下载程序。
- 通过百度网盘链接https://pan.baidu.com/s/1gdIPp8R 下载g++_arm_none_eabi_2014q3.rar,并放置在D:\Program Files\Arduino\hardware\tools(和ST-LINK)放置在同一个文件夹内。这是我们编译程序使用的ARM GCC。和Arduino原生的虽然是同是GCC,但是版本不同。
- 在附件中下载stm32f0xx.rar,解压到D:\Program Files\Arduino\hardware\arduino。这是我们兼容包的全部代码。" ^9 l; H1 i# S; q1 n _
# A& M/ [7 {4 X1 i. o
# ]5 K U, S+ K5 Z! x+ y) C) g
! n; m/ F% A8 J% E% |: R! V% H7 ]6 K8 `6 l) t. h3 m. I4 K
说明:3 A/ t- W2 j" F! Z7 S
- 因为时间精力有限,目前实现的功能比较有限。如果有兴趣的话,你也可以添加其他的代码到兼容包中。我们一同来进行开发,让Nucleo系列更加完善。
- 芯片使用HSI作为时钟,主频为48M。
- ST Nucleo072共有4个USART,在Arduino中分别使用Serial,Serial2,Serial3,Serial4进行表示。为了与板子自带的USB 转串口兼容,Serial其实是USART2,Serial2是USART1,Serial3是USART3,Serial4是USART4。串口采用主动发送,中断接收的方式。中断接收的数据存放在ringBuffer中。是一种先入先出的队列结构。每一个Serial接收的数据存放在单独的ringBuffer中。
- 更多的软件细节请参考兼容包STM32F0XX/cores/Arduino中的代码。
- 兼容包STM32F0XX/system中存放的是CMSIS以及固件库。真正起作用的是头文件。源文件并不参与编译。修改system里面的源文件并不会起作用。
- 使用者可以将自己的代码添加至STM32F0XX/cores/Arduino文件夹,以及STM32F0XX/variants/Nucleo072中。这两个文件夹中的所有代码都能够参与编译。一般来说,建议,将Arduino相关的代码放置在Arduino文件夹。variants中仅仅放置每一个芯片读一无二的信息,例如启动文件,system_stm32f0xx.c,引脚信息文件。
- 在启动的时候,已经打开算了所有的GPIO的时钟。
- 在启动的时候,已经将systick配置成为1ms中断的工作方式。systick也正是delay函数工作的保证。
- 对函数有任何疑问,欢迎在下面留言讨论。
- 在之前也发过一个Nucleo072的兼容包。这一个包在之前的基础上,重新进行编写。主要是对编译工具,下载工具的重新命名,安装位置改变。也重新整理了部分编译的函数(platform.txt),是platform.txt更加通用。如果你使用过上一个版本,请按照这一个版本的改变重新安装。! Z/ e: |6 p9 J' P1 d
* [( ~' `/ g8 U( Q
~4 t8 @1 ~ c$ c5 y( R! [/ a4 I# U) r6 }$ j
实现的函数:' z8 D5 _% g, i* W7 Z% G/ Z0 j
- digitalWrite
- digitalRead
- toggleDigital
- pinMode
- Serialx.xxx
- analogRead
- analogReadResolution
- delay
! ]2 C" d1 S, [8 i. ^8 U- ~ 1 @5 S+ f+ Z. H" L4 p
A7 L' c+ u8 [3 b4 e/ R; t# ]; I
3 b/ k" G0 X/ a" B& @) S- m5 z2 s! A( r
( c5 e: M+ Q/ j+ j3 n
* ?$ T* U* P+ q6 f9 ?7 r2 P
9 D0 U* d" Q$ D/ z' J! _% q
3 p; N4 Z; i% P3 K" R/ |( e' S
. u7 E: x8 L0 Q) o" n: Z* \* ~" n* @) z% r) P+ S9 g8 e8 d8 ?3 `
7 t6 I$ D3 S/ x# @% {7 D
# ~7 I1 B4 ^# I0 W! o C/ |* z1 l; Q' Q# r! Z, R2 t$ l
; J1 U% n" Y0 t
# t' n6 J: y; Y2 g |
看这个提示估计是找不到g++这个程序导致的。你的Arduino的安装目录在什么地方呢?
可以先下载代码看看啊,社区也有教程