Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
wwsmg1
rt-thread
提交
f35791e3
R
rt-thread
项目概览
wwsmg1
/
rt-thread
与 Fork 源项目一致
Fork自
RT-Thread / rt-thread
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rt-thread
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f35791e3
编写于
9月 08, 2022
作者:
mysterywolf
提交者:
guo
9月 09, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[rtduino] [stm32f072] update i2c device readme
上级
cd2a381a
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
34 addition
and
34 deletion
+34
-34
bsp/stm32/stm32f072-st-nucleo/applications/arduino_pinout/README.md
...stm32f072-st-nucleo/applications/arduino_pinout/README.md
+30
-30
bsp/stm32/stm32f072-st-nucleo/applications/arduino_pinout/pins_arduino.c
...f072-st-nucleo/applications/arduino_pinout/pins_arduino.c
+4
-4
未找到文件。
bsp/stm32/stm32f072-st-nucleo/applications/arduino_pinout/README.md
浏览文件 @
f35791e3
...
...
@@ -20,45 +20,45 @@ Hardware Drivers Config --->
该BSP遵照Arduino UNO板的引脚排列方式。详见
`pins_arduino.c`
| Arduino引脚编号 | STM32引脚编号 | 5V容忍 | 备注
|
| -----------
---- | ------------- | ------ | ----------------------
-------------------------------------- |
| 0 (D0)
| -- | | 该引脚在UNO板中为串口RX引脚,不可当做普通IO
|
| 1 (D1)
| -- | | 该引脚在UNO板中为串口TX引脚,不可当做普通IO
|
| 2 (D2)
| PA10 | 是 |
|
| 3 (D3)
| PB3 | 是 | PWM(定时器2发生)
|
| 4 (D4)
| PB5 | 是 |
|
| 5 (D5)
| PB4 | 是 | PWM(定时器3发生)
|
| 6 (D6)
| PB10 | 是 | PWM(定时器2发生)
|
| 7 (D7)
| PA8 | 是 |
|
| 8 (D8)
| PA9 | 是 |
|
| 9 (D9)
| PC7 | 是 | PWM(定时器3发生)
|
| 10 (D10)
| PB6 | 是 | PWM(定时器16发生)
|
| 11 (D11)
| PA7 | 否 | PWM(定时器17发生)
|
| 12 (D12)
| PA6 | 否 |
|
| 13 (D13)
| PA5 | 否 |
|
| 14 (D14)
| PB9 | 是 | I2C1-SDA,被RT-Thread的I2C设备框架i2c1总线接管,不可当做普通IO
|
| 15 (D15)
| PB8 | 是 | I2C1_SCL,被RT-Thread的I2C设备框架i2c1总线接管,不可当做普通IO
|
| 16 (D16)
| PC13 | 否 | Nucleo板载用户按键(左侧蓝色)
|
| A0
| PA0 | 否 | ADC
|
| A1
| PA1 | 否 | ADC
|
| A2
| PA4 | 否 | ADC
|
| A3
| PB0 | 否 | ADC
|
| A4
| PC1 | 否 | ADC
|
| A5
| PC0 | 否 | ADC
|
| A6
| -- | | 芯片内部参考电压 ADC
|
| A7
| -- | | 芯片内部温度 ADC
|
| Arduino引脚编号 | STM32引脚编号 | 5V容忍 | 备注 |
| -----------
| --------- | ---- |
-------------------------------------- |
| 0 (D0)
| PA3 | 否 | 默认为串口RX引脚,不建议当做普通IO
|
| 1 (D1)
| PA2 | 否 | 默认为串口TX引脚,不建议当做普通IO
|
| 2 (D2)
| PA10 | 是 |
|
| 3 (D3)
| PB3 | 是 | PWM(定时器2发生)
|
| 4 (D4)
| PB5 | 是 |
|
| 5 (D5)
| PB4 | 是 | PWM(定时器3发生)
|
| 6 (D6)
| PB10 | 是 | PWM(定时器2发生)
|
| 7 (D7)
| PA8 | 是 |
|
| 8 (D8)
| PA9 | 是 |
|
| 9 (D9)
| PC7 | 是 | PWM(定时器3发生)
|
| 10 (D10)
| PB6 | 是 | PWM(定时器16发生)
|
| 11 (D11)
| PA7 | 否 | PWM(定时器17发生)
|
| 12 (D12)
| PA6 | 否 |
|
| 13 (D13)
| PA5 | 否 |
|
| 14 (D14)
| PB9 | 是 | 默认为I2C1-SDA,被RT-Thread的I2C设备框架i2c1总线接管
|
| 15 (D15)
| PB8 | 是 | 默认为I2C1-SCL,被RT-Thread的I2C设备框架i2c1总线接管
|
| 16 (D16)
| PC13 | 否 | Nucleo板载用户按键(左侧蓝色)
|
| A0
| PA0 | 否 | ADC
|
| A1
| PA1 | 否 | ADC
|
| A2
| PA4 | 否 | ADC
|
| A3
| PB0 | 否 | ADC
|
| A4
| PC1 | 否 | ADC
|
| A5
| PC0 | 否 | ADC
|
| A6
| -- | | 芯片内部参考电压 ADC
|
| A7
| -- | | 芯片内部温度 ADC
|
> 注意:
>
>
> 1. 驱动舵机和analogWrite函数要选择不同定时器发生的PWM信号引脚,由于STM32的定时器4个通道需要保持相同的频率,如果采用相同的定时器发生的PWM分别驱动舵机和analogWrite,可能会导致舵机失效。
> 2. USART2是Nucleo板的默认串口,理论应对接到了Arduino引脚编号的D0和D1,但是其实际用于串口通信,因此不允许当做普通IO来使用和操作。如果需要将D0、D1与STM32 USART2的引脚相连,需要手动焊接锡桥SB62、SB63。
> 3. Nucleo板的Arduino接口中AVDD(即AREF)默认是与VDD相连的,如果需要扩展板提供外部参考电压,需要将SB57锡桥挑开。
> 4. D10引脚是PWM反相位引脚(也就是常说的互补输出引脚CHxN)。但是这里不用考虑到占空比互补问题(CHx-20%,CHxN-80%),直接正常使用即可。
> 参考资料
>
>
> 【1】[STM32 Nucleo板官方手册](https://www.st.com/resource/en/user_manual/um1724-stm32-nucleo64-boards-mb1136-stmicroelectronics.pdf)
## 3 I2C总线
STM32F072 Nucleo板的I2C总线是板上丝印的
`SCL/D15`
和
`SDA/D14`
引脚,这两个引脚
是被RT-Thread I2C设备框架接管的,不需要直接操控这两个引脚
,直接引用
`#include <Wire.h>`
(Arduino官方I2C头文件)即可使用。
STM32F072 Nucleo板的I2C总线是板上丝印的
`SCL/D15`
和
`SDA/D14`
引脚,这两个引脚
默认是被RT-Thread I2C设备框架接管的
,直接引用
`#include <Wire.h>`
(Arduino官方I2C头文件)即可使用。
bsp/stm32/stm32f072-st-nucleo/applications/arduino_pinout/pins_arduino.c
浏览文件 @
f35791e3
...
...
@@ -20,8 +20,8 @@
*/
const
pin_map_t
pin_map_table
[]
=
{
{
D0
},
/*
RX */
{
D1
},
/*
TX */
{
D0
,
GET_PIN
(
A
,
3
),
"uart2"
},
/* UART2-
RX */
{
D1
,
GET_PIN
(
A
,
2
),
"uart2"
},
/* UART2-
TX */
{
D2
,
GET_PIN
(
A
,
10
)},
{
D3
,
GET_PIN
(
B
,
3
),
"pwm2"
,
2
},
/* PWM */
{
D4
,
GET_PIN
(
B
,
5
)},
...
...
@@ -34,8 +34,8 @@ const pin_map_t pin_map_table[]=
{
D11
,
GET_PIN
(
A
,
7
),
"pwm17"
,
1
},
/* PWM */
{
D12
,
GET_PIN
(
A
,
6
)},
{
D13
,
GET_PIN
(
A
,
5
)},
{
D14
},
/* I2C1-SDA */
{
D15
},
/* I2C1-SCL */
{
D14
,
GET_PIN
(
B
,
9
),
"i2c1"
},
/* I2C1-SDA */
{
D15
,
GET_PIN
(
B
,
8
),
"i2c1"
},
/* I2C1-SCL */
{
D16
,
GET_PIN
(
C
,
13
)},
/* user button */
{
A0
,
GET_PIN
(
A
,
0
),
"adc1"
,
0
},
/* ADC */
{
A1
,
GET_PIN
(
A
,
1
),
"adc1"
,
1
},
/* ADC */
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录