首页 » 通讯 » 和爷爷一路学Arduino:对Arduino端口的深入理解(三)_模块_通讯

和爷爷一路学Arduino:对Arduino端口的深入理解(三)_模块_通讯

落叶飘零 2024-12-03 04:10:12 0

扫一扫用手机浏览

文章目录 [+]

四、端口的内部复用

AVR系芯片的设计是非常精妙的,每个引脚有2~4个复用。
只有一种运用的,险些没有。
要玩大型的、繁芜的项目,就要深入理解Arduino端口的底细。

和爷爷一路学Arduino:对Arduino端口的深入理解(三)_模块_通讯 通讯

4.1 ADC

在(一)里已经说过了,A0~A7基本构造也是数字口,只是内置了ADC,因而可以兼作仿照输入。
多数项目,仿照输入口需求不多。
因此,建议你留起须要的仿照输入口后,把剩下的仿照口优先用作数字口。

4.2 PWM

在(二)里已经说过了,D3、D5、D6、D9、D10、D11这六个数字口内置了PWM,可以兼作仿照输出。
为什么在4.1节要说把多余的仿照口优先用作数字口?就由于数字口每每不足用。
如果有较多须要PWM输出的,你先要留起PWM口。

4.3 UART

你用串口直连、USB、RS-232等多种通信时,实在都是在玩UART,Universal Asynchronous Receiver/Transmitter,通用异步收发器。
UART是串行通信,只须要发送口和一个吸收口。
Arduino内置支持UART通信,利用D0作为RX(吸收口),D11为TX(发送口)。
因此,如果你的代码里须要做UART通信,你就得留出D0和D1。
你在PC上编的代码要上传(确切说是下传)到Arduino板,走的也是D0和D1,也是UART通信。
代码上传不搭界,由于上传时,代码还没有运行。

4.4 I2C

I2C,Inter-Integrated Circuit,芯片间总线。
也写作IIC。
Atmel也搞了一个千篇一律,叫TWI,Two Wire Interface,双线接口。
由于Arduino紧张采取Atmel的AVR系芯片作为主芯片,因此,Arduino的资料里,也每每称之为TWI。

Arduino UNO板和NANO板的TWI(I2C)占用两个仿照输入口,A4作为SDA(Serial Data Line,串行数据线),A5作为SCL(Serial Clock Line,串行时钟线)。
Lennardo板则是占用D20和D3。
Mega2560板和Due板占用D20和D21。

通过I2C与Arduino板通信的组件很多。
譬如,Sparkfun的加速度计和陀螺仪、DS1307实时时钟、HT16K33等LED显示点阵、LCD1602等多种液晶屏、PCFC8575等多种端口扩展板、PCA9685十六路舵机扩展板、AT24C等EEPROM存取接口、MLX90640 红外热像仪模块、Grove颜色识别传感器、VL53L1X ToF 测距模块传感器、LM75温度传感器、WM8960音频编译码模块、M5双摇杆、INA226电压电流功率监视模块、……。
还有很多。
I2C也可以连接两个Arduino板,或作为总线,把至多128个Arduino板连成一个物联网。

4.5 SPI

SPI,Serial Peripheral Interface,串行外设接口。
是一种高速、全双工的通信总线。
I2C是两线通信,SPI是四线通信。
SCK:Serial ClocK,串行时钟旗子暗记
MOSI:Master Output Slave Input,主出从入。
MISO:Master Input Slave Output,主入从出。
SS:Selection Signal,选择旗子暗记。

UNO板与NANO板占用D13作为SCK,D11作为MOSI,D12作为MISO。
Mega2560板占用D52、D51、D50 。
如果有多个从设备,就须要片选旗子暗记SS,可以任意选一个或更多个数字口。

采取SPI的组件也不少,特殊是须要与Arduino高速交流信息的组件,只能采取SPI。
譬如,多种SD存储卡读写模块、EEPROM模块、FLASH模块、MCP3008八通道ADC、12864等很多种液晶屏、倾角传感器、九轴传感器、AS5048A磁编码模块、ADXL345三轴重力加速度传感器、SX1278无线射频数据传输模块、STM32F407高速视频传输模块等等。

4.6 CLKO

数字口D8兼作系统时钟分频输出。
当外部组件须要与Arduino时钟精准同步时,你就得利用这个引脚,引出系统时钟,接入要同步的组件的外部时钟输入。
这时,就不能再项目里利用D8口了。

4.7 外部中断

须要对外部组件做实时相应时,要利用外部中断。
外部中断也是实现多进程并发的手段。
UNO板有两个外部中断,D2是INT0,D3是INT1。
如果不足,还可以利用引脚变革中断,PCINT0~23,共24个。
ATmega328的大多数引脚兼作引脚变革中断。

4.8 定时器/计数器

ATmega328内部有3个定时器/计数器,占用端口见下表。

序号

0

1

2

输入

D4

D8、D5

输出

D6、D5

D9、D10

D11、D3

4.9 还有很多

AVR系芯片的设计是非常精妙的,每个引脚有2~4个复用。
其它复用,往后再说。

标签:

相关文章

IT品牌崛起,引领未来科技潮流

随着科技的飞速发展,IT行业逐渐成为全球经济的重要驱动力。在全球范围内,众多IT品牌崛起,它们凭借卓越的产品质量和创新精神,引领着...

通讯 2024-12-27 阅读0 评论0

IT合规待遇,构建数字时代的安全基石

随着互联网技术的飞速发展,信息技术(IT)已经渗透到我们生活的方方面面,成为推动社会进步的重要力量。在享受科技带来的便利的我们也面...

通讯 2024-12-27 阅读0 评论0

IT办公主机,企业高效办公的得力助手

随着信息技术的飞速发展,IT办公主机已经成为企业高效办公的重要工具。作为企业信息化建设的基础设施,IT办公主机不仅提高了工作效率,...

通讯 2024-12-27 阅读0 评论0

IT人才课程,培养未来科技精英的关键途径

随着科技的飞速发展,IT行业已成为我国经济增长的重要驱动力。在这个数字化时代,IT人才成为了各行各业争相抢夺的香饽饽。为了培养更多...

通讯 2024-12-27 阅读0 评论0