STM32F103C8T6在Arduino中的引脚对应

将STM32烧写Bootloader之后,会遇到引脚的问题,这个问题其实我觉得很多见,因为我也遇到了。

 

目前来看似乎这一张是国外用的比较多的,我从一个视频里面截取下来。这一张图可以明显的看到所有脚位,还有许多对应功能,感觉唯一的缺点可能还是,STM32是3.3V许多东西没法驱动。

【下面这张是不兼容的图示】

但是!我发现很多引脚对应不上,很可能是更新了库,上面这一张也有挺多引脚没有使用到。所以我写了这一个新的图提供参考

【这才是能用的图】

这一个板子挺便宜的,可玩性也很不错,最主要有Boot选择,所以刷不死

 

#define PA0  A0  // | 0       | A0     |            |           |            |           |
#define PA1  A1  // | 1       | A1     |            |           |            |           |
#define PA2  A2  // | 2       | A2     | USART2_TX  |           |            |           |
#define PA3  A3  // | 2       | A2     | USART2_RX  |           |            |           |
#define PA4  A4  // | 4       | A4     |            |           | SPI1_SS    |           |
#define PA5  A5  // | 5       | A5     |            |           | SPI1_SCK   |           |
#define PA6  A6  // | 6       | A6     |            |           | SPI1_MISO  |           |
#define PA7  A7  // | 7       | A7     |            |           | SPI1_MOSI  |           |
#define PA8  8   // | 8       |        |            |           |            |           |
#define PA9  9   // | 9       |        | USART1_TX  |           |            |           |
#define PA10 10  // | 10      |        | USART1_RX  |           |            |           |
#define PA11 11  // | 11      |        |            |           |            | USB_DN    |
#define PA12 12  // | 12      |        |            |           |            | USB_DP    |
#define PA13 13  // | 13      |        |            |           |            | SWD_SWDIO |
#define PA14 14  // | 14      |        |            |           |            | SWD_SWCLK |
#define PA15 15  // | 15      |        |            |           | SPI1_SS    |           |
//                  |---------|--------|------------|-----------|------------|-----------|
#define PB0  A8  // | 16      | A8     |            |           |            |           |
#define PB1  A9  // | 17      | A9     |            |           |            |           |
#define PB2  18  // | 18      |        |            |           |            | BOOT1     |
#define PB3  19  // | 19      |        |            |           | SPI1_SCK   |           |
#define PB4  20  // | 20      |        |            |           | SPI1_MISO  |           |
#define PB5  21  // | 21      |        |            |           | SPI1_MOSI  |           |
#define PB6  22  // | 22      |        | USART1_TX  | TWI1_SCL  |            |           |
#define PB7  23  // | 23      |        | USART1_RX  | TWI1_SDA  |            |           |
#define PB8  24  // | 24      |        |            | TWI1_SCL  |            |           |
#define PB9  25  // | 25      |        |            | TWI1_SDA  |            |           |
#define PB10 26  // | 26      |        | USART3_TX* | TWI2_SCL* |            |           |
#define PB11 27  // | 27      |        | USART3_RX* | TWI2_SDA* |            |           |
#define PB12 28  // | 28      |        |            |           | SPI2_SS*   |           |
#define PB13 29  // | 29      |        |            |           | SPI2_SCK*  |           |
#define PB14 30  // | 30      |        |            |           | SPI2_MISO* |           |
#define PB15 31  // | 31      |        |            |           | SPI2_MOSI* |           |
//                  |---------|--------|------------|-----------|------------|-----------|
#define PC13 32  // | 32      |        |            |           |            |           |
#define PC14 33  // | 33      |        |            |           |            | OSC32_IN  |
#define PC15 34  // | 34      |        |            |           |            | OSC32_OUT |
//                  |---------|--------|------------|-----------|------------|-----------|
#define PD0  35  // | 35      |        |            |           |            | OSC_IN    |
#define PD1  36  // | 36      |        |            |           |            | OSC_OUT   |
//                  |---------|--------|------------|-----------|------------|-----------|

 

### 回答1: 要连接STM32F103C8T6和OLED,您需要进行以下步骤: 1. 确保您有一个OLED显示屏和STM32F103C8T6开发板。 2. 将OLED显示屏连接到STM32F103C8T6开发板上。您需要将OLED显示屏的VCC引脚连接到STM32F103C8T6的5V引脚,GND引脚连接到STM32F103C8T6的GND引脚,SCL引脚连接到STM32F103C8T6的PB10引脚,SDA引脚连接到STM32F103C8T6的PB11引脚。 3. 在您的STM32F103C8T6开发板上编写代码来控制OLED显示屏。您可以使用Arduino IDE或其他编程软件来编写代码。在代码,您需要使用I2C协议来与OLED显示屏通信,并发送命令和数据来控制显示屏。 4. 测试您的代码并确保OLED显示屏能够正常工作。您可以在显示屏上显示文本、图像等内容,以测试代码的正确性。 总之,连接STM32F103C8T6和OLED需要一些硬件和软件方面的知识,但是一旦您掌握了这些知识,就可以轻松地将它们连接起来并控制OLED显示屏。 ### 回答2: stm32f103c8t6是一款常用的微控制器,而oled则是一款常用的显示器件。将二者连接起来,可以实现更为丰富的功能。下面将介绍如何使用stm32f103c8t6连接oled。 第一步,硬件连接。将stm32f103c8t6引脚与oled的引脚相连接。具体连接方式可见硬件接线图。需要注意的是,数据引脚与时钟引脚、GND、VCC等要分别对应。 第二步,在Keil编写程序。在编写程序之前,需要先了解oled的控制和数据传输方式。一般来说,oled的控制需要使用SPI总线,数据传输需要使用SSI(synchronous serial interface)。因此,在Keil,需要引入对应的库文件和头文件,并且需要设置SPI接口的相关参数(例如传输速率、时钟极性等)。 第三步,调试程序。编写完程序后,需要将程序下载到stm32f103c8t6并运行。在运行过程,可以通过编写一些简单的测试代码,对oled进行一些基本操作(例如显示字符串、切换图像等),检验连接是否正常。 第四步,优化程序。一旦程序稳定运行,可以对程序进行优化。例如,通过增加缓存区、使用DMA传输等方式,提高数据传输效率和程序运行速度。此外,也可以通过更加优化的代码和算法,实现更加丰富和复杂的功能。 综上所述,stm32f103c8t6连接oled需要进行硬件连接、编写程序、调试程序和优化程序四个步骤。这需要开发者具备扎实的硬件和软件基础,以及细致的调试能力。通过不断地学习和实践,可以掌握更多的技能和方法,进一步深入地研究嵌入式系统和物联网领域。 ### 回答3: STM32F103C8T6是一种单片微控制器,适合连接OLED显示屏。在连接OLED显示屏时,需要以下步骤: 1. 将OLED显示屏与STM32F103C8T6连接,可以通过SPI或I2C接口进行连接,其SPI接口具有更高的速度和性能,而I2C接口则更加简便。 2. 配置STM32F103C8T6的GPIO口,以便与OLED显示屏通信。可以使用STM32CubeMX软件来配置GPIO口,也可以使用Keil或IAR等其他编程工具。 3. 写代码来控制OLED显示屏。使用OLED驱动程序来控制OLED屏幕可以显示图像和文字等。通常使用UCGUI或FreeRTOS等软件库来控制OLED显示屏。 4. 在代码设置硬件设备的时钟速度和SPI接口的波特率等参数。 5. 使用OLED显示屏库来编写代码。这些库可以在网络上找到,并根据硬件设备的需求稍加修改。 连接OLED显示屏时,需要使用正确的电气参数。对于STM32F103C8T6和OLED显示屏之间的电气接口,需要确保电平兼容,并且信号传输速度和可靠性得到保证。 总之,连接OLED显示屏需要考虑如何选择正确的连接方式,如何配置STM32F103C8T6 GPIO口,如何写代码来控制OLED显示屏,并且保证正确的电气连接。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值