Aocoda-RC F405V2 FC(STM32F405RGT6 v.s. AT32F435RGT7) IO Definitions

2023-10-21 19:52

本文主要是介绍Aocoda-RC F405V2 FC(STM32F405RGT6 v.s. AT32F435RGT7) IO Definitions,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

@[TOC](Aocoda-RC F405V2 FC(STM32F405RGT6 v.s. AT32F435RGT7) IO Definitions)

1. 源由

Aocoda-RC F405V2飞控支持betaflight/inav/Ardupilot固件,是一款固件兼容性非常不错的开源硬件。

之前我们对比过STM32F405RGT6 v.s. AT32F435RGT7 Comparison for Flight Controller,整体对比:

  1. 性能上显著提升
  2. 引脚定义基本一致
  3. 容量上最大支持4MB

通过betaflight开源,可以非常快速的了解硬件的引脚对应关系:

  • AOCODAF405V2MPU6000
  • AOCODAF405V2MPU6500

若将该芯片直接替换成AT32F435RGT7,在硬件升级上需要做哪些改动或者调整/优化?

2. 功能引脚对比

STM32F405RGT6飞控引脚连线参考图:

在这里插入图片描述

2.1 SPI

2.1.1 Gyro

#define GYRO_1_CS_PIN        PA4
#define SPI1_SCK_PIN         PA5
#define SPI1_SDI_PIN         PA6
#define SPI1_SDO_PIN         PA7#define GYRO_1_EXTI_PIN      PC4

在这里插入图片描述在这里插入图片描述

2.1.2 OSD

#define MAX7456_SPI_CS_PIN   PA13
#define SPI2_SCK_PIN         PB13
#define SPI2_SDI_PIN         PB14
#define SPI2_SDO_PIN         PB15

在这里插入图片描述

在这里插入图片描述

2.1.3 Flash

#define FLASH_CS_PIN         PC0
#define SPI3_SCK_PIN         PB3
#define SPI3_SDI_PIN         PB4
#define SPI3_SDO_PIN         PB5

在这里插入图片描述在这里插入图片描述

2.2 I2C

#define I2C1_SCL_PIN         PB6
#define I2C1_SDA_PIN         PB7

在这里插入图片描述在这里插入图片描述

2.3 USB

#define USB_DETECT_PIN       PB12

在这里插入图片描述

2.4 UART

# The normal usage of this ordering is:
# 1) SERIAL0: console (primary mavlink, usually USB)
# 2) SERIAL1: GPS
# 3) SERIAL2: RC input
# 4) SERIAL3: ESC Telemetry
# 5) SERIAL4: VTX
# 6) SERIAL5: Telemetry

2.4.1 UART1

#define UART1_TX_PIN         PA9
#define UART1_RX_PIN         PA10

在这里插入图片描述

2.4.2 UART2

#define UART2_TX_PIN         PA2
#define UART2_RX_PIN         PA3

在这里插入图片描述
注:PA3有定时器资源,可用于单线协议。

2.4.3 UART3

#define UART3_TX_PIN         PC10
#define UART3_RX_PIN         PC11

在这里插入图片描述

2.4.4 UART4

#define UART4_TX_PIN         PA0
#define UART4_RX_PIN         PA1

在这里插入图片描述

2.4.5 UART5

#define UART5_TX_PIN         PC12
#define UART5_RX_PIN         PD2

在这里插入图片描述在这里插入图片描述

2.5 Motor

#define MOTOR1_PIN           PC6
#define MOTOR2_PIN           PC7
#define MOTOR3_PIN           PC8
#define MOTOR4_PIN           PC9
#define MOTOR5_PIN           PA15
#define MOTOR6_PIN           PA8
#define MOTOR7_PIN           PB10
#define MOTOR8_PIN           PB11TIMER_PIN_MAP( 1, PC6 , 2,  1) \
TIMER_PIN_MAP( 2, PC7 , 2,  1) \
TIMER_PIN_MAP( 3, PC8 , 2,  1) \
TIMER_PIN_MAP( 4, PC9 , 2,  0) \
TIMER_PIN_MAP( 5, PA15, 1,  0) \
TIMER_PIN_MAP( 6, PA8 , 1,  1) \
TIMER_PIN_MAP( 7, PB10, 1,  0) \
TIMER_PIN_MAP( 8, PB11, 1,  0) \

在这里插入图片描述

2.6 ADC

#define ADC_VBAT_PIN         PC2
#define ADC_RSSI_PIN         PC3
#define ADC_CURR_PIN         PC1

在这里插入图片描述

2.7 LED & LED stripe

2.7.1 LED

#define LED0_PIN             PC13

在这里插入图片描述

2.7.2 LED stripe

#define LED_STRIP_PIN        PB1TIMER_PIN_MAP( 9, PB1 , 2,  0)

在这里插入图片描述

2.8 Buzzer

#define BEEPER_PIN           PB8

在这里插入图片描述

3. 总结

3.1 电气特性差异

  • STM32F405RGT6 : VCAP_1/VCAP_2
    在这里插入图片描述

  • AT32F435RGT7: PH3/PH2
    在这里插入图片描述
    在这里插入图片描述

3.2 功能引脚差异

基本一致。

3.3 未使用功能引脚

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

4. 参考资料

【1】STM32F405/415
【2】AT32F435 Series
【3】STM32F405RGT6 v.s. AT32F435RGT7 Comparison for Flight Controller

这篇关于Aocoda-RC F405V2 FC(STM32F405RGT6 v.s. AT32F435RGT7) IO Definitions的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/256614

相关文章

Java IO 操作——个人理解

之前一直Java的IO操作一知半解。今天看到一个便文章觉得很有道理( 原文章),记录一下。 首先,理解Java的IO操作到底操作的什么内容,过程又是怎么样子。          数据来源的操作: 来源有文件,网络数据。使用File类和Sockets等。这里操作的是数据本身,1,0结构。    File file = new File("path");   字

springboot体会BIO(阻塞式IO)

使用springboot体会阻塞式IO 大致的思路为: 创建一个socket服务端,监听socket通道,并打印出socket通道中的内容。 创建两个socket客户端,向socket服务端写入消息。 1.创建服务端 public class RedisServer {public static void main(String[] args) throws IOException {

Java基础回顾系列-第七天-高级编程之IO

Java基础回顾系列-第七天-高级编程之IO 文件操作字节流与字符流OutputStream字节输出流FileOutputStream InputStream字节输入流FileInputStream Writer字符输出流FileWriter Reader字符输入流字节流与字符流的区别转换流InputStreamReaderOutputStreamWriter 文件复制 字符编码内存操作流(

android java.io.IOException: open failed: ENOENT (No such file or directory)-api23+权限受权

问题描述 在安卓上,清单明明已经受权了读写文件权限,但偏偏就是创建不了目录和文件 调用mkdirs()总是返回false. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.READ_E

JavaEE-文件操作与IO

目录 1,两种路径 二,两种文件 三,文件的操作/File类: 1)文件系统操作 File类 2)文件内容操作(读文件,写文件) (1)打开文件 (2)关闭文件 (3)读文件/InputStream (4)写文件/OutputStream (5)读文件/reader (6)写文件/writer (7)Scanner 四,练习: 1,两种路径 1)绝对路径

Python---文件IO流及对象序列化

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 前文模块中提到加密模块,本文将终点介绍加密模块和文件流。 一、文件流和IO流概述         在Python中,IO流是用于输入和输出数据的通道。它可以用于读取输入数据或将数据写入输出目标。IO流可以是标准输入/输出流(stdin和stdout),也可以是文件流,网络流等。

标准IO与系统IO

概念区别 标准IO:(libc提供) fopen fread fwrite 系统IO:(linux系统提供) open read write 操作效率 因为内存与磁盘的执行效率不同 系统IO: 把数据从内存直接写到磁盘上 标准IO: 数据写到缓存,再刷写到磁盘上

linux基础IO——动静态库——进程编址、进程执行、动态库加载

前言:本节内容为基础IO部分的最后一节, 主要是为了讲一下动静态库里面的动态库如何加载到内存, 动态库的地址等等。 但是,这些内容牵扯到了程序的编址, 程序的加载, 进程的执行等等知识点, 所以,我们会从程序的编址讲起, 一直到进程的执行, 以及动态库加载结束。         ps:本节内容涉及到了进程地址空间, 磁盘的内容, 建议友友们了解相关知识后再来观看。 目录

mybatis错误——java.io.IOException Could not find resource comxxxxxxMapper.xml

在学习Mybatis的时候,参考网上的教程进行简单demo的搭建,配置的没有问题,然后出现了下面的错误! Exception in thread "main" java.lang.RuntimeException: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause:

day09-IO-字符流其它流

一、字符流 字符流(只能做文本文件的处理)字符输入流 Reader--FileReader字符输出流 Writer--FileWriter​使用文件字符输入流的好处:读取中文不会出现乱码问题 1.1 字符输入流 构造器说明public FileReader (File file)创建字符输入流管道与源文件接通public FileReader(String pathname)创建字