鸿蒙开发板和STM32有啥区别,让arduino 把你的无用的stm32板子玩起来 之一

本文介绍了如何将Arduino环境与STM32开发板结合,通过在Arduino IDE中添加STM32支持包,设置开发板类型和芯片型号,然后编写简单的点灯程序进行验证。教程详细说明了配置步骤和注意事项,适合初学者入门。
摘要由CSDN通过智能技术生成

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

[复制链接]

2a0fb537e2975b3e6b702942b53e1d04.gif

本帖最后由 damiaa 于 2020-12-31 13:01 编辑

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

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

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

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

a26d678767e8b431ecd7a25f1936bdc5.gif

image-20201230101838-1.png (215.9 KB, 下载次数: 0)

2020-12-30 10:17 上传

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

a26d678767e8b431ecd7a25f1936bdc5.gif

image-20201230102215-2.png (224.84 KB, 下载次数: 0)

2020-12-30 10:20 上传

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

a26d678767e8b431ecd7a25f1936bdc5.gif

image-20201230102707-4.png (218.79 KB, 下载次数: 0)

2020-12-30 10:25 上传

a26d678767e8b431ecd7a25f1936bdc5.gif

image-20201230102749-5.png (201.47 KB, 下载次数: 0)

2020-12-30 10:26 上传

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值