匿名
未登录
登录
丢石头百科
搜索
查看“Serial Expansion HAT”的源代码
来自丢石头百科
名字空间
页面
讨论
更多
更多
页面选项
查看
查看源代码
历史
←
Serial Expansion HAT
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
<div class="tabber"> {{扩展板|colorscheme=blue |img = [[File:Serial-Expansion-HAT-1.jpg|360px |alt=Serial Expansion HAT|link=http://{{SERVERNAME}}/shop/Serial-Expansion-HAT.htm]] |category1=树莓派 |brand=Waveshare |feature = UART |interface1 = RPi |interface2 = UART }} <div class="tabbertab" title="说明"> =产品介绍= '''Serial Expansion HAT是一款专为树莓派设计的串口扩展板,可通过I2C扩展两路UART通道和8个可编程IO'''<br /> ==特点== *基于树莓派接口设计,适用于Raspberry Pi Zero/Zero W/Zero WH/2B/3B/3B+ *板载SC16IS752,可通过I2C扩展两路UART通道和8个可编程IO,不需要占用额外管脚 *通过改变地址跳线可同时接入多达16个模块,相当于扩展出32个串口 *板载多个指示灯,方便查看UART扩展接口的工作状态 *预留I2C控制接口,方便接入其他主控板 *提供完善的配套资料手册(提供C与python例程) ==产品参数== *工作电压:3.3V *扩展芯片:SC16IS752 *控制接口:I2C *产品尺寸:65mm × 30mm *过孔直径:3.0mm ==资源介绍== SC16IS752是双通道高性能的UART扩展芯片,还能额外提供8个可编程IO口,支持SPI和I2C两种接口通信,本模块默认使用I2C接口,并可更改A0与A1的连线方式来改变I2C设备地址。<br /> [[file:Serial-Expansion-HAT-intro.jpg|center|900px]]<br /> ===接口介绍=== {|border=1; style="width:700px;" align="center" |-style="background:#0000ff; color:white;" align="center" |标识||描述 |-align="center" |3V3||3.3V电源 |-align="center" |GND||电源地 |-align="center" |TXDA||通道A数据输出端 |-align="center" |RXDA||通道A数据输入端 |-align="center" |RTSA||通道A请求发送 |-align="center" |CTSA||通道A允许发送 |-align="center" |TXDB||通道B数据输出端 |-align="center" |RXDB||通道B数据输入端 |-align="center" |RTSB||通道B请求发送 |-align="center" |CTSB||通道B允许发送 |} ===LED灯介绍=== PWR:电源指示灯<br /> TXDA: 通道A数据发送指示灯<br /> RXDA: 通道A数据接收指示灯<br /> TXDB: 通道B数据发送指示灯<br /> RXDB: 通道B数据接收指示灯<br /> ===I2C设备地址设置说明=== A0, A1列为控制I2C硬件地址,通过焊接0R电阻选择地址,它们的对应关系如下表格:<br /> [[file:serial_expansion_hat_i2caddr.png|900px]]<br /> <font color="#FF0000"> [http://{{SERVERNAME}}/w/upload/a/ad/SC16IS752_datasheet.pdf 详见datasheet:Page39] </font> 可以看到表中的列出来的地址均为8位数据,在实际操作中的I2C地址7位,所以需要往最低位移一位。 比如说第一个A1和A0接到VDD, 表格中给出来的地址是0x90(1001 000X), 但是实际使用的时候,对应的设备地址应该时,100 1000, 即0x48.<br /> 【注意】本模块默认焊接A0和A1到3.3V,默认I2C地址为:0X48<br /> 通过计算,理论上可以在一个控制器上同时控制32个设备。<br /> <font color="#FF0000"> 由于PCB上已经直连了,所以无法在树莓派上堆叠,需要使用杜邦线连接<br /> 对树莓派而言,使用杜邦线连接理论上不能达到连接32个,因为扩展一块就需要一个中断引脚,树莓派没有那么多的GPIO<br /> </font> =树莓派使用= {{RPI open i2c}} ==安装库== {{RPI_C_lib}} *python库 <pre> sudo apt-get install python-dev sudo apt-get install python-rpi.gpio sudo apt-get install python-smbus </pre> ==生成设备== *在/boot/config.txt中加入如下 <pre> sudo nano /boot/config.txt # addr根据A0A1实际焊接方式设置,默认是0X48 dtoverlay=sc16is752-i2c,int_pin=24,addr=0x48 # 重启设备 sudo reboot </pre> *重启后,SC16IS752的驱动会加载到系统内核中,此时可以运行ls /dev查看一下 将会多出如下设备: [[file:serial_expansion_hat_finddev.png|700px]] 如果需要堆叠的话,第二个模块不能直接插在树莓派,由于PCB上使用的中断引脚是一样,会导致无法识别出多个设备。<br /> 此时应该使用杜邦线连接,并 保证中断引脚不一致。同时config.txt中的命令应该修改为<br /> dtoverlay=sc16is752-i2c,int_pin=xx,addr=0x48<br /> xx为你实际插的BCM编码引脚<br /> ==测试程序== ===下载例程=== <pre> sudo apt-get install p7zip wget http://{{SERVERNAME}}/w/upload/d/db/Serial_Expansion_HAT_code.7z 7zr x Serial_Expansion_HAT_code.7z -r -o./Serial_Expansion_HAT_code sudo chmod 777 -R Serial_Expansion_HAT_code cd Serial_Expansion_HAT_code </pre> ===测试串口=== *c语言 <pre> #发送数据 cd c/uart/send make clean make sudo ./uart_send </pre> <pre> #接收数据 cd c/uart/receive/ make clean make sudo ./uart_receive </pre> 测试现象:若是接收端,会进入接收状态,终端打印接收到的程序。发送端会立即发送设置好的字符串。<br /> *python <pre> cd python/Uart/ #发送数据 sudo python send.py #接收数据 sudo python receive.py </pre> 测试现象:若是接收端,会进入接收状态,终端打印接收到的程序。发送端会立即发送设置好的字符串。<br /> ===测试扩展GPIO=== *c语言 <pre> cd c/gpio/ make clean make sudo ./main </pre> 运行程序后,程序会依次翻转GPIO的电平,如果8个GPIO上接上LED灯,会发现依次点亮、熄灭8个LED灯<br /> *python <pre> cd python/GPIO sudo python gpio.py </pre> 运行程序后,程序会依次翻转GPIO的电平,如果8个GPIO上接上LED灯,会发现依次点亮、熄灭8个LED灯<br /> </div> <div class="tabbertab" title="资料"> ===文档=== *[http://{{SERVERNAME}}/w/upload/1/1a/Serial_Expansion_HAT_Schematic.pdf 原理图] ===程序=== *[http://{{SERVERNAME}}/w/upload/d/db/Serial_Expansion_HAT_code.7z 示例程序] ===数据手册=== *[http://{{SERVERNAME}}/w/upload/a/ad/SC16IS752_datasheet.pdf SC16IS752] 转到:[[#软件]],[[#程序]],[[#文档]] <!--{{Join_us}}--> </div> <div class="tabbertab" title="FAQ"> {{FAQ| 能否堆叠| 不可以堆叠,需要使用杜邦线来连接,同时config.txt中的命令需要修改对应的中断引脚 |||}} <br /> </div> <div class="tabbertab" title="售后"><br />{{Service08}}</div>
该页面使用的模板:
模板:FAQ
(
查看源代码
)
模板:RPI C lib
(
查看源代码
)
模板:RPI open i2c
(
查看源代码
)
模板:Service00
(
查看源代码
)
模板:Service08
(
查看源代码
)
模板:Tipbox
(
查看源代码
)
模板:扩展板
(
查看源代码
)
返回至
Serial Expansion HAT
。
导航
导航
首页
最近更改
随机页面
MediaWiki帮助
首页
首页
树莓派
主机
配件包
外壳
键鼠
电源
扩展板
显示屏
墨水屏
摄像模块
通信模块
继电器
电机驱动板
游戏机
产品分类
树莓派
Arduino
micro:bit
STM32
Espressif
WiFi模块
蓝牙模块
无线模块
LoRa模块
4G模块
GSM
GPRS
以太网
导航模块
北斗卫星
GPS
LCD
墨水屏
OLED
摄像头
USB模块
串口模块
RS232
RS485
CAN
传感器
温度模块
湿度模块
气压模块
继电器
电机模块
指纹模块
电平转换
音频模块
编程器
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志