-
c#实例 连接不上不上
-
试验准备:1、树莓派3B,接近开关一个,发光三极管一个。2、安装了Windows IoT 系统,Windows 10 + Visual Studio 2022开发环境接线图试验要完成的任务:当接近开关靠近金属物体时,主动通知,亮起三极管的灯。当接近开关远离金属物,随即三极管熄灭。1、创建一个类ProximitySwitch,用来实现对接近开关引脚监听,引脚电平变化时做出反应,这里用一个回调方法实现。定义一个GpioPin的控制监听对象。一个回调方法。 /// <summary> /// 监听控制 /// </summary> private GpioPin _ListenPin; /// <summary> /// 监听结果回调 /// </summary> private Action<GpioPinValue> _PinValueChanged;初始化接近开关的引脚对象,并设定回调方法 /// <summary> /// 初始化引脚 /// </summary> /// <param name="pin">引脚编号</param> /// <param name="mode">工作模式</param> /// <param name="value">初始值</param> void Init(int pin, GpioPinDriveMode mode, GpioPinValue value) { var gpio = GpioController.GetDefault(); _ListenPin = gpio.OpenPin(pin); _ListenPin.SetDriveMode(mode); _ListenPin.Write(value); _ListenPin.ValueChanged += Pin_ValueChanged; } private void Pin_ValueChanged(GpioPin sender, GpioPinValueChangedEventArgs args) { _PinValueChanged(sender.Read()); }2、再创建一个控制引脚输出的类PinSetting,类负责初始化一个引脚,并提供写入高低电平 public class PinSetting { GpioPin _Pin; public PinSetting(int pin) { var gpio = GpioController.GetDefault(); _Pin = gpio.OpenPin(pin); _Pin.SetDriveMode(GpioPinDriveMode.Output); } /// <summary> /// 执行写入 /// </summary> /// <param name="value"></param> public void WritePin(GpioPinValue value) { _Pin.Write(value); } }3、测试一下,这里是通过一个uwp点page上button出发 PinSetting pin; ProximitySwitch proximity; private async void Button_Click(object sender, RoutedEventArgs e) { pin = new PinSetting(27); proximity = new ProximitySwitch(6); proximity.StartListen(v => { pin.WritePin(v);//通过监听结果回调触发 }); }最终效果
-
基础连接已经关闭: 发送时发生错误。
-
C#WebApi同一个接口同一个会话会调用多次,如何判断是否是会话重复请求
-
【功能模块】C# 写的后端,如何调用 内容审核【操作步骤&问题现象】1、SDK中没有C的版本,请问下程序使用C#构建的如何调用 “内容审核”2、【截图信息】
-
【功能模块】C#多线程调用OCR通用文字识别,通过Token请求【操作步骤&问题现象】1、C#多线程调用API,连续执行到第四五十次的时候会抛异常,异常信息:操作超时。2、设置System.Net.ServicePointManager.DefaultConnectionLimit的值大于4之后,在GetResponse()的位置抛异常。异常信息远程服务器返回错误:(429)Too Many Requests。【截图信息】【日志信息】(可选,上传日志内容或者附件)
-
将原.net framework4.6.1文件及代码导入到.net core 3应用以后,无法获取token,具体在HWOcrClientToken.cs中GetHttpToken()函数无响应。请添加.net core sdk示例,否则应用无法在linux环境下部署,谢谢。另示例sdk在.net framework4.8下也无法正确运行。
-
(转自 https://developer.huawei.com/ict/forum/forum.php?mod=viewthread&tid=24703&highlight )前言IKVM.NET是一个针对Mono和微软.net框架的java实现,其设计目的是在.NET平台上运行java程序。有些在java程序上可以实现的功能,但在C#中无法实现或者目前不知道怎么实现时(如带有特殊Padding的RSA2048加密,https双向认证等),可以考虑使用IKVM工具把已生成的jar转成dll供C#程序去调用。IKVM官网地址:https://www.nuget.org/packages/IKVM/由于IKVM7最高只支持jdk1.6编译出来的jar转换,建议使用最新版本IKVM8。使用说明前提条件:已通过java实现所需功能,且编译成一个jar,如MyHttpClient.jar。1. 在官网下载ikvm压缩包,这里用的是ikvmbin-8.1.5717.0.zip,解压到一个文件夹中,如C:\tools\ikvm-8.1.5717.0。2. 配置环境变量:在系统环境变量中增加IKVM_HOME:C:\tools\ikvm-8.1.5717.0,同时Path中增加%IKVM_HOME%/bin;3. 把MyHttpClient.jar放到一个工作目录下,如C:\tools\ikvm,在命令行中进入该目录,执行 ikvmc -target:library MyHttpClient.jar,即在当前目录下生产MyHttpClient.dll,这里只需要生成一个dll,如需生产可执行程序,可执行命令 ikvmc -target:exe xxx.jar。4. 在C#工程中引用MyHttpClient.dll以及IKVM相关的dll(C:\tools\ikvm-8.1.5717.0\bin目录下的以IKVM.开头的dll,这里为了方便全部引用了),C#中类的命名空间和java中的类的包名是一致的,如java中import com.huawei.myhttpclient,C#中为using com.huawei.myhttpclient特别注意:由于实际的java实现工程很多情况下都依赖一些第三方jar,比如举例的MyHttpClient工程使用了Apache httpClient相关组件实现的设置客户端,服务端证书,发送消息功能,依赖的jar有:commons-codec-1.9.jar,commons-logging-1.2.jar,httpclient-4.5.2.jar,httpcore-4.4.4.jar,httpmime-4.5.2.jar,在网上查询很多做法是把这些第三方jar依次编译成dll,执行ikvm命令时需要指定指定依赖的dll,比较麻烦,这里的做法是把这些jar用winrar等解压软件打开,然后里面的根目录文件夹org(里面包含了Apache httpClient编译生成的class),拷到MyHttpClient.jar中。补充:最近发现有人使用该方式,执行ikvmc编译命令时,命令行中报错:Class "org.apache.http.impl.client.DefaultHttpClient" not found.可能原因是导出jar时,Options选项中未勾选 Add Directory entries
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签