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

[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
感謝!老半天……終於了解了
12下一页

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似技术帖

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