自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

杂七杂八汇聚

汇聚各种工作上生活上用到的一些代码片段和知识整理

  • 博客(44)
  • 资源 (11)
  • 收藏
  • 关注

原创 Python 基于Threading的UdpServer和Serial的类

Summary将udpserver和Serial的对象进行包装,分别使用独立线程来维护。实现的功能:UDP端接收的数据从串口发出,串口接收的数据从UDP端发出SerialThreadBase.pyimport serialimport serial.tools.list_portsimport threadingfrom queue import Queueimport timeclass serialThreadBase(threading.Thread): def _

2021-12-23 16:15:22 1008

原创 winform touch screen override WndProc --Win32.cs

WndProcprotected override void WndProc(ref Message m) { switch (m.Msg) { case Win32.WM_POINTERDOWN: case Win32.WM_POINTERUP: case Win32.WM_POINTERUPDATE: case Win32.WM_POINTERCAPTURECHANG

2021-12-17 13:23:54 794

原创 PowerShell Little Code

Title$file= Get-Content "list.csv"foreach ($line in $file){ $arr = $line.Split(",") N_m3u8DL-CLI_v2.9.7.exe $arr[0] --saveName $arr[1] Write-Host $arr[1]}Start-Transcript -path C:\powershelllog.txt -Force -Append –NoClobberGet-ChildItem

2021-10-13 00:31:45 148

原创 软件内部采用订阅发布的方法进行数据交换的方法

问题通常情况下,一个中小型软件会包含大概在50个窗体以内,不免会在窗体之间需要传递多种信息和数据。通常有几种方式:全局变量通过设立全局变量,使得所有的窗体均可以访问的到。使用一个小型化的数据库例如sqlite或者配置文件来进行数据的传递。但是以上这两种方法均无法实现及时响应。接收数据端需要不断的刷新查询全局变量或者配置文件,造成一定的性能浪费和损失,也丢失了一定的实时响应特性。况且很多软件其实并不需要附带一个本地数据库。事件为了解决及时响应,可以通过在窗体中添加事件,通过delegate和

2021-01-26 12:39:23 249

原创 使用C++来写NiosII[4]-UART

先看看效果main.cppGNios::Uart u0(UART_BASE);void u0_hanlder2(uint8 content){ uint8 rxdata=content; u0.Send(rxdata);}int main() { u0.Init(115200,UART_IRQ_INTERRUPT_CONTROLLER_ID,UART_IRQ,u0_hanlder2); //波特率115200,接收中断函数为u0_handler2 while (1) { }

2020-07-12 23:29:33 220

原创 使用C++来写NiosII[3]-EXTI

将带有中断的PIO单独独立出来一个类叫Exti外部中断类。显而易见,这个Exti实际上是个GPIO的继承类先看看效果main.cppuint8 key_flag=0;GNios::Gpio Led(LED_BASE);GNios::Exti keyin(KEY1_BASE);GNios::Exti key2in(KEY2_BASE);void ISR_Key1Handler(){ key_flag=1; keyin.ClearEdgeCapture(GpioPin0);}voi.

2020-07-12 23:21:47 184

原创 使用C++来写NiosII[2]-GPIO

先看看效果比如我们现在要实现点亮一个灯的操作,采用了C++进行封装之后,在主程序中就会非常的简洁。main.cppGNios::Gpio Led(LED_BASE);int main() { //Hello world to jtag printf("Hello from Nios II!\n"); //led int i; while (1) { for (i = 0; i < 4; i++) { //IOWR_ALTERA_AVALON_PIO_DATA

2020-07-12 23:06:11 402

原创 使用C++来写NiosII[1]-前言

特此说明一下,并不是非得用C++来进行开发。对于绝大部分的应用来说,用C已经足足够了,况且对于一般的NiosII项目来说,硬件上不停的变化,也会导致大部分的代码都是写一次即可,能够完成项目就好。那么为什么还是要写一下这个东西,就是因为在实际的大型项目的开发中,C++是有独特的优势的,当项目程序越来越大,涉及到的算法和控制流程越来越多的情况下,面向对象的C++更能够体现软件工程的思想。而且随着项目的持续推进,更多的关注点应该是程序流程和应用流程本身,这个时候就稍微需要隐藏一下底层的东西,保持代码的干净,方.

2020-07-12 22:17:14 374

转载 C/C++ 不带参数的回调函数 与 带参数的回调函数 函数指针数组 例子

不带参数的回调函数例子#include <iostream>#include <windows.h>void printFunc(){ std::cout<<"printFunc"<<std::endl;}void CallFunc(void (*FuncPoint)()){ FuncPoint();}int main(int argc,char* argv[]){ CallFunc(printFunc); sy

2020-07-09 22:55:05 318

转载 Function‘__builtin_stwio’ could not be resolved

Function ‘__builtin_stwio’ could not be resolvedIf you are using Eclipse IDE for Altera NIOS II C++ firmware development, you will probably be annoyed by the following two reported semantic error messages when you are using IOWR() and IORD() macros from t

2020-06-25 00:34:58 403

原创 正确理解Avalon MM总线的动态地址寻址Dynamic Addressing

目前Nios已经取消了Native寻址模式(即从设备到主设备寄存器映射),全部采用了Dynamic寻址模式,查找了目前存在的一些资料,尤其是某些教程,还在使用Native模式,对Dynamic动态模式避而不谈,还有好多资料摸棱两可,说的模模糊糊,感觉应该是没吃透这个东西,要么就是调试程序的使用使用固有的2或者4方法,其实为什么这么做,可能也不知道。下面根据查询官方手册,给出我的理解。以下所说的32bit,16bit表示的都是数据宽度。所有的寄存器都是8bit的!!在Master来看,一个地址只对应.

2020-06-23 00:16:21 822 1

转载 Visual Studio 项目在修改项目版本时,使用 * 通配符报错

CS8357 C# The specified version string contains wildcards, which are not compatible with determinism. Either remove wildcards from the version string, or disable determinism for this compilationCS83...

2020-01-10 11:54:40 2604

原创 Net 4中使用System.Net.Http.HttpClient和使用Task await async

添加Nuget包Microsoft.BclMicrosoft.Bcl.BuildMicrosoft.Net.HttpMicrosoft.Bcl.Async

2020-01-10 10:21:39 1237 1

原创 利用反射来初始化自定义泛型成员

直接代码 private List<T> CreateListInstance<T>(int Length) { List<T> tList = new List<T>(); for (int i = 0; i < Length; i++) { ...

2019-09-22 00:24:46 264

转载 Typical Result or EventArgs Class

public class Result{ public bool Success { get; private set; } public string Error { get; private set; } public bool Failure { /* … */ } protected Result(bool success, string...

2019-03-03 13:35:39 180

转载 如何向生产设备迁移有变动的数据库

参考 https://msdn.microsoft.com/zh-CN/data/jj591621 实体框架CodeFirst迁移步骤1.修改好CodeFirst代码。2.在程序包管理器控制台(点击工具&gt;&gt;库程序包管理器&gt;&gt;程序包管理器控制台可以调出)中输入Enable-Migrations,启用迁移。3....

2019-03-01 23:40:39 171

原创 异步编程模型(勘误)

还不确定是否正确,反正能正常执行,先记录下来代码 public class App { private static string result; private static AutoResetEvent are = new AutoResetEvent(false); ManualResetEvent mre = new Manua...

2019-02-16 11:00:38 202

转载 可以排序的DataGridView数据源SortableBindingList<T>

一般情况下,DataGridView绑定的数据源都是BindingList&lt;T&gt;,但是BindingList&lt;T&gt;不支持排序,所以造成了DataGridView也是不能排序的,改进的SortableBindingList&lt;T&gt;增加了排序功能。代码如下 public class SortableBindingList&lt;T&gt; : Bindin...

2019-02-13 21:14:42 1215

转载 DataGridView中增加ProgressBar

效果此代码也是转载的,此处更改了显示百分比显示一位小数,同时文字显示位置居中,代码如下,以下代码添加到工程中,编译一次,即可在DataGridView添加列中看到DataGridViewProgressColumn。 public class DataGridViewProgressColumn : DataGridViewImageColumn { p...

2019-02-13 21:07:53 1260

原创 Win10蓝牙设备删除后无法连接解决办法

现象一般情况下,当操作系统无法与蓝牙设备,比如鼠标键盘等出现无法连接的情况,通过删除掉蓝牙设备后重新连接配对即可,可是在Win10当中,一旦删除掉蓝牙设备后,再重新配对的时候是无法发现已经删除的设备的。(因为这个原因误会了鼠标,还让客服给换新)。而且当系统重启之后,在蓝牙设备表里是还能够看到已经配对过的设备的,但此时设备是无法工作的,使用了很多方法都无济于事。原因归根结底原因是因为Wi...

2019-01-11 01:36:26 30495 18

转载 Winform 剪贴板的复制和粘贴使用

复制:private void TextBox_DoubleClick(object sender, System.EventArgs e) {   if(TextBox.Text != "")    Clipboard.SetDataObject(TextBox.Text); } 粘贴:private void TextBox2_DoubleClick(object...

2018-10-21 20:07:49 1782

原创 DataGridView解决使用BindingList时属性改变界面不更新问题

       在使用BindingList作为DataGridView的数据源时,当BindingList&lt;&gt;有增加或者删除的时候DataGridView会自动刷新,但是当BindingList&lt;&gt;中属性内容进行更新的时候界面并不会刷新,是因为实体类没有实现INotifyPropertyChanged接口,实现相关接口即可。代码如下: public clas...

2018-10-21 12:29:04 3903

转载 MSDN代码注释范例

/// &lt;summary&gt; /// This sample shows how to specify the &lt;see cref="TestClass(int)"/&gt; constructor as a cref attribute. /// &lt;/summary&gt; public TestClass(...

2018-08-14 17:17:12 357

原创 C# 多行文本去掉空白行,空行和重复行

需要使用LINQstring[] strArray=str.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);strArray = strArray.GroupBy(p =&gt; p).Select(p =&gt; p.Key).ToArray();

2018-08-14 14:51:02 6026

转载 STM32的AFIO时钟什么时候需要开启

AFIO 是什么?AFIO 时钟什么时候需要开启?  我们从《STM32中文参考手册_V10》中找到:对寄存器 AFIO_EVCR、AFIO_MAPR 和 AFIO_EXTICRX 进行读写操作前,应当首先打开 AFIO 的时钟(设置 APB2 外设时钟使能寄存器 RCC_APB2ENR)。   也就是说:当你需要配置 AFIO 这些寄存器的时候,就需要把 RCC_APB2ENR 寄存器的...

2018-04-20 11:52:38 1132

转载 Winform 复制、粘贴文本信息到剪贴板

Winform 复制、粘贴文本信息到剪贴板复制private void button1_Click(object sender, System.EventArgs e) {  // Takes the selected text from a text box and puts it on the clipboard.  if(textBox1.SelectedText !=

2018-02-05 22:28:13 1385

转载 Quartus Prime 275080警告 pin name already exists

Quartus Prime 275080警告Quarus Prime中如果有总线命名分别为 a[11..0] 和 a11,则编译的时候会报错,原因是原理图分解的时候简单的把a[11..0]分解成了 a11,a10,a9….a0 这样的话就出现了命名冲突.解决办法Assignments -> Settings -> Analysis and Synthesis Settings ->

2018-02-01 13:17:55 4261

原创 在MvvmLight中View和ViewModel的绑定

在MvvmLight中View和ViewModel的绑定 本文会介绍在MvvmLight框架下几种情况下的页面绑定方法,分别使用了{x:Bind}, {Binding};在一个View对应多个ViewModel情况下两种绑定方法,以及混合两种方式的绑定方法。准备工作ViewModel为了完成以下内容,ViewModel需要准备两个类 MainPageViewModelpublic class

2017-08-21 12:52:58 2621 1

转载 在MvvmLight下使用{x:Bind}

One of the XAML-related announcements at Build this year was the availability of compiled bindings. These new bindings can be used instead of the “classic” {Binding} syntax in XAML. Note that this synt

2017-08-21 10:54:08 348

原创 UWP下用x:Bind双向绑定ComboBox的SelectedItem

Code-Behind构造ComboBoxItem类MVVM相关双向绑定XAML引入转换器ComboBox测试代码Code-Behind构造ComboBoxItem类ComboBox一般有两个内容,一个是值Value,一个是显示的Text,所有构造一个类,具有这两个属性 public class ComboBoxItem { public string V

2017-08-17 10:00:37 2632

原创 Verilog任意整数分频器

Verilog任意整数分频器Verilog任意整数分频器偶数分频奇数分频两种情况结合一下 在实际设计中有的时候需要简单的任意整数分频器,整数分频器主要解决两种情况下的分频,一个是偶数分频,另一个是奇数分频偶数分频 偶数分频比较简单,可以使用一个计数器来实现,对输入时钟进行计数,当计数器的值为N/2-1时,将输出翻转,同时将计数器清零即可。(N为分频系数)module EvenDiv_

2017-07-24 16:13:46 3737

转载 解决TableLayoutPanel控件闪烁

当TableLayoutPanel控件中的需要更新的Label过多的时候,刷新Label的时候会出现闪烁问题,主要解决办法就是增加双缓冲,代码如下private void MainForm_Load(object sender, EventArgs e){ tableLayoutPanel1.GetType().GetProperty("DoubleBuffered", Sys

2016-12-23 12:07:07 7000 1

转载 TcpClient类异步接收数据

构造函数属性主要方法流程TcpClient读取数据过程TcpClient连接TcpClient已经连接上NetworkStream读取NetworkStream已经读取完毕取出数据TcpClient发送数据流程TcpClient线程NetworkStream异步发送线程实例TcpClient连接NetworkStream异步读取NetworkStream读取处理 Tc

2016-05-19 11:29:11 14929 3

原创 InvokeRequired和Invoke

跨线程访问控件事件类型 有些方法比较繁琐简化一下例如在另开一个Thread的时候需要通过delegate和Invoke来跨线程访问UI控件,相关代码可以简化跨线程访问控件 private delegate void ReceiveAppendStringDelegate(string message); //注册一个自定义的delegate /// <summary

2016-05-17 23:14:46 688

转载 UdpClient类使用

UdpCLient类使用构造函数方法通信流程实例UdpCLient类使用 说明: 本文摘录自MSDN UdpClient类 有删减,将常使用的方法列出构造函数 名称 说明 UdpClient() 初始化 UdpClient 类的新实例 UdpClient(Int32) 新实例初始化 UdpClient 类,并将其绑定到提供的本地端口号。 UdpClien

2016-05-17 16:24:25 2571

转载 Verilog - 二进制数转换成BCD编码

二进制和BCD编码都是什么?这里所说的二进制,就是一个变量(整数)的实际值的意思,比如一个整数10,那么我们说他的二进制的值就是10,这个没啥好说的。 主要是BCD编码,在数据的传输中,数据都是以字节(byte)为单位进行的传输,一个字节有8个位(bit),那么一个字节能够传递的数值的范围就是0~255(十六进制为0x00~0xFF)。这个时候,比如我们要传递一个值35,那么用十六进制表示就是0x

2015-12-16 12:06:12 28968 8

原创 师父

很久没有因为一个电视节目而令自己如此的心情难以平静,今天看了《了不起的挑战》的第二期内容,嘉宾们被分配到了各个平凡的工作岗位上,有在600米悬崖上的蜘蛛侠,有在地下585米的矿工,有在深秋吃糖里面的挖藕工人,有在重庆山城的棒棒。令我感到心情无法平静的并不是节目组的安排和工种的危险程度,而是在各个工种中带着嘉宾工作的师父们。 其中“矿井师父”更是让我对“师父”这个词充满了敬意。何谓师父,“师者,传道

2015-12-15 23:40:29 692

原创 iocomp winform 类型的使用笔记

值类型的转换赋值 double d=50; gauge.Value.AsDouble = d;取出值 gauge.Value.AsDouble = d; double b = gauge.Value.AsDouble;

2012-06-06 23:22:13 1191

转载 最好用的C#操作ini文件的类库

using System;using System.Text;using System.Runtime.InteropServices;using System.Globalization;using System.Collections.Generic;namesp

2011-09-08 00:31:45 1384

原创 MSChart 美化(参照微软Sample)

public void ChartEnhance(Chart chart1,string chartAreaName,string legendName,string seriesName,string titleName,string titleText) { chart1.BackColor = Color.WhiteSmoke;

2011-06-20 18:01:00 2026

安川机器人MH24多格式3D模型

安川机器人 MH24 3D模型,包含igs,stp,jt格式

2021-09-24

VS2017 Image Library.zip

VIsual Studio 2017 上的所有图标资源和图片库。方便编写软件的时候调用。

2019-06-11

Win10彻底删除已经配对的蓝牙设备工具

Win10无法彻底删除已经配对的蓝牙设备,导致一旦执行删除设备,重启系统后,此设备会出现在蓝牙列表上,但是设备无法使用。通过此软件可以将设备信息完全删除,再进行蓝牙配对即可。

2019-01-11

完全卸载VisualStudio2015--TotalUninstaller

微软官方Visual Studio2015完全卸载工具

2017-04-20

Setup Factory v9.5.0.0 注册版

经测试可以在Win10x64使用,内TXT文件中有SN

2017-04-20

QuartusII6.0-9.1全破解

QuartusII6.0-9.1全破解文件

2010-11-11

《ARM嵌入式系统基础教程》--创新的多媒体教学课件第5-8章

课件简介 传统的嵌入式系统教学课件只是简单的罗列大段书本文字,这种“可以投影的电子书”在描述CPU体系结构及各控制寄存器的特性及难点时显得呆板而乏味,给教师授课和学生自学都带来了很大的障碍。 针对传统课件存在的这些问题,我们耗时半年之久,倾力制作了这部具有突破意义的多媒体课件。该课件运用大量动画对嵌入式系统的重点和读者反馈的难点作了详尽的剖析,采用剥笋的方式逐步深入。并认真听取一线教师的意见,对课件内容作了合理的设置,在紧扣教材主线的前提下进行了适当的补充。 因为课件对每个重要细节都作了细致的讲述,所以整个课件多达1200页。用于教学时,授课老师可以根据课时安排,自行删节课件内容,做到“丰俭随意”。 建议使用Microsoft Office2003软件播放该课件,如果使用低版本的播放器将导致课件的动画效果大量丢失,阻碍理解。

2008-12-17

《ARM嵌入式系统基础教程》--创新的多媒体教学课件第1-4章

课件简介 传统的嵌入式系统教学课件只是简单的罗列大段书本文字,这种“可以投影的电子书”在描述CPU体系结构及各控制寄存器的特性及难点时显得呆板而乏味,给教师授课和学生自学都带来了很大的障碍。 针对传统课件存在的这些问题,我们耗时半年之久,倾力制作了这部具有突破意义的多媒体课件。该课件运用大量动画对嵌入式系统的重点和读者反馈的难点作了详尽的剖析,采用剥笋的方式逐步深入。并认真听取一线教师的意见,对课件内容作了合理的设置,在紧扣教材主线的前提下进行了适当的补充。 因为课件对每个重要细节都作了细致的讲述,所以整个课件多达1200页。用于教学时,授课老师可以根据课时安排,自行删节课件内容,做到“丰俭随意”。 建议使用Microsoft Office2003软件播放该课件,如果使用低版本的播放器将导致课件的动画效果大量丢失,阻碍理解。

2008-12-13

单片机课件第九章第二部分

单片机课件第九章第一部分(资源太大,只好分开上传了)

2008-10-24

单片机课件第9章第一部分

单片机课件第九章第一部分(资源太大,只好分开上传了)

2008-10-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除