你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

[Arduino STM32] 01:管脚编号 PIN_MAP

[复制链接]
slotg 发布时间:2016-11-16 08:58
[Arduino STM32] 02:LCD5110 驱动

[Arduino STM32] 03:OLED 驱动



对于 Arduino STM32 开发板上的管脚使用,在上一篇文章中的 Blink 程序我们是直接声明 LED 管脚为 MCU 的管脚:

#define pinLED PC13

  pinMode(pinLED, OUTPUT);

  digitalWrite(pinLED, HIGH);

然而在 Arduino 的程序里头我们是可以直接使用管脚的编号的:

P01.JPG

比如说:

void setup() {
  // initialize digital pin 13 as an output.
  pinMode(13, OUTPUT);
}

假如我们在 Arduino STM32 板上也想要这么使用的话那我们该怎么知道管脚的编号呢?以上一个 Blink 程序来说,PC13 是对应到那一个编号呢?

在下载到 Arduino IDE 的 STM32 程序插件底下的 board.h 文件里头有这样的枚举类别:

// Note this needs to match with the PIN_MAP array in board.cpp
enum {
    PA0, PA1, PA2, PA3, PA4, PA5, PA6, PA7, PA8, PA9, PA10, PA11, PA12, PA13,PA14,PA15,
    PB0, PB1, PB2, PB3, PB4, PB5, PB6, PB7, PB8, PB9, PB10, PB11, PB12, PB13,PB14,PB15,
    PC13, PC14,PC15
};

这个排列就是 STM32F103C8T6 的管脚编号了,PA0 是 0,而 PC13 就是 32,所以我们将上一个 Blink 程序里头的 PC13 改成 32,程序一样可以正常运行。

#define pinLED 32


这里我们使用管脚编号的方式来实现一个流水灯程序,LED 连接到板子底下的 A15 至 B9 共 8 支脚,而 LED 是低电位点亮的方式。

P02.jpg

管脚编号对应如下:

A15 ->  15
B3  ->  19
B4  ->  20
B5  ->  21
B6  ->  22
B7  ->  23
B8  ->  24
B9  ->  25

程序如下:
  1. const byte LED[] = {15, 19, 20, 21, 22, 23, 24, 25};

  2. void setup() {
  3.   int x;
  4.   for(x=0; x<8; x++) {
  5.     pinMode(LED[x], OUTPUT);
  6.     digitalWrite(LED[x], HIGH);
  7.   }
  8. }

  9. void loop() {
  10.   int x;
  11.   for(x=0; x<8; x++) {
  12.     digitalWrite(LED[x], LOW);
  13.     delay(100);
  14.     digitalWrite(LED[x], HIGH);
  15.   }
  16. }
复制代码


运行结果:
MOV.gif



Arduino STM32 编程体验
https://www.stmcu.org.cn/module/forum/thread-608305-1-1.html



评分

参与人数 1 ST金币 +20 收起 理由
zero99 + 20

查看全部评分

收藏 1 评论10 发布时间:2016-11-16 08:58

举报

10个回答
xhzheng 回答时间:2016-11-16 14:09:18
厉害厉害,学习了;
zero99 回答时间:2016-11-16 14:28:26
学习新知识
wu1169668869 回答时间:2016-11-16 16:23:11
6666
这很arduino
shaoziyang 回答时间:2016-11-16 16:29:35
和Arduino用起来没有区别了
do335maomao 回答时间:2017-7-24 15:53:54
感谢分享
mcw2 回答时间:2017-8-5 23:47:58
楼主哪还有其他的一些 pwm输出端口 tx rx sda 端口都是谁啊 还是针对与arm来说可以引脚功能定义啊
mcw2 回答时间:2017-8-6 10:56:37
哎 怎么pwm驱动电机啊
stone528 回答时间:2018-12-26 15:18:06
请问如何定义第二个IIC接口啊?
willy926234097 回答时间:2019-3-6 10:21:40
感謝!老半天……終於了解了
yds2016 回答时间:2020-4-19 10:57:51
感谢分享

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版