首页 文章 精选 留言 我的

精选列表

搜索[c/c ],共10000篇文章
优秀的个人博客,低调大师

Go http2 和 h2c

1、http/1.1 的服务器 我们经常会在代码中启动一个http服务器,最简单的http/1.1服务器如下所示: 1http.Handle("/foo", fooHandler) 2http.HandleFunc("/bar", func(w http.ResponseWriter, r *http.Request) { 3 fmt.Fprintf(w, "Hello, %q", html.EscapeString(r.URL.Path)) 4}) 5log.Fatal(http.ListenAndServe(":8080", nil)) 使用Go开发web服务非常的简单,快速。 2、http/1.1 的服务器 with TLS 如果想让http/1.1服务器支持TLS, 可以使用如下的代码: 1http.Handle("/foo", fooHan

优秀的个人博客,低调大师

C# 串口类SerialPort的使用方法

序言:最近做了一个智能体育项目——跆拳道积分系统,硬件部分会向软件传入振动值等数据,链接方式为串口,所以用到SerialPort类。 值得注意的是: DataReceived 方法,当串口缓冲区有数据时执行该方法。 ReceivedBytesThreshold属性决定了当串口读缓存中数据多少个时才触发DataReceived事件,默认为1。串口接收的指令可能是错误值,所以这块根据自己需求进行设置。 首先需要引用SerialPort using System.IO.Ports; 创建全局串口对象 SerialPort com; SerialPort配置,并打开端口进行接收数据 private void Form1_Load(object sender, EventArgs e) { com = new SerialPort("COM5"); //实例化SerialPort并设置COM口 com.BaudRate = 115200;//波特率 com.Parity = Parity.None;//无奇偶校验位 com.StopBits = StopBits.Two;//两个停止位 com.Handshake = Handshake.RequestToSend;//控制协议 com.ReceivedBytesThreshold = 13;//设置 DataReceived 事件发生前内部输入缓冲区中的字节数,我这里是13字节为一组 com.Open(); //打开串口 com.DataReceived += new SerialDataReceivedEventHandler(Com_DataReceived); //接受数据线程 } /// <summary> /// 监听串口数据线程 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Com_DataReceived(object sender, SerialDataReceivedEventArgs e) { try { if (com.IsOpen) { byte[] readBuffer = new byte[com.ReadBufferSize + 1]; try { int count = com.Read(readBuffer, 0, com.ReadBufferSize); //读取串口数据(监听) //String SerialIn = System.Text.Encoding.ASCII.GetString(readBuffer, 0, count); if (count != 0) { //将返回值byte数组转换为string类型数据 String result = bytesToHexString(readBuffer); //这里强调一下,线程里不可以直接对UI进行赋值 this.BeginInvoke(new System.Threading.ThreadStart(delegate () { textBox1.Text = result; //对控件进行赋值 })); } } catch (TimeoutException) { } } else { TimeSpan waitTime = new TimeSpan(0, 0, 0, 0, 50); Thread.Sleep(waitTime); } } catch (Exception ex) { } } Byte数组转换成16进制方法 /// <summary> /// Byte数组转换成16进制 /// </summary> /// <param name="bArr"></param> /// <returns></returns> String bytesToHexString(byte[] bArr) { string result = string.Empty; for (int i = 0; i < 13; i++)//逐字节变为16进制字符,以%隔开 { result += Convert.ToString(bArr[i], 16).ToUpper().PadLeft(2, '0') + " "; } return result; } 发送数据 /// <summary> /// 发送数据 /// </summary> void SendData() { Byte[] TxData = { 1, 2, 3, 4, 5, 6, 7, 8 }; com.Write(TxData, 0, 8); } 到这里就结束了,网上也有一些测试串口数据的程序,我这也有一个但是不记得在哪里下载的了,如果有需要跟我吱一声~

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册