介绍

总结了一系列常用的Linux外设的命令行操作方法

Thermal

查看芯片温度

1
cat /sys/class/thermal/thermal_zone0/temp

GPIO

查看GPIO使用情况

1
cat /sys/kernel/debug/gpio

导出GPIO,这里xxx为GPIO编号

1
echo xxx > /sys/class/gpio/export

设置输入输出模式:in 、out

1
2
echo in > /sys/class/gpio/gpioxxx/direction
echo out > /sys/class/gpio/gpioxxx/direction

设置输出高低电平(仅在out模式下有效)

1
2
echo 0 > /sys/class/gpio/gpioxxx/value
echo 1 > /sys/class/gpio/gpioxxx/value

查看当前的电平值

1
cat /sys/class/gpio/gpioxxx/value

RTC

查看RTC硬件设备,默认的时钟设备为rtc0

1
ls /dev/rtc*

查看当前系统时间

1
date

设置系统时间

1
date -s "2025-7-15 10:39:05"

和硬件RTC同步

1
2
hwclock -w -f /dev/rtc0		# 写入rtc0
hwclock -f /dev/rtc0 -r # 读取rtc0

ADC

计算ADC测量电压值

1
2
3
4
5
raw=$(cat /sys/bus/iio/devices/iio:device0/in_voltage2_raw)
scale=$(cat /sys/bus/iio/devices/iio:device0/in_voltage_scale)

voltage=$(echo "$raw * $scale" | bc)
echo "adc value : $voltage mV"

UART

查看串口设备,一般以tty为前缀,如PC端的USB转串口ttyUSB0,ARM端ttyLP2

1
ls /dev/tty*

设置串口通信参数:115200 8N1

1
stty -F /dev/ttyLP2 115200 cs8 -parenb -cstopb raw -echo

查看串口接收数据

1
cat /dev/ttyLP2

给串口发送数据

1
echo "Hello RS485!\\r\\n" > /dev/ttyLP2;

CAN

初始化 CAN 网络接口

1
2
3
4
# 关闭
ip link set can0 down
# 开启
ip link set up can0

配置CAN通信参数

1
2
3
4
# 仲裁波特率设置为1M, 数据波特率设备为4M, 并开启canfd功能  
ip link set can0 up type can bitrate 1000000 dbitrate 4000000 fd on
# can2.0通信配置波特率为500k
ip link set can0 type can bitrate 500000

查看can帧

1
candump can0

发送can帧数据

1
2
3
4
cansend can0 010##0.a1.a2.a3.a4.a5.a6.a7.a8.a9.10.\
11.12.13.14.15.16.17.18.19.20.21.23.24.25.26.27.28.29.30.31.32.33.34.\
35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.50.51.52.53.54.55.56.57.\
58.59.60.61.62.63.64

CAN设备的详情和收发统计信息

1
2
ip -details -statistics link show can0
ifconfig can0

Ethernet

查看所有网络设备(包括网卡、CAN、WIFI等)

1
ifconfig -a

配置网卡、WIFI网络IP地址

1
ifconfig eth1 192.168.55.142 netmask 255.255.255.0

添加路由

1
ip route add default via 192.168.55.1 dev eth1

查看所有网口的路由信息

1
route -n

自动分配IP地址

1
udhcpc wlan0

『 下里巴人 』
海纳百川,文以载道
hywing技术自留地
总访问 113701 次 | 本页访问 326