开源硬件
Arduino
客制化键盘
Arduino_寄存器
二进制运算
寄存器+二进制运算
LCD-逐字显示
密码依次录入
等待输入
WiFi Duck(无线击键注入攻击平台)
WiFi Duc-New
WiFi Duc-Old
蓝牙无线烧录
ESP8266
ESP-NOW
ESP8266看门狗
ESP8266-休眠模式
ESP01/01S使用说明
WIFI_SD
ESP8266-Web服务器
ESP8266-WIFI自动认证
ESP32
ESP32 ADC2
ESP32_PWM
ESP32_CAM
ESP32 小坦克
ESP32_限电保护
Arduino IDE 添加 ESP32
ESP32-iPhone BLE攻击
STM32
STM32F103-虚拟键盘
STC
STC8G1K08(A)
树莓派-触摸屏
Arduino IDE
Arduino_自制库
Arduino库收集
常见排序算法
冒泡排序
选择排序
插入排序
希尔排序
归并排序
快速排序
计数排序
预处理
millis(运行时长)
Arduino IDE 2.X-修改数据位置
Mixly
Mixly安装教程
Mixly 模块介绍
Mixly-添加ESP32CAM支持
Mixly-库定制工具
模块
4G模块连接物联网
GPS模块
语音模块(JQ8900)
安信可VB语音识别
28BYJ-48(5V步进)
FreeRTOS
FreeRTOS-多任务基础
FreeRTOS-任务共享全局变量
FreeRTOS-多核多任务
FreeRTOS-MUTEX
FreeRTOS-常规程序改多任务
FreeRTOS-定时器
LaserGRBL(激光雕刻)
LaserGRBL-GRBL
GRBL-CNC Shield v4
MicroPython
Scratch
Wokwi(在线仿真)
html转无符号数组
待做开源项目
本文档使用 MrDoc 发布
-
+
首页
Arduino_寄存器
 ## 引脚编号 我们常用的为 D0-D13 和 A0-A5,实际这只是Arduino封装好的便于我们调用的引脚 引脚编号(参考上图 紫色数字):0-13 = D0-D13,14-21 = A0-A7 ```C # 在程序中 D2 写成 2 digitalWrite(2,HIGH); # A0 也可以用引脚编号 14 来替代 # 已下两条作用一样 digitalWrite(A0,HIGH); digitalWrite(14,HIGH); ``` 对于都有对应的引脚编号,在定义引脚的时候就可以轻松使用for循环来一次性定义了,而不需要A端口每个都要独立设定 ## 内部引脚编号 内部引脚编号,大部分开发板都是如此定义的,PBx,PCx,PDx... 328P拥有三组(参考上图 棕色数字),命名为PB,PC,PD 其中PB和PD都是0-7,8组脚,PC是0-6,7组脚 ```C # 在程序中可以直接使用内部引脚编号来控制 digitalWrite(PD2,HIGH); ``` ## 寄存器 常见格式 DDRx,x为对应组,如: - DDRD,D组数据方向寄存器 - 读/写 - PORTD,D组数据寄存器 - 读/写 - PIND,D组输入引脚寄存器 - 只读 寄存器操作都以组为单位,占用1字节(8位,二进制 11111111) ### DDRx `DDRx 声明引脚模式,0 OUTPUT(输入),1 INPUT(输出)` ```C # 常见写法 for (int i = 0; i <= 7; i = i + (1)) pinMode(i, OUTPUT); # 直接操作寄存器,D0-D7全部设置为输出模式 DDRD = 0b11111111; # DDRx寄存器(0-7对应的就是PD0-7,故x为D组) # 数值前面加上对应符号表示该数值进制,0b(二进制),无(十进制),0x(十六进制) # 使用二进制查看更加直观,每个对应一个引脚的状态,也可使用其他进制 # 二进制从 右到左,对应 D0-D7 ``` ### PORTx `PORTx 设置引脚电平,0 LOW(低),1 HIGH(高)` ```C # 常见写法 for (int i = 0; i <= 7; i = i + (1)) digitalWrite(i,HIGH); # 直接操作寄存器,D0-D7全部设为高 PORTD = 0b11111111; ``` ### PINx `PINx 读取引脚状态,0 LOW(低),1 HIGH(高)` 注意,该方法只支持 digitalRead (数字输入) ```C # 常见写法 for (int i = 0; i <= 7; i = i + (1)) Serial.print(digitalRead(i)); # 直接读取寄存器,读取D0-D7输入状态 Serial.println(PIND,BIN); # ,BIN 是转换为二进制输出,方便查看 ```
造物者W
2022年5月15日 21:08
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码