[经验] 让arduino 把你的无用的stm32板子玩起来 之一

damiaa   2020-12-30 10:29 楼主

让arduino 把你的无用的stm32板子玩起来 之一

1,环境很重要 下载安装1.8.13.

2,文件==》首选项=》附加开发板管理网址加入

https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json 记得莫覆盖前面加入过的。加入单独一行这样就可以不去掉以前加入的

image-20201230101838-1.png 3,工具==》开发板==》开发板管理器==》输入stm32 看到如下图的stm32的支持包。安装请耐心,有时候不成功 多试几次。

image-20201230102215-2.png 4,这个时候就OK了

5,拿块板子个点灯。记得stm32的所有板子基本都可以!!!不过最新的不一定   切记!!!

int led2 = 48;
// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(led2, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(led2, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(led2, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}

6,燃后设置芯片板子类型,芯片类型,烧写方式 比如我的是stm32F030R8的 discovery板子 就选 discovery  stm32F030R8 swd烧写。编译上传就OK

image-20201230102707-4.png

image-20201230102749-5.png

 

7,记得去查找你的IO口在这个目录的这个文件: 这个可以找到你的板子的IO对应

C:\Users\zz\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.9.0\variants\DISCO_F030R8\ 

variant.h

// P1 connector Right side (bottom view)
#define PC13 0
#define PC14 1
#define PC15 2
#define PF0  3
#define PF1  4
#define PC0  A0
#define PC1  A1
#define PC2  A2
#define PC3  A3
#define PA0  A4 // USER_BTN
#define PA1  A5
#define PA2  A6
#define PA3  A7
#define PF4  13
#define PF5  14
#define PA4  A8
#define PA5  A9
#define PA6  A10
#define PA7  A11
#define PC4  A12
#define PC5  A13
#define PB0  A14
#define PB1  A15
#define PB2  23
#define PB10 24
#define PB11 25
#define PB12 26
// P2 connector Left side (bottom view)
#define PB9  27
#define PB8  28
#define PB7  29
#define PB6  30
#define PB5  31
#define PB4  32
#define PB3  33
#define PD2  34
#define PC12 35
#define PC11 36
#define PC10 37
#define PA15 38
#define PA14 39
#define PF7  40
#define PF6  41
#define PA13 42
#define PA12 43
#define PA11 44
#define PA10 45
#define PA9  46
#define PA8  47
#define PC9  48 // LED_GREEN (LD3)
#define PC8  49 // LED_BLUE (LD4)
#define PC7  50
#define PC6  51
#define PB15 52
#define PB14 53
#define PB13 54
// This must be a literal
#define NUM_DIGITAL_PINS        71
// This must be a literal with a value less than or equal to to MAX_ANALOG_INPUTS
#define NUM_ANALOG_INPUTS       16
//On-board LED pin number
#define LED_BUILTIN             PC9 // LD3
#define LED_GREEN               LED_BUILTIN
#define LED_BLUE                PC8 // LD4
//On-board user button
#define USER_BTN                PA0
// SPI definitions
// SPI1 is used
#define PIN_SPI_SS              PA4
#define PIN_SPI_SS1             PC4
#define PIN_SPI_SS2             PB12
#define PIN_SPI_SS3             PC6
#define PIN_SPI_MOSI            PA7
#define PIN_SPI_MISO            PA6
#define PIN_SPI_SCK             PA5
// I2C Definitions
// I2C1 is used
#define PIN_WIRE_SDA            PB9
#define PIN_WIRE_SCL            PB8
// Timer Definitions
// Use TIM6/TIM7 when possible as servo and tone don't need GPIO output pin
#define TIMER_TONE              TIM6
#define TIMER_SERVO             TIM14
// UART Definitions
#define SERIAL_UART_INSTANCE    1 // USART 1
// Mandatory for Firmata
#define PIN_SERIAL_RX           PA10
#define PIN_SERIAL_TX           PA9
#ifdef __cplusplus
} // extern "C"
#endif

 

本帖最后由 damiaa 于 2020-12-31 13:01 编辑
  • image-20201230102701-3.png

回复评论 (13)

赞                   

我从不担心我努力了不优秀,只担心优秀的人都比我更努力。如果你无法忍受孤独,就不要追逐梦想。每一个优秀的人,都有一段沉默的时光。在那一段时光,你付出了很多努力,忍受孤独和寂寞,不抱怨不诉苦,最后渡过了这
点赞  2020-12-30 10:52

damimi 看来粉上了。

默认摸鱼,再摸鱼。2022、9、28
点赞  2020-12-30 18:59

666,一板带一板,Arduino是真的流批

点赞 (1) 2020-12-30 19:26
引用: freebsder 发表于 2020-12-30 18:59 damimi 看来粉上了。

哈哈,看中了arduino的库多,可以学学别人的编程方法。另外玩C++ 蛮好的。就是arduino编译太慢。另外不能调试。有人做了个stduino 但还不完善。 还有人把arduino的stm32移植到keil上。编译快。但没有arduino官网的完善。

点赞  2020-12-31 08:59
w494143467 发表于 2020-12-30 19:26 666,一板带一板,Arduino是真的流批

确实。 stc的51都搞到arduino上了。  如果你板子很多。就可以用arduino把他们都玩起来了。不用改什么程序。 GD32好像也有些可以用。

本帖最后由 damiaa 于 2020-12-31 09:01 编辑
点赞  2020-12-31 09:00

 

FASTSHIFT / Arduino-For-Keil

github Arduino for Keil

这是一个轻量级的Arduino框架,使STM32系列单片机兼容Arduino语法,在Keil上进行编译调试。

相对于传统开发方式的优势:

1.与Arduino共用生态,降低学习门槛,简化开发过程。

2.关键部分使用了 寄存器+宏 的优化方式,减少函数调用开销,提升运行效率。

3.简化的Arduino框架,相对stm32duino与HAL库,拥有更小的代码体积、更快的编译和执行速度。

 

点赞  2020-12-31 09:05

现在居然支持这么多的32系列了,几年前还是寥寥无几的几个型号

点赞  2020-12-31 10:27

具体 看github.com/stm32duino/Arduino_Core_STM32

本帖最后由 damiaa 于 2020-12-31 12:55 编辑
点赞  2020-12-31 12:18

为什么Arduino编译这么慢?编译个闪灯程序要十几分钟。

点赞  2020-12-31 12:58
引用: woody_chen 发表于 2020-12-31 12:58 为什么Arduino编译这么慢?编译个闪灯程序要十几分钟。

是的 特别是第一次编译

点赞  2020-12-31 13:02
引用: damiaa 发表于 2020-12-31 08:59 哈哈,看中了arduino的库多,可以学学别人的编程方法。另外玩C++ 蛮好的。就是arduino编译太慢。另外不能 ...

mbed好像也挺好的,就是上手麻烦些。

默认摸鱼,再摸鱼。2022、9、28
点赞  2020-12-31 15:39

赞,想学习下

点赞  2022-4-23 15:42
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复