wifi定频操作rtwpriv移植编译


前言

RTL8XXXXX 定频工具移植编译,用于wifi模块认证配置WiFi工作在定频模式下。


一、rtl8xxxx的WiFi内核配置

1.使用说明:
1.先确认driver\rtl8XXXXX下的Makefile中的
CONFIG_MP_INCLUDED 是否等于 y,不等于y,需修改后重新make重新编译驱动生成 .ko文件
2.测试时需等系统正常运行并加载WIFI驱动后再按以下命令进行测试.
3.本文档是参考 Realtek_RF_MP_Tool_Guidelines_V14_20150605 整理的;
4.各指令的含义可以参考 Realtek_RF_MP_Tool_Guidelines_V14_20150605
5.本手册适用于 rtl8XXXA的模块,需要在串口工具下测试。

二、移植rtwpriv软件到buildroot平台编译

1.建立rtwpriv包配置

添加menuconfig 索引

buildroot-2019.02.6/package/Config.in文件中添加如下配置

menu "My App"
    source "package/rtwpriv/Config.in"
endmenu

如下图所示:在package下创建rtwpriv目录,并添加Config.in 和rtwpriv.mk文件

 Config.in 文件内容如下

config BR2_PACKAGE_RTWPRIV
    bool "rtwpriv"
    help
      An wifi tools.

rtwpriv.mk文件内容如下

ifeq ($(BR2_PACKAGE_RTWPRIV), y)

        RTWPRIV_VERSION:=1.0.0
        RTWPRIV_SITE=$(TOPDIR)/board/art93xx/packets/rtwpriv
        RTWPRIV_SITE_METHOD=local

define RTWPRIV_BUILD_CMDS
        $(TARGET_MAKE_ENV) $(MAKE) CC=$(TARGET_CC) CXX=$(TARGET_CXX) -C $(@D)
endef

define RTWPRIV_CLEAN_CMDS
        $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) clean
endef

define RTWPRIV_INSTALL_TARGET_CMDS
        $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
endef

define RTWPRIV_UNINSTALL_TARGET_CMDS
        $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) uninstall
endef

$(eval $(generic-package))
endif

2.源码准备

源码获取地址,我分享的csdn资源:wifi定频工具源码和使用手册

源代码如下:

Makefile文件内容

DEPS =
OBJ = rtwpriv.o
CFLAGS = -lm
CXXFLAGS= -lm

rtwpriv: rtwpriv.cpp rtw_api.cpp rtw_udpsrv.cpp
    $(CC) -o $@ $^ $(CXXFLAGS)

.PHONY: clean
clean:
    rm -f *.o *~ rtwpriv

.PHONY: install
install:
    cp -f rtwpriv $(TARGET_DIR)/usr/bin/

.PHONY: uninstall
uninstall:
    rm -f $(TARGET_DIR)/usr/bin/rtwpriv


 3.编译rtwpriv

在buildroot根目录输入 make menuconfig

选中Target packages → My App 下面的rtwpriv

 保存,并退出

最后执行make rtwpriv 就可以编rtwpriv包,输出rtwpriv可执行程序

三、RTL8XXXXX 定频软件操作手册

WIFI2.4G测试指令
ifconfig wlan0 up;开启网卡
rtwpriv wlan0 mp_start;加载测试程序
一: 11b 发射模式 11M =22 步骤
111M 11b 模式 20M 带宽
#ifconfig wlan0 up;开启网卡
#rtwpriv wlan0 mp_start;加载测试程序
1)频道 1 
rtwpriv wlan0 mp_channel 1;设定通道(1-13
rtwpriv wlan0 mp_bandwidth 40M=0,shortGI=0;设定带宽(40M=0 20M/40M=1 40M/40=2 80M)
rtwpriv wlan0 mp_ant_tx a 
rtwpriv wlan0 mp_txpower patha=40;设定 power 值(0-63
rtwpriv wlan0 mp_rate 22;设定模式(2211M
rtwpriv wlan0 mp_ctx count=%100,pkt;连续发包
rtwpriv wlan0 mp_ctx stop;停止发包
2)频道 7 
rtwpriv wlan0 mp_channel 7;设定通道(1-13
rtwpriv wlan0 mp_bandwidth 40M=0,shortGI=0;设定带宽(40M=0 20M/40M=1 40M/40=2 80M)
rtwpriv wlan0 mp_ant_tx a 
rtwpriv wlan0 mp_txpower patha=40;设定 power 值(0-63
rtwpriv wlan0 mp_rate 22;设定模式(2211M
rtwpriv wlan0 mp_ctx count=%100,pkt;连续发包
rtwpriv wlan0 mp_ctx stop;停止发包
3)频道 13 
rtwpriv wlan0 mp_channel 13;设定通道(1-13
rtwpriv wlan0 mp_bandwidth 40M=0,shortGI=0;设定带宽(40M=0 20M/40M=1 40M/40=2 80M)
rtwpriv wlan0 mp_ant_tx a 
rtwpriv wlan0 mp_txpower patha=40;设定 power 值(0-63
rtwpriv wlan0 mp_rate 22;设定模式(2211M
rtwpriv wlan0 mp_ctx count=%100,pkt;连续发包
rtwpriv wlan0 mp_ctx stop;停止发包
二: 11g 发射模式 54M =108 步骤
154M 11g 模式 20M 带宽
#ifconfig wlan0 up;开启网卡
#rtwpriv wlan0 mp_start;加载测试程序
1)频道 1 
rtwpriv wlan0 mp_channel 1;设定通道(1-13
rtwpriv wlan0 mp_bandwidth 40M=0,shortGI=0;设定带宽(40M=0 20M/40M=1 40M/40=2 80M)
rtwpriv wlan0 mp_ant_tx a 
rtwpriv wlan0 mp_txpower patha=40;设定 power 值(0-63
rtwpriv wlan0 mp_rate 108;设定模式(10854M
rtwpriv wlan0 mp_ctx count=%100,pkt;连续发包
rtwpriv wlan0 mp_ctx stop;停止发包
2)频道 7 
rtwpriv wlan0 mp_channel 7;设定通道(1-13
rtwpriv wlan0 mp_bandwidth 40M=0,shortGI=0;设定带宽(40M=0 20M/40M=1 40M/40=2 80M)
rtwpriv wlan0 mp_ant_tx a 
rtwpriv wlan0 mp_txpower patha=40;设定 power 值(0-63
rtwpriv wlan0 mp_rate 108;设定模式(10854M
rtwpriv wlan0 mp_ctx count=%100,pkt;连续发包
rtwpriv wlan0 mp_ctx stop;停止发包
3)频道 13 
rtwpriv wlan0 mp_channel 13;设定通道(1-13
rtwpriv wlan0 mp_bandwidth 40M=0,shortGI=0;设定带宽(40M=0 20M/40M=1 40M/40=2 80M)
rtwpriv wlan0 mp_ant_tx a 
rtwpriv wlan0 mp_txpower patha=40;设定 power 值(0-63
rtwpriv wlan0 mp_rate 108;设定模式(10854M
rtwpriv wlan0 mp_ctx count=%100,pkt;连续发包
rtwpriv wlan0 mp_ctx stop;停止发包
三: 11N发射模式 MCS7 =135 步骤
1MCS7 11n 模式 20M 带宽
#ifconfig wlan0 up;开启网卡
#rtwpriv wlan0 mp_start;加载测试程序
  
1)频道 1 
rtwpriv wlan0 mp_channel 1;设定通道(1-13
rtwpriv wlan0 mp_bandwidth 40M=0,shortGI=0;设定带宽(40M=0 20M/40M=1 40M/40=2 80M)
rtwpriv wlan0 mp_ant_tx a 
rtwpriv wlan0 mp_txpower patha=40;设定 power 值(0-63
rtwpriv wlan0 mp_rate 135;设定模式(MCS7135
rtwpriv wlan0 mp_ctx count=%100,pkt;连续发包
rtwpriv wlan0 mp_ctx stop;停止发包
2)频道 7 
rtwpriv wlan0 mp_channel 7;设定通道(1-13
rtwpriv wlan0 mp_bandwidth 40M=0,shortGI=0;设定带宽(40M=0 20M/40M=1 40M/40=2 80M)
rtwpriv wlan0 mp_ant_tx a 
rtwpriv wlan0 mp_txpower patha=40;设定 power 值(0-63
rtwpriv wlan0 mp_rate 135;设定模式(MCS7135
rtwpriv wlan0 mp_ctx count=%100,pkt;连续发包
rtwpriv wlan0 mp_ctx stop;停止发包
3)频道 13 
rtwpriv wlan0 mp_channel 13;设定通道(1-13
rtwpriv wlan0 mp_bandwidth 40M=0,shortGI=0;设定带宽(40M=0 20M/40M=1 40M/40=2 80M)
rtwpriv wlan0 mp_ant_tx a 
rtwpriv wlan0 mp_txpower patha=40;设定 power 值(0-63
rtwpriv wlan0 mp_rate 135;设定模式(MCS7135
rtwpriv wlan0 mp_ctx count=%100,pkt;连续发包
rtwpriv wlan0 mp_ctx stop;停止发包
 
三: 11N 发射模式 MCS7 =135 步骤
1MCS7 11n 模式 40M 带宽
#ifconfig wlan0 up;开启网卡
#rtwpriv wlan0 mp_start;加载测试程序
1)频道 3 
rtwpriv wlan0 mp_channel 3;设定通道(3-11
rtwpriv wlan0 mp_bandwidth 40M=1,shortGI=0;设定带宽(40M=0 20M/40M=1 40M/40=2 80M)
rtwpriv wlan0 mp_ant_tx a 
rtwpriv wlan0 mp_txpower patha=40;设定 power 值(0-63
rtwpriv wlan0 mp_rate 135;设定模式(MCS7135
rtwpriv wlan0 mp_ctx count=%100,pkt;连续发包
rtwpriv wlan0 mp_ctx stop;停止发包
2)频道 7 
rtwpriv wlan0 mp_channel 7;设定通道(3-11
rtwpriv wlan0 mp_bandwidth 40M=1,shortGI=0;设定带宽(40M=0 20M/40M=1 40M/40=2 80M)
rtwpriv wlan0 mp_ant_tx a 
rtwpriv wlan0 mp_txpower patha=40;设定 power 值(0-63
rtwpriv wlan0 mp_rate 135;设定模式(MCS7135
rtwpriv wlan0 mp_ctx count=%100,pkt;连续发包
rtwpriv wlan0 mp_ctx stop;停止发包
3)频道 11
rtwpriv wlan0 mp_channel 11;设定通道(3-11
rtwpriv wlan0 mp_bandwidth 40M=1,shortGI=0;设定带宽(40M=0 20M/40M=1 40M/40=2 80M)
rtwpriv wlan0 mp_ant_tx a 
rtwpriv wlan0 mp_txpower patha=40;设定 power 值(0-63
rtwpriv wlan0 mp_rate 135;设定模式(MCS7135
rtwpriv wlan0 mp_ctx count=%100,pkt;连续发包
rtwpriv wlan0 mp_ctx stop;停止发包
WIFI5G测试指令
一: 11a发射模式 54M =108 步骤
154M 11a 模式 20M 带宽
#ifconfig wlan0 up;开启网卡
#rtwpriv wlan0 mp_start;加载测试程序
1)频道 36 
rtwpriv wlan0 mp_channel 36;设定通道(36-161
rtwpriv wlan0 mp_bandwidth 40M=0,shortGI=0;设定带宽(40M=0 20M/40M=1 40M/40=2 80M)
rtwpriv wlan0 mp_ant_tx a 
rtwpriv wlan0 mp_txpower patha=40;设定 power 值(0-63
rtwpriv wlan0 mp_rate 108;设定模式(10854M
rtwpriv wlan0 mp_ctx count=%100,pkt;连续发包
rtwpriv wlan0 mp_ctx stop;停止发包
2)频道 149 
rtwpriv wlan0 mp_channel 149;设定通道(36-161
rtwpriv wlan0 mp_bandwidth 40M=0,shortGI=0;设定带宽(40M=0 20M/40M=1 40M/40=2 80M)
rtwpriv wlan0 mp_ant_tx a 
rtwpriv wlan0 mp_txpower patha=40;设定 power 值(0-63
rtwpriv wlan0 mp_rate 108;设定模式(10854M
rtwpriv wlan0 mp_ctx count=%100,pkt;连续发包
rtwpriv wlan0 mp_ctx stop;停止发包
3)频道 161 
rtwpriv wlan0 mp_channel 161;设定通道(36-161
rtwpriv wlan0 mp_bandwidth 40M=0,shortGI=0;设定带宽(40M=0 20M/40M=1 40M/40=2 80M)
rtwpriv wlan0 mp_ant_tx a 
rtwpriv wlan0 mp_txpower patha=40;设定 power 值(0-63
rtwpriv wlan0 mp_rate 108;设定模式(10854M
rtwpriv wlan0 mp_ctx count=%100,pkt;连续发包
rtwpriv wlan0 mp_ctx stop;停止发包
三: 11a发射模式 MCS7 =135 步骤
1MCS7 11a 模式 20M 带宽
#ifconfig wlan0 up;开启网卡
#rtwpriv wlan0 mp_start;加载测试程序
  
(1)频道 36 
rtwpriv wlan0 mp_channel 36;设定通道(36-161
rtwpriv wlan0 mp_bandwidth 40M=0,shortGI=0;设定带宽(40M=0 20M/40M=1 40M/40=2 80M)
rtwpriv wlan0 mp_ant_tx a 
rtwpriv wlan0 mp_txpower patha=40;设定 power 值(0-63
rtwpriv wlan0 mp_rate 135;设定模式(MCS7135
rtwpriv wlan0 mp_ctx count=%100,pkt;连续发包
rtwpriv wlan0 mp_ctx stop;停止发包
2)频道149 
rtwpriv wlan0 mp_channel 149;设定通道(36-161
rtwpriv wlan0 mp_bandwidth 40M=0,shortGI=0;设定带宽(40M=0 20M/40M=1 40M/40=2 80M)
rtwpriv wlan0 mp_ant_tx a 
rtwpriv wlan0 mp_txpower patha=40;设定 power 值(0-63
rtwpriv wlan0 mp_rate 135;设定模式(MCS7135
rtwpriv wlan0 mp_ctx count=%100,pkt;连续发包
rtwpriv wlan0 mp_ctx stop;停止发包
3)频道 161 
rtwpriv wlan0 mp_channel 161;设定通道(36-161
rtwpriv wlan0 mp_bandwidth 40M=0,shortGI=0;设定带宽(40M=0 20M/40M=1 40M/40=2 80M)
rtwpriv wlan0 mp_ant_tx a 
rtwpriv wlan0 mp_txpower patha=40;设定 power 值(0-63
rtwpriv wlan0 mp_rate 135;设定模式(MCS7135
rtwpriv wlan0 mp_ctx count=%100,pkt;连续发包
rtwpriv wlan0 mp_ctx stop;停止发包
 
三: 11a发射模式 MCS7 =135 步骤
1MCS7 11a模式 40M 带宽
#ifconfig wlan0 up;开启网卡
#rtwpriv wlan0 mp_start;加载测试程序
1)频道 38 
rtwpriv wlan0 mp_channel 38;设定通道(36-161
rtwpriv wlan0 mp_bandwidth 40M=1,shortGI=0;设定带宽(40M=0 20M/40M=1 40M/40=2 80M)
rtwpriv wlan0 mp_ant_tx a 
rtwpriv wlan0 mp_txpower patha=40;设定 power 值(0-63
rtwpriv wlan0 mp_rate 135;设定模式(MCS7135
rtwpriv wlan0 mp_ctx count=%100,pkt;连续发包
rtwpriv wlan0 mp_ctx stop;停止发包
2)频道 151 
rtwpriv wlan0 mp_channel 151;设定通道(36-161
rtwpriv wlan0 mp_bandwidth 40M=1,shortGI=0;设定带宽(40M=0 20M/40M=1 40M/40=2 80M)
rtwpriv wlan0 mp_ant_tx a 
rtwpriv wlan0 mp_txpower patha=40;设定 power 值(0-63
rtwpriv wlan0 mp_rate 135;设定模式(MCS7135
rtwpriv wlan0 mp_ctx count=%100,pkt;连续发包
rtwpriv wlan0 mp_ctx stop;停止发包
3)频道 165
rtwpriv wlan0 mp_channel 159;设定通道(36-161
rtwpriv wlan0 mp_bandwidth 40M=1,shortGI=0;设定带宽(40M=0 20M/40M=1 40M/40=2 80M)
rtwpriv wlan0 mp_ant_tx a 
rtwpriv wlan0 mp_txpower patha=40;设定 power 值(0-63
rtwpriv wlan0 mp_rate 135;设定模式(MCS7135
rtwpriv wlan0 mp_ctx count=%100,pkt;连续发包
rtwpriv wlan0 mp_ctx stop;停止发包
 
三: 11ac发射模式 MCS9 步骤
1MCS7 11ac模式 80M 带宽
#ifconfig wlan0 up;开启网卡
#rtwpriv wlan0 mp_start;加载测试程序
1)频道 425180MHz
rtwpriv wlan0 mp_channel 42;设定通道(36-161
rtwpriv wlan0 mp_bandwidth 40M=2,shortGI=0;设定带宽(40M=0 20M/40M=1 40M/40=2 80M)
rtwpriv wlan0 mp_ant_tx a 
rtwpriv wlan0 mp_txpower patha=40;设定 power 值(0-63
rtwpriv wlan0 mp_rate 169;设定模式(MCS9
rtwpriv wlan0 mp_ctx count=%100,pkt;连续发包
rtwpriv wlan0 mp_ctx stop;停止发包
(2)频道 155 5775MHz
rtwpriv wlan0 mp_channel 155;设定通道(36-161
rtwpriv wlan0 mp_bandwidth 40M=2,shortGI=0;设定带宽(40M=0 20M/40M=1 40M/40=2 80M)
rtwpriv wlan0 mp_ant_tx a 
rtwpriv wlan0 mp_txpower patha=40;设定 power 值(0-63
rtwpriv wlan0 mp_rate 169;设定模式(MCS9
rtwpriv wlan0 mp_ctx count=%100,pkt;连续发包
rtwpriv wlan0 mp_ctx stop;停止发包
MAP
rtwpriv wlan0 efuse_get realmap

四、rtwpriv工具脚本

rtwpriv.sh脚本

脚本使用方法

rtwpriv.sh 7 0 a 40 135 start 1
rtwpriv.sh 7 0 a 40 135 stop 1
参数定义:  rtwpriv.sh  mp_channel:7 mp_bandwidth_40M:0 mp_ant_tx:a
mp_txpower_patha:40 mp_rate:135 run_cmd:start cmd_delay:1 "


#!/bin/sh

CHAN=$1
BANDWIDTH=$2
ANT=$3
POWER=$4
MODE=$5
RF_TRAN=$6
CMD_DELAY=$7
RTWPRIV_CMD=""
RTWPRIV_CMD_STR=""

param_check(){
 ret=0

 
 if [ $CHAN -gt 255 ]
 then
    echo "mp_channel=$CHAN >255 error !"
        ret=1
        return $ret
 fi
 
 if [ $BANDWIDTH -gt 2 ]
 then
    echo "mp_bandwidth_40M=$BANDWIDTH >2 error !"
        ret=2
        return $ret
 fi

 if [ $POWER -gt 63 ]
 then
    echo "mp_txpower_patha=$POWER >63 error !"
        ret=4
        return $ret
 fi

 if [ $MODE -gt 255 ]
 then
    echo "mp_rate=$MODE >255 error !"
        ret=5
        return $ret
 fi
 
 if [ $RF_TRAN != start ] &&  [ $RF_TRAN != stop ]
 then
    echo "run_cmd=$RF_TRAN  error, please input start or stop !"
        ret=6
        return $ret
 fi

 if   expr $CMD_DELAY \<\= 0
 then
    echo "cmd_delay=$CMD_DELAY <0 error !"
        ret=7
        return $ret
 fi


 return 0
}
cmd_exec_func(){
    RTWPRIV_CMD_STR="$1 $1 $2 $3 $4 $5 $6"
    echo "exec--->${RTWPRIV_CMD_STR}"
    $RTWPRIV_CMD
}

if [ $1 == "-h" ] || [ $1 == "--help" ]
then
  echo "usage  :   
  rtwpriv.sh 7 0 a 40 135 start 1
  rtwpriv.sh 7 0 a 40 135 stop 1
  param define -->  rtwpriv.sh  mp_channel:7 mp_bandwidth_40M:0 mp_ant_tx:a \
  mp_txpower_patha:40 mp_rate:135 run_cmd:start cmd_delay:1 "
  exit 0
fi
 
param_check
param_ret=$?
if [ $param_ret -gt 0 ] ;then
 echo "<<<<param $param_ret error!>>>>"
 echo "usage  :   
  rtwpriv.sh 7 0 a 40 135 start 1
  rtwpriv.sh 7 0 a 40 135 stop 1
  param define -->  rtwpriv.sh  mp_channel:7 mp_bandwidth_40M:0 mp_ant_tx:a \
  mp_txpower_patha:40 mp_rate:135 run_cmd:start cmd_delay:1 "
 
exit $param_ret
fi


if [ $RF_TRAN == "start" ] ;then

RTWPRIV_CMD="rtwpriv wlan0 mp_channel $CHAN"
cmd_exec_func  $RTWPRIV_CMD $RTWPRIV_CMD_STR
sleep  $CMD_DELAY
RTWPRIV_CMD="rtwpriv wlan0 mp_bandwidth 40M=$BANDWIDTH,shortGI=0"
cmd_exec_func  $RTWPRIV_CMD
sleep  $CMD_DELAY
RTWPRIV_CMD="rtwpriv wlan0 mp_ant_tx $ANT"
cmd_exec_func  $RTWPRIV_CMD
sleep  $CMD_DELAY
RTWPRIV_CMD="rtwpriv wlan0 mp_txpower patha=$POWER"
cmd_exec_func  $RTWPRIV_CMD
sleep  $CMD_DELAY
RTWPRIV_CMD="rtwpriv wlan0 mp_rate $MODE"
cmd_exec_func  $RTWPRIV_CMD
sleep  $CMD_DELAY
RTWPRIV_CMD="rtwpriv wlan0 mp_ctx count=%100,pkt"
cmd_exec_func  $RTWPRIV_CMD
sleep  $CMD_DELAY
echo "<<rtwpriv run start success !>>"
elif [ $RF_TRAN == "stop" ] ;then

RTWPRIV_CMD="rtwpriv wlan0 mp_ctx $RF_TRAN"
cmd_exec_func  $RTWPRIV_CMD
sleep  $CMD_DELAY
echo "<<rtwpriv run stop success !>>"
fi

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
嵌入式操作系统Linux编译移植搭建可以分为以下几个步骤: 1. 适合的Linux内核版本:嵌入式系统开发需要选择适合的Linux内核版本,可以选择已有的版本或自己编译。选择时需要考虑硬件平台和应用需求。 2. 配置交叉编译环境:交叉编译环境是在一种操作系统下编译另一种操作系统的程序,需要安装交叉编译工具链。工具链包括交叉编译器、交叉调试器等。 3. 配置内核:根据硬件平台和应用需求,配置内核。配置文件一般位于内核源码树的根目录下,可以使用make menuconfig或make xconfig等工具进行配置。 4. 编译内核:使用交叉编译工具链编译内核源码。编译后会生成内核镜像和模块。 5. 移植内核:将编译好的内核镜像和模块移植到目标硬件平台,并进行测试和调试。 6. 配置根文件系统:嵌入式Linux系统需要一个根文件系统,可以选择已有的或自己制作。根文件系统包括文件系统镜像、启动脚本等。 7. 移植根文件系统:将根文件系统移植到目标硬件平台,并进行测试和调试。 8. 应用开发:根据应用需求开发应用程序,并将其编译链接到根文件系统中。应用程序可以使用交叉编译工具链编译。 以上是嵌入式操作系统Linux平台的编译移植搭建的一般步骤。具体实现过程需要根据具体的硬件平台、应用需求和开发环境进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值