esp32 - 将 Arduino 端口操作转换为 ESP32
问题描述
我有一些为 Arduino 编写的代码,我试图将其转换为在我的 ESP32 上运行。它使用直接端口操作(我不太熟悉的东西)。据我了解,我应该使用 GPIO_OUT_REG 和 GPIO_OUT1_REG。我的问题是我不完全理解 Arduino 代码在做什么。代码如下:
#define CLR_RS (PORTB &= ~(0x01))
#define SET_RS (PORTB |= (0x01))
#define CLR_RESET (PORTB &= ~(0x02))
#define SET_RESET (PORTB |= (0x02))
#define CLR_CS (PORTB &= ~(0x04))
#define SET_CS (PORTB |= (0x04))
#define CLR_MOSI (PORTB &= ~(0x08))
#define SET_MOSI (PORTB |= (0x08))
#define CLR_SCK (PORTB &= ~(0x20))
#define SET_SCK (PORTB |= (0x20))
第一行是否等同于 B 数据寄存器中不是引脚 1 的所有引脚?
解决方案
推荐阅读
- powershell - 无法识别“nmake”一词
- eclipse - Eclipse 端口连接中的 Maven 项目被拒绝
- python-3.x - 尝试使用 pip 安装 mysqlclient 包时编译错误
- r - 如何用R中的igraph计算只有传入和传出边的顶点?
- php - 在 PHP 中单行调用多个函数
- javascript - UnhandledPromiseRejectionWarning: MongoNetworkError: failed to connect to server [localhost:27017] on first connect [MongoNetworkError
- java - 注入 SpringBoot 自定义配置属性列表
- r - 在 R 中合并 2 个大型数据集
- spring-boot - Spring Boot:mybatis初始化前的Flyway迁移
- javascript - 如何解析json键点文字