pb 不支持快速逻辑运算法

基于STM32CubeMX的PLC开发完整指南 深入讲解如何利用stm32cubemx使用教程实现PLC功能开发,涵盖配置流程与代码生成技巧,帮助开发者快速掌握基于STM32的工业控制应用设计方法。 阅读详情
if row>0 and dw_1.getitemstring(row,'col')=1 then
.....
出错 无效的行或列
DSP56824 GPIO与中断配置实战:从寄存器操作到中断服务程序优化 通用输入输出(GPIO)是嵌入式系统与外部世界交互的基础接口,其核心原理是通过配置数据方向寄存器控制引脚输入输出,并利用数据寄存器进行电平读写。在实时性要求高的场景中,中断机制至关重要,它允许CPU在外部事件发生时立即响应,而无需轮询,从而提升系统效率。GPIO中断通常涉及边沿检测、中断使能、优先级管理和中断向量跳转等技术环节,其价值在于实现快速、确定性的外部事件处理,广泛应用于电机控制、传感器采集和人机交互等嵌入式领域。本文以Freescale DSP56824为例,深入解析其Port B和Port C的 阅读详情

相关推荐

推挽与开漏输出:从电路原理到实战选型全解析

在数字电路与嵌入式开发中,GPIO(通用输入输出)的配置是基础且关键的一环。其核心原理基于MOSFET构成的输出级电路,决定了信号的驱动方式与电气特性。推挽输出采用互补对称结构,能提供强劲且对称的驱动能力,确保信号完整性,适用于直接驱动负载、高速通信等场景。开漏输出则结构精简,通过外部上拉电阻工作,其独特的高阻态特性带来了电平转换和“线与”逻辑的灵活性,是I2C等总线协议的基石。理解这两种模式的原理、差异及适用场景,对于设计稳定可靠的电路、实现多设备通信和解决电平不匹配问题具有重要价值。本文将深入剖析推挽与

weixin_33725126的博客 559

PowerBuilder学习笔记(运算符和表达式)

算术运算符:+、-、*、/ 指数运算符:^ 扩展运算符:+=、-=、*=、/= 自增、自减运算符:++、-- 关系运算符:< 、<=、=、>、>=、<>(不等于) 逻辑运算符:AND(与)、OR(或)、NOT(非) 连接运行符:+ 连接运算符可以用来连接字符串、合并blob类型变量。 注意! 在PowerBuilder中减号和自减运算符的两边要有空格,不然会被认为是标识符。 如果操作数是Null,则表达式结果也为Null。 Dec类型会被四舍五入。

qq_54058952的博客 2380

MPC8308 eLBC内存控制器详解:GPCM、FCM、UPM三大模式配置与实战

在嵌入式系统设计中,内存控制器是连接处理器核心与外部存储器的关键桥梁,其性能与配置直接决定了系统的稳定性和效率。其核心原理在于通过可编程的时序状态机,生成精确的控制信号,以匹配不同类型存储设备的访问协议。这项技术的核心价值在于,它能用一套硬件资源,灵活适配NOR Flash、NAND Flash、DRAM等多种设备,从而简化硬件设计、降低系统成本。在嵌入式网关、网络设备等应用场景中,高效可靠的内存访问是基础保障。本文以NXP MPC8308处理器的增强型本地总线控制器(eLBC)为具体案例,深入剖析其三大控

as2886089的博客 530

PB学习笔记(1)

yangzhanghui的专栏 1737

【信息科学与工程学】计算机科学与自动化——第一百八十九篇 计算机硬件 系列一 微处理器01

在金融行业CDN流推送场景中,结合WebRTC over SD-RTN与SD-WAN Branch方案,需兼顾​​要求。

weixin_49199313的博客 1056

【信息科学与工程学】【数据科学】 第四十四篇 数据湖 系列二 函数库01

2. 近似最近邻搜索(ANN): 通过HNSW等图索引模型加速,模型定义为构建一个层次化导航小世界图。依赖于消息队列(Kafka/Pulsar)、分布式文件系统(HDFS/S3)的客户端及连接库。依赖专门的向量检索库(如FAISS, Milvus)。管控目标: 召回率(Recall@K) > 95%,查询延迟 < 100ms。管控目标: < 1% (核心业务字段) 或 < 5% (一般字段)依赖数据处理框架(如Spark, Pandas)的核心统计函数。,通过牺牲精确性(ANN)来换取搜索速度的大幅提升。

weixin_49199313的博客 346

PB中PowerScript使用及注意

[PB]-PowerScript --------- 帮助 F1:在Script画板中还可以使用F1键随时获得帮助。 Shift+F1:将光标放到不熟悉的Script语言元素上,然后使用Shift+F1键即可获得相关帮助。例如,当使用open函数时,一时记不起它的用法,可以将光标放在该函数位置,使用组合键即可打开关于open函数的帮助。在帮助窗口中可以将相关信息拷贝,然后复制到Script

冷寂 4280

NXP应用随记(八):S32K3XX的HSE学习记录(HSE\MU\UTEST\IVT\A,B SWAP)

HSE,即硬件安全引擎(Hardware Security Engine),是NXP S32K312微控制器(MCU)中的一个功能,它提供了一系列的安全特性,包括加密、安全启动和密钥存储等。这些功能旨在增强汽车电子系统的信息安全,符合ISO26262标准,达到ASIL D安全等级。具体来说,S32K312的HSE支持AES-128/192/256加密、RSA、ECC等加密算法,以及侧通道保护,确保了数据传输和存储的安全性。

梦想技术家 9744

PB编程规范及常见问题

  一、开发标准与命名约定l         在代码开发中,所有的运算符(+ 、-、 *、 / 、〈、〉等)及赋值动词(=)的前后者应加上一个空格,最好在函数的参数表中的每个变量前面也要加入一个空格。如:wf_Dfjs_Dldb( Ad_zdl, As_lb ) 。l         应使用TAB而不是空格来缩排循环或复合语句中的代码,显示其包含关系。l         函数名,事

yishanhai的专栏 3299

概率论与数理统计基础概念与重要定义汇总

文章目录一、随机事件和概率1:互斥,对立,独立事件的定义和性质。2:概率,条件概率和五大概率公式3:古典型,几何型概率和伯努利试验 一、随机事件和概率 1:互斥,对立,独立事件的定义和性质。 互斥事件\color{red}\textbf{互斥事件}互斥事件 事件A和B的交集为空,A与B就是互斥事件,也叫互不相容事件。也可叙述为:不可能同时发生的事件。如A∩B为不可能事件(A∩B=Φ),那么称事件A与事件B互斥,其含义是:事件A与事件B在任何一次试验中不会同时发生。 则P(A+B)=P(A)+P(B)(这个公

csyifanZhang的博客 1万+

遥感目标检测数据集汇总

文章目录1. 光学数据集1.1 DIOR1.2 LEVIR1.3 DOTA1.4 RSOD1.5 NWPU VHR-101.6 VEDAI1.7 COWC1.8 ITCVD1.9 DIUx xView 20181.10 HRSC20161.11 TAS1.12 SZTAKI‐INRIA1.13 UCAS AOD1.14 DLR 3K Vehicle2. SAR2.1 SSDD2.2 SSDD+2....

quanwei的博客 6万+

python机器学习实战|机器学习入门笔记2-Numpy基础知识

python机器学习实战|机器学习入门笔记2-Numpy基础知识

weixin_70379932的博客 843

mfcc总结,这个mel三角滤波器分组到底是如何起作用的呢?

先看fft频谱图(这是4096字节取样fft计算,横轴频率是从0到512,后边意义不大,未取,纵轴是振幅),那些我随便画的蓝色线,你有什么联想?: 再看,这绿色线,是否有一种上升后,便逐渐式微的感觉,都是三角形的,这或许也是mel当初和绝大多数人看到的: 如果在振幅上加上一条限制的黑线(振幅门槛限制),黑色线以下很多频率就没有意义了,你看,有用的频率连一半(512/2=256)都占不到...

ganggangwawa的博客 9908

python之入门

第一章 入门 1.1 变量-输出 a = 1 # 声明变量 a # 变量的名字 = # 赋值 1 # 值 变量定义的规则: 1.变量由数字,字母,下划线组成 2.不能以数字开头 3.不能使用python中关键字 4.不能使用中文和拼音 5.区分大小写 6.变量名要具有描述性 7.推荐写法 7.1驼峰体 7.2下划线 什么是变量? 变量就是将一个临时的值存储在...

abc409944643的博客 127

CPRI原理及应用--帧结构

对于CPRI 控制字,协议将1个超帧(256基本帧)的控制数据划分为一个“子通道”,将子通道内超帧内的控制字进行行列划分,分为4列X64行,每64个基本帧组成1列。如下图所示。每个Xs子通道内Ns的定义基本相同,在做控制字设计时,主要已Xs和Ns和X.Y.Z开展控制字映射。

u014035968的博客 2325

铁路场景雷达点云目标识别与追踪系统

本文介绍了一种基于毫米波雷达的铁路货运车站安全监控系统。该系统采用分布式架构,通过多个毫米波雷达节点采集点云数据,经过坐标转换、多雷达融合等处理后,利用机器学习算法实现列车、行人等目标的实时识别与追踪。系统包含数据采集层、处理层、目标识别层、追踪层、预警决策层和可视化层,能够克服传统视频监控受环境影响大的缺点,实现全天候可靠监测。文中详细展示了雷达数据解析和点云预处理的代码实现,包括坐标转换、数据格式解析和体素网格滤波等关键技术。该系统可有效预警铁路场景下的碰撞风险,提升货运车站的安全管理水平。

huanghm88的专栏 125

经纬纺机生产管理系统的设计与实现

系统的需求分析通过对企业原有信息系统的分析和了解企业实际管理业务流程,掌握企业实际需求,了解企业实际管理业务流程,分析原有信息系统的不足,结合企业各个业务部门的管理需求,提炼生产管理系统总体需求;在此基础上,阐述生产管理系统的主要功能性需求和非功能性需求,以及系统为了实现这些需求而必须解决的主要问题及可行性。由于企业的信息化建设从20世纪90年代应用开始,受当时的应用环境和技术条件限制,原有系统采取主机/终端体系结构,终端设备专用性强,难以与其他应用系统实现信息互通,不具备图形界面功能,无法实现在网络环境下

qq_251836457的博客 1441

HITECH海泰克触摸屏如何使用串口进行程序的下载和上传(拨码设置)以及离散量报警相关设定?

HITECH海泰克触摸屏如何使用串口进行程序的下载和上传(拨码设置)以及离散量报警相关设定? 首先,我们进行触摸屏一侧的设置,如下图所示: 触摸屏背后有拨码开关,当我们需要上传或下载程序时,需要将7#开关拨到上面; 左侧是DC24V电源接口; 下方是COM1、COM2和COM3通信端口,选择我们需要的端口后,插上通信电缆,拔掉24V电源,然后重新上电; 然后,屏幕会进入如下图所示界面,此时显示当前选择的端口为COM2,我们点击F2“config”,进入设置界面, 可以看到COM2端口是“Enabled”

Robot_PLC_HMI_Automation 3万+

MapReduce随笔

MapReduce高级特性 一、序列化 核心接口:Writable 如果一个类实现了Writable该类的对象可以作为Key和Value 二、排序 规则:按照Key2排序(可以是基本数据类型,也可以是对象) 基本数据类型:数字(默认升序),字符串(默认字典顺序) 可以通过创建自己的比较规则改变排序(extends IntWritable.Comparator/extends Text.C...

zfhzxg的博客 221

11、系统稳定性分析与李雅普诺夫函数的应用

本文深入探讨了李雅普诺夫函数在系统稳定性分析中的核心作用,重点介绍了时变与时不变系统的稳定性判据差异,以及巴尔巴拉特引理在处理非自治系统中的应用。文章还阐述了正线性系统与严格正实传递函数的性质及其在非线性控制系统中的重要性,并展示了李雅普诺夫函数在评估主导时间常数和设计快速干扰抑制控制策略方面的实际应用。通过具体示例和流程图,系统地总结了李雅普诺夫方法在稳定性分析、性能评估与控制器设计中的多维度价值,同时指出了当前挑战与未来发展方向。

Jerry的专栏 93

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

python中的循环和编码,运算符, 格式化输出

1.while循环   现在让我们来看看python中的while循环   格式为 while 条件 循环体  (break)  (continue)       中断循环的关键字有break和continue,   break:直接中断跳出循环.   continue:终止当前本次循环,继续执行下一次循环,不会彻底中断循环 2.格式化输出   占位符有%s,...

weixin_30898109的博客 108

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

三菱FX5U PLC编程环境搭建:GX Works3安装破解与首个点动程序实战

可编程逻辑控制器(PLC)作为工业自动化系统的核心控制单元,其工作原理是通过接收输入信号、执行用户编写的逻辑程序,进而驱动输出设备完成自动化控制任务。掌握PLC编程是工业控制领域的基础技能,对于实现设备自动化、提升生产效率具有重要价值。在众多PLC品牌中,三菱FX5U系列因其高性能、内置以太网及支持多编程语言等特点,成为小型PLC的典型代表。要对其进行编程开发,必须依赖其官方集成环境GX Works3软件。本文聚焦于解决初学者在搭建FX5U开发环境时遇到的核心痛点,详细解析GX Works3软件的安装流程、

weixin_34026276的博客 422

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

C语言从入门到进阶(个人笔记细节版)鲍松山老师课程

《C语言入门基础笔记》摘要 本文是C语言基础入门教程,包含以下核心内容: 开发环境:推荐VS2026/Dev-C++/CodeBlocks编译器 基础语法:首个C程序结构、数据类型(整型/浮点型)及存储大小 输入输出:printf/scanf函数详解,格式化输出技巧 进制转换:二进制/八进制/十进制/十六进制互转方法 变量常量:定义、命名规则、作用域及const与#define区别 实用技巧:VS编译器问题解决方案、格式化输出控制、浮点精度处理 配套练习:包含日期反向输出、进制转换等实践题目 笔记采用渐进式

一起学习编程知识 583

Go语言基础

一、Go基础 标识符: ​ go语言中的标识符由字母数字和下划线(_)组成,并且只能以字母和下划线(_)开头 关键字: ​ 关键字是指编程语言中预先定义好的具有特殊含义的标识符。关键字和保留字都不建议用作变量名。 Go语言有25个关键字: 关键字 break default func interface select case defer go map struct chan else goto package switch const fallthrough if

有用的话关个注,点个赞,收个藏🫶。 1919

鸟哥私房菜笔记00-计算机概论

由使用者输入指令与数据,经过中央处理器的数学与逻辑单元运算处理后,以产生或存储成有用的信息。所以,只要有输入设备及输出设备,又有CPU能进行复杂运算的,这就是计算机了。简单来说,DRAM和SRAM是“速度”与“成本/容量”之间的权衡。SRAM 快而贵,做缓存;DRAM 密而廉,做内存。在一个典型的计算机系统中,它们协同工作:CPU首先在高速但容量小的SRAM缓存中寻找数据,如果找不到(缓存未命中),才会去访问低速但容量大的DRAM主存。

Virtue_Wei的博客 407
上一篇: Pb 事件发生顺序
下一篇: 取计算列值
MakeToday
博客等级 码龄22年 13粉丝 138原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值