432|8

80

帖子

0

资源

一粒金砂(高级)

串口对应GPIO如何定义?

首先,展示一下我百度的资料:

UART(4) is on XA: (TX, RX) = (X1, X2) = (PA0, PA1)

UART(1) is on XB: (TX, RX) = (X9, X10) = (PB6, PB7)

UART(6) is on YA: (TX, RX) = (Y1, Y2) = (PC6, PC7)

UART(3) is on YB: (TX, RX) = (Y9, Y10) = (PB10, PB11)

UART(2) is on: (TX, RX) = (X3, X4) = (PA2, PA3)

但是我的一块micropythonSTM32F411板子上TX--PA09、RX--PA10,我在上面的列表里面找不到对应的GPIO的UART口,应该怎么定义,比如说配置成:9600bps(8 位数据、无校验、1 位停止位),我应该如何配置?

先谢谢各位。


回复

1万

帖子

13

资源

版主

对于STM32串口的引脚,首先需要在编译固件时,在mpconfigboard.h文件中定义串口引脚。例如pybv10和pybv11是这样定义的:

 

// UART config
#define MICROPY_HW_UART1_NAME   "XB"
#define MICROPY_HW_UART1_TX     (pin_B6)
#define MICROPY_HW_UART1_RX     (pin_B7)
#define MICROPY_HW_UART2_TX     (pin_A2)
#define MICROPY_HW_UART2_RX     (pin_A3)
#define MICROPY_HW_UART2_RTS    (pin_A1)
#define MICROPY_HW_UART2_CTS    (pin_A0)
#define MICROPY_HW_UART3_NAME   "YB"
#define MICROPY_HW_UART3_TX     (pin_B10)
#define MICROPY_HW_UART3_RX     (pin_B11)
#define MICROPY_HW_UART3_RTS    (pin_B14)
#define MICROPY_HW_UART3_CTS    (pin_B13)
#define MICROPY_HW_UART4_NAME   "XA"
#define MICROPY_HW_UART4_TX     (pin_A0)
#define MICROPY_HW_UART4_RX     (pin_A1)
#define MICROPY_HW_UART6_NAME   "YA"
#define MICROPY_HW_UART6_TX     (pin_C6)
#define MICROPY_HW_UART6_RX     (pin_C7)

 

在micropython中,就需要根据上面方式连接串口的引脚,而不能随意修改。

 

对于ESP32,因为支持引脚功能映射,因此很多引脚都可以用于串口,可以灵活设置。

 

 

点评

照楼主这么说,我们就可以把8266或者ESP32的引脚和程序里的引脚对应起来了?而不是必须使用牛头不对马嘴的那些东西了?如果我想把印刷上的引脚编号和程序里引用的编号对应起来,该做些什么工作呢?  详情 回复 发表于 2020-7-27 14:39
谢谢了,自己不会编译,是购买板子的时候,商家提供的micropython固件,那个固件估计有问题。  详情 回复 发表于 2020-7-27 13:59

回复

80

帖子

0

资源

一粒金砂(高级)

dcexpert 发表于 2020-7-27 11:34 对于STM32串口的引脚,首先需要在编译固件时,在mpconfigboard.h文件中定义串口引脚。例如pybv10和pybv11是 ...

谢谢了,自己不会编译,是购买板子的时候,商家提供的micropython固件,那个固件估计有问题。

点评

固件编译不难,可以参考社区的帖子   在win10的ubuntu子系统下编译micropython  详情 回复 发表于 2020-7-27 15:50

回复

100

帖子

0

资源

一粒金砂(中级)

dcexpert 发表于 2020-7-27 11:34 对于STM32串口的引脚,首先需要在编译固件时,在mpconfigboard.h文件中定义串口引脚。例如pybv10和pybv11是 ...

照版主这么说,我们就可以把8266或者ESP32的引脚和程序里的引脚对应起来了?而不是必须使用牛头不对马嘴的那些东西了?如果我想把印刷上的引脚编号和程序里引用的编号对应起来,该做些什么工作呢?

点评

ESP8266的引脚较少,功能也相对较少,串口只有1个半,REPL还占用了一个。ESP32就强多了。   很多引脚支持功能映射,可以自定义为PWM、串口、I2C、SPI、WS2812等功能。部分引脚只能做ADC,DAC引脚也是固定  详情 回复 发表于 2020-7-27 15:52

回复

1万

帖子

13

资源

版主

ywb888 发表于 2020-7-27 13:59 谢谢了,自己不会编译,是购买板子的时候,商家提供的micropython固件,那个固件估计有问题。

固件编译不难,可以参考社区的帖子

 

在win10的ubuntu子系统下编译micropython


回复

1万

帖子

13

资源

版主

9zhmke 发表于 2020-7-27 14:39 dcexpert 发表于 2020-7-27 11:34 对于STM32串口的引脚,首先需要在编译固件时,在mpconfigboard.h文件中 ...

ESP8266的引脚较少,功能也相对较少,串口只有1个半,REPL还占用了一个。ESP32就强多了。

 

很多引脚支持功能映射,可以自定义为PWM、串口、I2C、SPI、WS2812等功能。部分引脚只能做ADC,DAC引脚也是固定不能改变的。

 

 

点评

上次买了50个8266给学生入门,但很多学生经常把电路板上的引脚号码和程序里定义的端口脚号弄混,这个有办法改过来吗?  详情 回复 发表于 2020-7-27 23:32

回复

100

帖子

0

资源

一粒金砂(中级)

dcexpert 发表于 2020-7-27 15:52 ESP8266的引脚较少,功能也相对较少,串口只有1个半,REPL还占用了一个。ESP32就强多了。   ...

上次买了50个8266给学生入门,但很多学生经常把电路板上的引脚号码和程序里定义的端口脚号弄混,这个有办法改过来吗?

点评

对于才开始学习的学生,可能会容易弄错。可以画一个引脚图,讲引脚定义标出来。或者单独编写一个引脚定义文件,通过名称而不是数字去使用它,这样也可以避免一些问题。    详情 回复 发表于 2020-7-28 09:12

回复

1万

帖子

13

资源

版主

9zhmke 发表于 2020-7-27 23:32 上次买了50个8266给学生入门,但很多学生经常把电路板上的引脚号码和程序里定义的端口脚号弄混,这个有办 ...

对于才开始学习的学生,可能会容易弄错。可以画一个引脚图,将引脚定义标出来。或者单独编写一个引脚定义文件,通过名称而不是数字去使用它,这样也可以避免一些问题。

 


回复

100

帖子

0

资源

一粒金砂(中级)

谢谢指教,有没有8266的示范性引脚定义文件呢?  正好学习一下。


回复
您需要登录后才可以回帖 登录 | 注册

关闭
站长推荐上一条 1/7 下一条

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表