STM32F401RCT6基于Arduino框架点灯程序
Posted perseverance52
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32F401RCT6基于Arduino框架点灯程序相关的知识,希望对你有一定的参考价值。
STM32F401RCT6基于Arduino框架点灯程序
- ✨经测试,这次跑示例程序没有遇到像STM32F103VET6那样的串口乱码的bug,串口打印正常。
📓串口指定方式
- 📋翻阅固件源码可以看到默认的串口是PA3,PA2:
C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\STMicroelectronics\\hardware\\stm32\\2.3.0\\variants\\STM32F4xx\\F401R(B-C-D-E)T\\variant_generic.h
// Default pin used for generic 'Serial' instance
// Mandatory for Firmata
#ifndef PIN_SERIAL_RX
#define PIN_SERIAL_RX PA3
#endif
#ifndef PIN_SERIAL_TX
#define PIN_SERIAL_TX PA2
#endif
- 🔰串口自定义指定引脚方法:
- 函数指定
Serial.setRx(PA10); // using pin name PY_n
Serial.setTx(PA9); // using pin number PYn
- 实例化串口对象:
Serialx
(x:1-4)
HardwareSerial Serialx(PA10, PA9);//将Serialx(x=1-4)串口x的管脚指定到PA10,PA9引脚上
📑IO口输出方式
🔖相比AVR单片机多了速度匹配。
digitalToggleFast(PC_2);//状态翻转
digitalWriteFast(PB_5, !digitalReadFast(PB_5)) ;//状态翻转
- 🔰普通写IO状态
digitalToggle(PB7);
digitalWrite(PB7, !digitalRead(PB7)) ;
⚡注意以上两种书写时,其中的形参是有差异的。
📝点灯+ 串口打印程序
#define led1 PB7
#define led2 PB8
//HardwareSerial Serialx(PA10, PA9);//将Serialx(x=1-4)串口x的管脚指定到PA10,PA9引脚上
// the setup function runs once when you press reset or power the board
void setup()
// initialize digital pin LED_BUILTIN as an output.
Serial.setRx(PA10); // using pin name PY_n
Serial.setTx(PA9); // using pin number PYn
Serial.begin(115200);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
// the loop function runs over and over again forever
void loop()
digitalToggle(led1);
digitalToggle(led2);
delay(1000); // wait for a second
Serial.println("Arduino STM32F401RCT6 \\n");
- 串口打印
以上是关于STM32F401RCT6基于Arduino框架点灯程序的主要内容,如果未能解决你的问题,请参考以下文章
STM32F103VET6基于Arduino开发框架下串口和软串口通讯示例
STM32F103VET6基于Arduino开发框架下FreeRTOS串口1不能正常工作解决方案
STM32F103VET6基于Arduino开发框架下串口和软串口输出乱码解决方案