自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一个早起的程序员

coding the future!

  • 博客(308)
  • 资源 (34)
  • 收藏
  • 关注

原创 Xilinx AXI CAN

目录1.AXI CAN框图2.MicroBlaze扩展CAN接口3.IP获取方式1.AXI CAN框图2.MicroBlaze扩展CAN接口通过AXI接口,可以通过FPGA扩展出多个CAN节点,相当灵活。3.IP获取方式关注【一个早起的程序员】。...

2021-03-02 22:59:22 211

原创 MicroBlaze和FPGA交互方式

1.本文部分素材来源网络,版权归原作者所有,如涉及作品版权问题,请与我联系删除;2.未经原作者允许不得转载本文内容,否则将视为侵权;3.转载或者引用本文内容请注明来源及原作者;4.对于不遵守此声明或者其他违法使用本文内容者,本人依法保留追究权等。下面是我的个人微信公众号,关注【一个早起的程序员】精彩系列文章每天不断。...

2021-03-02 22:47:41 106

原创 Sublime Text 3.0最强快捷键

目录1.实用2.选择类3.编辑类4.搜索类5.显示类6.通用(General)1.实用1.shift+ F9:添加一个文档头标注2.ctrl+shift+d:复制当前行到下一行3.ctrl+shift+k:删除当前行4.Ctrl + Shift +↑/↓---移动当前行5.Ctrl+L---快速选中整行,继续操作则继续选择下一行,效果和 Shift + ↓ 效果一样6.Ctrl+Shift+L---先选中多行,再按下快捷键,会在每行行尾插入光标,即可同时编辑这些行

2021-03-02 22:44:45 34

原创 Vivado设置

1.本文部分素材来源网络,版权归原作者所有,如涉及作品版权问题,请与我联系删除;2.未经原作者允许不得转载本文内容,否则将视为侵权;3.转载或者引用本文内容请注明来源及原作者;4.对于不遵守此声明或者其他违法使用本文内容者,本人依法保留追究权等。下面是我的个人微信公众号,关注【一个早起的程序员】精彩系列文章每天不断。...

2021-03-02 22:37:53 127

原创 15.PIO源码详解5-PIO_RX_ENGINE模块(PIO_RX_ENGINE.v)剖析

目录1.上节回顾2.PIO_RX_ENGINE模块接口3.PIO_RX_ENGINE模块代码剖析3.1 AXI 64位和AXI 128位3.2PIO_RX_ENGINE流程3.3PIO_RX_ENGINE 32位存储器读请求1.上节回顾上节课我们学习了PIO_EP模块,如下,PIO_EP模块包含了接收引擎(PIO_RX_ENGINE)、存储器模块(PIO_EP_MEM_ACCESS)、发送引擎(PIO_TX_ENGINE),这节我们首先学习接收引擎(PIO_RX_ENGI..

2021-02-26 18:26:50 162 3

原创 14.PIO源码详解4-PIO_EP模块(PIO_EP.v)剖析

目录1.PIO_EP模块架构2.PIO_EP模块核心要点2.1TLP包字段信息2.2接收引擎请求发送引擎发送TLP2.3总线号、设备号、厂商号用法3.PIO_EP模块源代码剖析4.下节内容1.PIO_EP模块架构直接硬核,PIO_EP模块架构图如下,看不清记得点图放大,别眯眼睛。PIO_EP模块内部子模块如下。本来要和上面图画在一起,怕太复杂,大家看晕,所以独立出来,为了更加清晰。其实大家可以看出来PIO_EP模块主要完成了PCIe PIO读和写功能,内部有接收引

2021-02-25 23:04:36 71

转载 FPGA上电时序加载过程详解

目前,大多数FPGA芯片是基于 SRAM 的结构的, 而 SRAM 单元中的数据掉电就会丢失,因此系统上电后,必须要由配置电路将正确的配置数据加载到 SRAM 中,此后 FPGA 才能够正常的运行。常见的配置芯片有EPCS 芯片 (EPCS4、EPCS8、EPCS16、EPCS64、EPCS128),还有通用的串行 SPI FLASH 芯片如 M25P40、 M25P16、 W25Q16 等。配置(configuration)是对FPGA的内容进行编程的过程。每次上电后都需要进行配置是基于SRAM工

2021-02-24 23:43:30 368

原创 13.PIO源码详解3-PIO模块(PIO.v)剖析

1.PIO.v模块架构PIO架构图如下:首先PIO的代码如下,module PIO #( parameter C_DATA_WIDTH = 64, // RX/TX interface data width // Do not override parameters below this line parameter KEEP_WIDTH = C_DATA_WIDTH / 8, // TSTRB width paramete

2021-02-24 22:23:23 115

原创 12.PIO源码详解2-app模块(pcie_app_7x.v)剖析

之所以成为app,就是指应用的意思,这个模块主要实现用户逻辑的,这节课我们讲解app模块(pcie_app_7x.v)的架构和代码。前面说过app主要是提供了配置PCIe Core的一些信息,其实配置信号包括如下,我们知道就行,用的时候不必关心。电源管理配置 错误处理配置 pl层配置 中断配置 其他配置下面为app模块的源代码及注释。除了提供配置信息外,app模块包含了PIO子模块。module pcie_app_7x#( parameter C_DATA_WIDTH = 64

2021-02-23 21:37:24 80

原创 11.PIO源码详解1-顶层模块(xilinx_pcie_2_1_ep_7x.v)剖析

春节已经过完,继续开始忙碌。上一节我们创建一个FPGA PCIe PIO源代码工程,并且讲解了工程文件结构及每个文件的大体功能,这节我们从顶层文件开始学习PIO源代码。1.PIO源代码模块架构首先先给大家贴一个模块包含关系树,大家也可以打开PIO/imports/hierarchy.txt进行查看详细内容,这里我把pcie_7x_0下的子模块删除了,因为pcie_7x_0下的模块是PCIe IP Core相关的模块,我们不需要关心。 xilinx_pcie_2_1_ep_7x | |.

2021-02-23 21:08:26 97 1

原创 新年快乐

在新春到来之际,写句代码祝福大家,愿大家在新的一年里技术越来越好,工资越来越高。/******************************* author : 一个早起的程序员******************************/void main(){ printf(“Happy New Year!”);}...

2021-02-11 19:57:39 85

原创 10.手把手Vivado创建PIO源码工程

目录1.前言2.PCIe IP工程创建2.1 打开Vivado2.2 Next2.3 指定工程名和工程路径2.4 指定工程类型2.5 选择器件型号2.6 工程概括2.7 Vivado操作界面2.8 添加PCI Express IP2.9 PCI Express IP Core配置-Basic2.10 PCI Express IP Core配置-IDs2.11 PCI Express IP Core配置-Bars2.12 PCI Express IP C

2021-02-11 13:47:04 136

转载 Zynq 器件搭建多核系统

Zynq系列器件提供双核Cortex-A9 ARM硬核,同时PL还支持MB软核,现在就掰一掰这三核共存怎么用。1 多核框架 多核框架如图1所示,PL内使用MicroBlaze软核,PS内为ARM双硬核,通用外设控制器、DDR挂在PS上,PL和PS共享DDR。PS程序在DDR里运行应用程序,Microblaze在内部BRAM中运行。 图1 多核框架图 2 启动过程 在...

2021-02-08 22:29:33 69

转载 Xilinx Zynq UltraScale+ MPSoC应用专栏系列连载[第一篇]写在前面

一、写在前面 FPGA 是可编程芯片,因此 FPGA 的设计方法包括硬件设计和软件设计两部分。硬件包括 FPGA 芯片电路、存储器、输入输出接口电路以及其他设备;软件即是相应的 HDL 程序以及最新非常流行的基于高层次综合的程序方法,如Xilinx的一系列工具HLS、SDSoC和Altera的SoC EDS等。(1)选择FPGA(SoC)的若干理由a) FPGA具有现场可编程能力,即使产品已经投入市场,也可根据特殊应用重新配置硬件;b)FPGA具有强大的并行处理能力;c) F...

2021-02-08 22:28:34 48

原创 STM32/CPU总线的由来和地址映射概念

目录1.总线的由来2.STM32/CPU地址映射3.STM32的外设地址映射表很多人对总线和地址映射的概念都是一头雾水,但是我们如果知道为何需要总线和地址映射,他们是在什么背景下被衍化出来的,自然而然对此概念就清清楚楚了。1.总线的由来我们知道CPU都是通过总线访问外设,例如STM32的AHB/APB总线,那么在总线的概念没有被提出来的时候,外设是怎样被访问的呢?其实在最早期的时候,还没有总线,CPU设计者会直接把CPU内核和各种接口控制器设计到一起,如果要访问一个硬件,直接在内

2021-02-07 22:12:09 142

原创 9.PIO源码功能详解

PIO例子,是我们的PC为主机(PCIe Host),FPGA为从机(PCIe Device),实现的功能就是PC通过PCIe接口读写PFGA的寄存器或者RAM。PIO例子主要实现了以下类型的请求,后面我们分析源代码的时候一一分析,我们上位机使用windriver库函数进行操作,windriver驱动编写会在后面讲解完PIO代码后讲解。32位地址的存储器读请求 32位地址的存储器写请求 64位地址的存储器读请求 64位地址的存储器写请求 IO读请求 IO写请求 注意:PIO例子里

2021-02-06 23:55:07 117

原创 8.PCIe实战后期课程大纲

1.前期回顾前面我们讲解了预备知识点、PIO,XAPP1052,XDMA三者的联系和区别、PCIe TLP详解、AXI 4.0协议。2.后期课程大纲2.1 PIO源码分析(5部分)2.2 XAPP1052源码分析(6部分)2.3 XDMA源码分析(6部分)3.博文更新进度由于前段时间个人原因博文迟迟没有更新,在这里给大家说句抱歉。后期内容我会在最短的时间进行发布,代码已经测试和整理完毕,如下所示,明天我们开始对PIO功能讲解和代码工程创建。1.

2021-02-05 23:57:06 105

原创 STM32F1 USB外设详解第1讲(USB外设主要特性)

目录1.STM32F1 USB外设在USB系统的位置2.STM32F1 USB外设功能描述3.STM32F1 USB外设主要特征1.STM32F1 USB外设在USB系统的位置STM32F1 USB外设实现了USB2.0全速总线和APB1总线间的接口。看不懂的话看下图。2.STM32F1 USB外设功能描述USB外设为PC主机和微控制器所实现的功能之间提供了符合USB规范的通信连接。PC主机和微控制器之间的数据传输是通过共享一专用的数据缓冲区来完成的,该数据缓冲区能被USB外

2021-02-05 22:43:21 166

原创 STM32 USB复位、挂起、唤醒机制详解

目录1.STM32 USB复位机制2.STM32 USB挂起机制3.STM32 USB唤醒机制1.STM32 USB复位机制主机可以对USB设备进行复位,主要是主机在和设备通讯之前会发送Reset信号把设备设置到默认的未配置状态,即主机拉低两根信号线(SE0状态)并保持10ms。当STM32 USB设备检测到主机的复位信号之后,如果复位中断使能,则会进入复位中断处理函数。STM32 USB设备也可以对自身进行复位,置位控制寄存器的FRES对USB模块强制复位,此时USB模块将一直保持

2021-02-04 15:55:44 264

原创 USB总线电平标准、USB总线状态、USB总线信号详解

目录1.USB总线电平标准2.USB总线状态3.USB总线信号3.1 SOP信号3.2 EOP信号3.3Reset信号3.4Suspend信号3.5Resume信号3.6 SYNC信号3.7 连接信号3.7.1低速设备连接检测时序图3.7.2全速/高速设备连接检测时序图3.8 断开信号1.USB总线电平标准USB总线电平标准如下,下图标识了低速/全速、高速总线输出特性的电平标准。2.USB总线状态下图显示了USB低速和全速总线信号...

2021-02-04 15:44:49 418

原创 STM32 USB设备远程唤醒机制详解

目录1.远程唤醒的概念2.远程唤醒的方式3.J状态和K状态4.STM32 USB设备远程唤醒机制详解5.STM32 USB唤醒已经休眠的系统6.主机对设备远程唤醒功能状态的获取、清除和设置1.远程唤醒的概念当系统进入休眠模式的时候,USB主机也就会被挂起,也就不会再给所有设备发送SOF令牌了,从而所有设备也将会进入挂起状态,此时USB设备可以通过远程唤醒机制请求系统退出休眠,唤醒USB主机控制器。比如电脑待机时通过USB键盘来换醒主机,这种功能称之为“远程唤醒”(remo

2021-02-03 15:58:55 356 1

原创 STM32F1 USB外设详解第0讲(系列博文介绍)

目录1.课程目标2.简单介绍3.读者须知1.课程目标STM32 USB外设详解系列博文目的是让大家深入理解STM32 USB外设原理,主要对USB外设功能框图和所有寄存器深度剖析。只有知其然知其所以然,大家才能在项目中游刃有余的使用USB方案解决各种各样的实际问题。2.简单介绍USB协议作为USB的标准,而实现这套协议需要USB硬件电路和相应软件的支持,STM32作为现在主流的控制器,芯片内部嵌入USB硬件外设,借助于ST公司提供的USB库函数可以实现多种多样的应用,例如鼠标、键

2021-02-02 20:52:49 70

原创 USB协议详解第30讲(USB枚举过程详解及抓包分析)

目录1.设备上电2.检测电压变化,报告主机3.主机了解连接设备4.检测所插入的设备是高速还是低速5.主机通过hub复位设备6.主机进一步检测全速设备是否是支持高速模式7.通过Hub建立主机和设备之间的信息通道8.主机获取默认控制管道的最大数据包长度9.主机请求hub再次复位设备10.主机给设备分配一个地址11.主机获取并解析设备描述符信息12.获取字符串描述符13.主机获取标准配置描述符14.主机获取配置描述符集合15.主机为设备挂载驱动并选择一.

2021-02-01 23:17:47 341 1

原创 USB协议详解第29讲(USB设备状态及数据交互条件)

目录1.连接状态(Attached)2.上电状态(Powered)3.默认状态(Default)4.地址状态(Address)5.配置状态( Configured )6.挂起状态(Suspended)7.USB设备状态迁移8.USB设备状态详解及数据交互条件1.连接状态(Attached)USB设备可以从USB总线上连接或断开。当USB设备与USB总线断开时,它的状态USB规范没有定义,我们可以这么想,设备都拔了就断电了,也就不存在什么样的状态了。规范仅在设备被连接后

2021-01-31 23:15:52 202

原创 USB协议详解第28讲(USB硬件设计和热拔插原理)

1.USB引脚接线定义USB接口的物理上的对应的引脚和对应含义等,对于四线制的USB,即USB1.0、USB1.1、USB2.0。引脚 名称 电缆颜色 描述 1 VBUS Red +5 V,电源 2 D− White Data −,数据线 3 D+ Green Data +,数据线 4 GND Black Ground,接地 2.低速USB设备硬件设计原理低速设备端在D-上集成1.5K上

2021-01-30 23:42:21 213

原创 USB协议详解第27讲(USB包-中断传输包详解)

目录1.中断传输包结构2.中断传输DATA数据包实现同步操作3.中断传输包详解3.1中断读传输抓包3.2中断写传输抓包4.中断传输小知识1.中断传输包结构中断传输和批量传输类似,中断只由一个中断事务组成,中断事务包含令牌包、数据包、握手包,如图下所示。中断事务类型的特点是能够通过错误检测和重试来保证主机和设备之间数据的无错误传递。 需要理解和注意以下点。(1)当主机准备接收数据时,它发出IN令牌,设备端点通过返回数据包或(如果无法返回数据)NAK或STALL握手来响应。

2021-01-28 22:37:02 284 1

原创 USB协议详解第26讲(USB包-批量传输包详解)

1.批量传输包结构批量传输由一个或多个批量事务组成,每一个批量事务具有令牌包、数据包、握手包,如图下所示。批量事务类型的特点是能够通过错误检测和重试来保证主机和函数之间数据的无错误传递。 需要理解和注意以下点。(1)当主机准备接收批量数据时,它发出IN令牌,函数端点通过返回数据包或(如果无法返回数据)NAK或STALL握手来响应。 NAK表示函数暂时无法返回数据,而STALL表示端点永久停止。 如果主机收到 一个有效的数据包,它用ACK握手来响应。 如果主机在接收数据时检测到错误,则不会向函数返回握

2021-01-27 22:30:27 267 1

原创 STM32 USB中断 CTR_LP 和 CTR_HP的用法

目录1.STM32两个USB中断入口2.CTR_LP()3.CTR_HP()4.CTR_LP 和 CTR_HP 各自处理的事务类型1.STM32两个USB中断入口STM32中断入口有两个,分别是USB_HP_CAN1_TX_IRQHandler()和USB_LP_CAN1_RX0_IRQHandler()。其中USB_Istr()函数调用了CTR_LP()函数。/*******************************************************.

2021-01-27 15:11:27 84

原创 傅里叶级数的数学推导及应用价值

傅里叶级数在数论、组合数学、信号处理、概率论、统计学、密码学、声学、光学等领域都有着广泛的应用,这不由得让人肃然起敬。一打开《信号与系统》、《锁相环原理》等书籍,动不动就跳出一个“傅里叶级数”或“傅里叶变换”,弄一长串公式,让人云山雾罩。如下就是傅里叶级数的公式:公式会看的人怀疑人生,我们先看下图理解下:时域图像:就是我们说的f(t)信号频率图像:级数展开后每一项对应着频率图像中的1条曲线(1个信号)其实下图就说明了一个周期函数f(t)可以通过一系列正弦函数来表示。不知那个傅

2021-01-27 11:29:48 172

原创 MicroBlaze的优缺点

1.本文部分素材来源网络,版权归原作者所有,如涉及作品版权问题,请与我联系删除。2.未经原作者允许不得转载本文内容,否则将视为侵权;3.转载或者引用本文内容请注明来源及原作者;4.对于不遵守此声明或者其他违法使用本文内容者,本人依法保留追究权等。下面是我的个人微信公众号,关注【一个早起的程序员】精彩系列文章每天不断。...

2021-01-26 23:17:01 102

原创 USB协议详解第25讲(USB包-同步传输包详解)

目录1.同步传输包结构2.同步传输DATAx数据包核心要点3.同步传输包详解3.1同步读包结构3.1.1全速设备传输小于等于1023字节包结构3.1.2全速设备传输大于1023字节包结构3.1.3 IN令牌包波形3.1.4 数据包波形3.2同步写包结构1.同步传输包结构同步传输由一个或多个同步事务组成,每一个同步事务具有令牌包和数据数据包,没有握手包,如图下所示。 主机发出IN或OUT令牌包,如果是IN令牌,设备会发送数据包给主机,如果是OUT令牌,主机会发送数据

2021-01-26 22:51:04 297

原创 USB协议详解第24讲(USB包-控制传输包详解)

目录1.控制传输包结构2.设置阶段包详解2.1 SETUP令牌包2.2 DATA0 数据包2.2.1bmRequestType(向谁请求)2.2.2bmRequest(什么请求)2.2.4wIndex2.2.5wLength域2.3ACK数据包3.可选的数据阶段包详解3.1 如果第一阶段指定数据传输方向为设备到主机(长度大于0)3.2 如果第一阶段数据传输方向为主机到设备(长度大于0)3.3 如果第一阶段数据传输方向为主机到设备(长度为0)4...

2021-01-25 23:16:47 326

原创 STM32F103 USB实现UVC设备(相机)

目录1.STM32实现UVC设备2.演示界面3.代码获取1.STM32实现UVC类设备(1)STM32F103视频传输;(2)免驱动;(3)STM32F103 USB;(4)模拟摄像头数据;(5)开源代码,拿到即用。2.演示界面3.代码获取关注【一个早起的程序员】微信公众号。1.本文部分素材来源网络,版权归原作者所有,如涉及作品版权问题,请与我联系删除。2.未经原作者允许不得转载本文内容,否则将视为侵权;3.转载或者引用本文内容请注明来源及

2021-01-25 08:43:26 404 4

原创 MicroBlaze概述

1.本文部分素材来源网络,版权归原作者所有,如涉及作品版权问题,请与我联系删除。2.未经原作者允许不得转载本文内容,否则将视为侵权;3.转载或者引用本文内容请注明来源及原作者;4.对于不遵守此声明或者其他违法使用本文内容者,本人依法保留追究权等。下面是我的个人微信公众号,关注【一个早起的程序员】精彩系列文章每天不断。...

2021-01-24 23:34:15 102

原创 USB协议详解第23讲(USB包-握手包及其工作方式)

目录1.握手包的分类2.握手包的组成3.握手包的功能4.批量数据传输握手包的工作方式举例1.IN事务2.OUT事务3.PING事务(只在高速传输中有)5.其他传输握手包事务图1.中断传输2.控制传输3.同步传输(无握手包)1.握手包的分类握手包有ACK握手包、NAK握手包、STALL握手包、NYET握手包、ERR握手包。2.握手包的组成握手包数据内容仅由PID域组成,PID域标志当前握手包的具体类型是ACK、NAK、STALL、NYET、ERR五种

2021-01-24 23:30:54 249

原创 15个预处理命令和23个软件中常用的宏定义整理

1.C语言常用的预处理命令C语言中,预处理过程读入源代码,检查包含预处理指令的语句和宏定义,并对源代码进行相应的转换,预处理过程还会删除程序中的注释和多余的空白符号。预处理指令是以#开头的代码行,#必须是该行除了空白字符外的第一个字符。#后是指令关键字,在#和指令关键字之间允许存在若干空白字符。#define 定义一个预处理宏 #undef 取消宏的定义 #include 包含文件命令 #include_next 与#include相似, 但它有着...

2021-01-24 01:12:31 54

原创 USB协议详解第22讲(USB包-数据包及重传机制)

1.数据类包的分类数据类包有DATA0数据包、DATA1数据包、DATA2数据包、DATAM数据包。2.数据类包的组成我们今天看数据类包的详细结构,数据包的内容由PID域+数据域+16bit CRC域,下图为数据包各个域和抓包协议的对应图。3.数据包的功能定义了两中数据包DATA0和DATA1以支持数据切换同步和重传功能(重要), 其他类型的数据包此处不做详解。数据必须始终以整数个字节发送, CRC仅在数据包中的数据域上计算,并且不包括PID,PID具有其自己的CRC检查字段。低

2021-01-23 23:52:54 304 1

原创 USB协议详解第21讲(USB包-令牌类包)

1.令牌类包的分类令牌类包SETUP令牌包、IN令牌包、OUT令牌包。2.令牌类包的组成我们今天看令牌类包的详细结构,令牌包的内容由PID域+地址域+5bit CRC域,下图为令牌类包包各个域和抓包协议的对应图。2.SETUP令牌包只用在控制传输中,通知设备将要输出一个数据包(只是一个通知作用),也就是通知哪一个设备的哪一个端点接下来要发送一包数据了。SETUP令牌包后只使用DATA0数据包,且只能发送到设备的控制端点。当设备的端点在收到SETUP令牌包后,接下来会等待接收主机发

2021-01-22 22:38:39 298

原创 USB协议详解第20讲(USB包-帧首包SOF)

目录1.包的四种类型2.SOF包组成3.SOF包发送时间及USB总线包结构1.SOF包的发送时间2.USB总线包组成4.SOF包其它核心概念5.STM32 SOF包处理机制1.包的四种类型根据包的组成把包分为四种类型,分别是、帧首包SOF(Start of Frame)、命令包(Token)、数据包(Data)、握手包(Handshake),如下图(大家一定要把PID类型和包类型分开)。4种PID类型和4种包类型的区别如下。2.SOF包组成我们今天看S

2021-01-21 23:23:39 556 1

原创 MFC USB调试助手

自己写了一个MFC版本的USB调试助手。目录1.界面2.功能3.代码获取1.界面2.功能(1)遍历所有USB自定义设备;(2)打印USB设备描述符、配置描述符、接口描述符、端点描述符等信息;(3)给指定设备发送数据(传输类型、字节数可指定);(4)从指定设备读取数据(传输类型、字节数可指定)。3.代码获取下面是部分代码,关注【一个早起的程序员】可获取软件源代码。1.本文部分素材来源网络,版权归原作者所有,如涉及作品版权问题,请与我联系删除。2.

2021-01-21 10:51:45 204 1

具有921600波特率的串口调试助手

具有921600波特率的串口调试助手

2016-09-03

opencv1.0 avi播放视频插件

opencv1.0 avi播放视频插件,OpenCV1.0需要此插件才可以在windows上运行,拿到文件直接点击安装即可。

2017-10-20

利用WinDriver实现链式DMA

利用WinDriver实现链式DMA,里面还有对描述符表的详细讲解

2017-08-18

GDI+库以及使用方法

Visual C++6.0使用GDI+的一般方法 1. 载解压GDI+开发包; 2. 正确设置include & lib 目录; 3. stdafx.h 添加: #ifndef ULONG_PTR #define ULONG_PTR unsigned long* #endif #include <gdiplus.h> 4. 程序中添加GDI+的包含文件gdiplus.h以及附加的类库gdiplus.lib。 通常gdiplus.h包含文件添加在应用程序的stdafx.h文件中,而gdiplus.lib可用两种进行添加: 第一种是直接在stdafx.h文件中添加下列语句: #pragma comment( lib, "gdiplus.lib" ) 另一种方法是: 在VC.net中添加库文件在:项目菜单->属性->链接器->输入 举个例子: (1)在应用程序项目的应用类中,添加一个成员变量,如下列代码: ULONG_PTR m_gdiplusToken; 其中,ULONG_PTR是一个DWORD数据类型,该成员变量用来保存GDI+被初始化后在应用程序中的GDI+标识,以便能在应用程序退出后,引用该标识来调用Gdiplus:: GdiplusShutdown来关闭GDI+。 (2)在应用类中添加ExitInstance的重载,并添加下列代码用来关闭GDI+: int CGDITestApp::ExitInstance() { Gdiplus::GdiplusShutdown(m_gdiplusToken); return CWinApp::ExitInstance(); } (3)在应用类的InitInstance函数中添加GDI+的初始化代码: 注意:下面这些GDI+的初始化代码必须放在m_pMainWnd->UpdateWindow();之前。 CWinApp::InitInstance(); Gdiplus::GdiplusStartupInput gdiplusStartupInput; Gdiplus::GdiplusStartup(&m_gdiplusToken, &gdiplusStartupInput, NULL); (4)在需要绘图的窗口或视图类中添加GDI+的绘制代码。 下面分别就单文档和基于对话框应用程序为例,说明使用GDI+的一般过程和方法。 1. 在单文档应用程序中使用GDI+ 在上面的过程中,我们就是以一个单文档应用程序Ex_GDIPlus作为示例的。下面列出第4步所涉及的代码: void CGDITestView::OnDraw(CDC* pDC) { CGDITestDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here usingnamespace Gdiplus; Graphics graphics(pDC->m_hDC); Pen newPen(Color(255,0,0),3); HatchBrush newBrush(HatchStyleCross,Color(255,0,255,0),Color(255,0,0,255));//创建一个填充画刷,前景色为绿色,背景色为蓝色 graphics.DrawRectangle(&newPen,50,50,100,60);// 在(50,50)处绘制一个长为100,高为60的矩形 graphics.FillRectangle(&newBrush,50,50,100,60); // 在(50,50)处填充一个长为100,高为60的矩形区域 } 编译并运行,结果如图:

2016-08-29

qwt已编译,亲测,包括例子和库文件

官网下载的QWT6.1.2(最新版本),已经编译!包括examples

2018-08-23

水晶按钮制作软件

水晶按钮制作软件 按钮图标制作神器 可以制作工程的各种各样的按钮图标软件

2017-11-11

MFC VC++属性页和属性表源码

MFC VC++属性页和属性表源码

2016-09-23

老罗Android开发视频教程(第一季全部)

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板

2017-11-13

xilinx DDS博客源代码

DDS(Direct Digital Frequency Synthesizer)直接数字频率合成器本文主要介绍如何调用Xilinx的DDS IP核生成某一频率的Sin和Cos信号。

2020-12-02

MFC制作闪烁灯、绘制彩色文字源代码

此代码可以实现在VC界面上绘制一个彩色的灯,当时也可以绘制多个,可以使用按键来控制闪烁。并且实现了在界面上绘制彩色文字的功能。程序运行环境是VS2010,但是如果稍加移植,在各个编译环境下都可以运行。

2016-05-30

基于MFC的ActiveX控件开发(VC2005).pdf

基于MFC的ActiveX控件开发: 在VC 下ActiveX 控件的开发可以分为三种,一种是直接用COM 的API 来开发, 这样做显然非常的麻烦,对程序员要求也非常高,因此一般是不予考虑的;一种是基于传统 的MFC,采用面向对象的方式将COM 的基本功能封装在若干MFC 的C++类中,开发者通 过继承这些类得到COM 支持功能。MFC 为广大VC 程序员所熟悉,易于上手学习,但缺点 是MFC 封装的东西比较多,因此用MFC 开发出来的控件相对会比较大,因此比较适于开 发桌面ActivexX 控件,尤其是有GUI 界面的控件。第三种就是基于ATL 的,ATL 可以说 是专门面向COM 开发的一套框架,使用了C++的模板技术,在运行时不需要依赖于类似 MFC 程序所需要的庞大的代码模块,更适合于Web 应用开发。 本文介绍的是采用第二种方式,即应用MFC 进行桌面可视控件开发的方法步骤,开发

2016-08-19

MFC VC++6.0 可编辑的ListCtrl.zip

MFC VC++6.0 可编辑的ListCtrl.zip

2016-09-19

在指定位置画可拉伸的图片(用CMemDC封装).

本资源实现了在一个对话框指定区域画图,图片可根据指定区域的大小拉伸自身的大小。并且实现了在对话框指定的订房画各种彩色的形状。例如圆、正方形等等。

2016-05-31

STM32/STM8 STLink驱动

STM32/STM8 STLink驱动

2016-09-19

VC6.0显示PNG图片

Visual C++6.0使用GDI+的一般方法 1. 载解压GDI+开发包; 2. 正确设置include & lib 目录; 3. stdafx.h 添加: #ifndef ULONG_PTR #define ULONG_PTR unsigned long* #endif #include <gdiplus.h> 4. 程序中添加GDI+的包含文件gdiplus.h以及附加的类库gdiplus.lib。 通常gdiplus.h包含文件添加在应用程序的stdafx.h文件中,而gdiplus.lib可用两种进行添加: 第一种是直接在stdafx.h文件中添加下列语句: #pragma comment( lib, "gdiplus.lib" ) 另一种方法是: 在VC.net中添加库文件在:项目菜单->属性->链接器->输入 举个例子: (1)在应用程序项目的应用类中,添加一个成员变量,如下列代码: ULONG_PTR m_gdiplusToken; 其中,ULONG_PTR是一个DWORD数据类型,该成员变量用来保存GDI+被初始化后在应用程序中的GDI+标识,以便能在应用程序退出后,引用该标识来调用Gdiplus:: GdiplusShutdown来关闭GDI+。 (2)在应用类中添加ExitInstance的重载,并添加下列代码用来关闭GDI+: int CGDITestApp::ExitInstance() { Gdiplus::GdiplusShutdown(m_gdiplusToken); return CWinApp::ExitInstance(); } (3)在应用类的InitInstance函数中添加GDI+的初始化代码: 注意:下面这些GDI+的初始化代码必须放在m_pMainWnd->UpdateWindow();之前。 CWinApp::InitInstance(); Gdiplus::GdiplusStartupInput gdiplusStartupInput; Gdiplus::GdiplusStartup(&m_gdiplusToken, &gdiplusStartupInput, NULL); (4)在需要绘图的窗口或视图类中添加GDI+的绘制代码。 下面分别就单文档和基于对话框应用程序为例,说明使用GDI+的一般过程和方法。 1. 在单文档应用程序中使用GDI+ 在上面的过程中,我们就是以一个单文档应用程序Ex_GDIPlus作为示例的。下面列出第4步所涉及的代码: void CGDITestView::OnDraw(CDC* pDC) { CGDITestDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here usingnamespace Gdiplus; Graphics graphics(pDC->m_hDC); Pen newPen(Color(255,0,0),3); HatchBrush newBrush(HatchStyleCross,Color(255,0,255,0),Color(255,0,0,255));//创建一个填充画刷,前景色为绿色,背景色为蓝色 graphics.DrawRectangle(&newPen,50,50,100,60);// 在(50,50)处绘制一个长为100,高为60的矩形 graphics.FillRectangle(&newBrush,50,50,100,60); // 在(50,50)处填充一个长为100,高为60的矩形区域 } 编译并运行,结果如图:

2016-08-29

vcvarsqueryregistry.bat

本文章向大家介绍Qt Creator无法打开包括文件: “corecrt.h”: No such file or directory”,主要包括Qt Creator无法打开包括文件: “corecrt.h”: No such file or directory”使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

2020-04-10

USB识别 HID识别 MFC代码

USB识别 HID识别 MFC代码

2016-08-12

VS2010番茄插件+完整安装方法 VA_X 简单安装完直接可以使用

VS2010番茄插件+详细的安装方法,亲测可用,这个插件相信大多数程序员都知道其强大功能,在此就不详细说明了

2017-07-24

多进程编程实现浏览器 MuiltiProcess

Windows 应用程序中消息有两种送出途径;直接和排队。Windows或某些运行的应用程序可直接发布消息给窗口过程,或者,消息可送到消息列象连续不断轮询消息队列的OS中当前执行的每个进程都 事件驱动程序不是由事件的顺序来控制,而是由事件的发生来控,而事件的发生是随机的、不确定的,这就允许程序的用户用各种合理的顺序来安排程序的流程。

2016-09-01

TeeChart8.0破解版OC

TeeChart8.0破解版OCX 安装方法-> 开始菜单->运行->输入以下 regsrv32 路径\TeeChart8.ocx 后->在VC++6.0菜单->Projece ->Add To Project ->Components add Controls ->完成,正常使用

2017-09-08

MCUISP STM32串口下载工具

MCUISP是一款针对st公司的stm32f系列单片机和NXP的LPC2xxx系列的isp程序。该ISP下载器具有一系列优点,可与eaglecom串口调试软件配套,进行isp盲调。

2016-09-03

学习OpenCV(中文版).pdf

《学习OpenCV》是2009年清华大学出版社出版的图书,作者是(美国)布拉德斯基。 该书由OpenCV发起人所写,站在一线开发人员的角度用通俗易懂的语言解释了OpenCV的缘起和计算机视觉基础结构,演示了如何用OpenCV和现有的自由代码为各种各样的机器进行编程,这些都有助于读者迅速入门并渐入佳境,兴趣盎然地深入探索计算机视觉领域。 计算机视觉是在图像处理的基础上发展起来的新兴学科。OpenCV是一个开源的计算机视觉库,是英特尔公司资助的两大图像处理利器之一。它为图像处理、模式识别、三维重建、物体跟踪、机器学习和线性代数提供了各种各样的算法。 透过本书,您将置身于迅速发展的计算机视觉领域。本书由自由开源OpenCV的发起人所著,介绍了计算机视觉,并通过实例演示了如何快速生成这样的应用——能使计算机“看到”并根据由此获取的数据做出决策。 计算机视觉无处不在,安全系统、制造检验系统、医学图像分析、无人机等都可以见到它的踪影。它与Google Map和Google Earth紧密结合,它检查LCD屏幕上的像素,它确保衬衫上的每个针脚都能完全缝合。OpenCV提供了一个简易好用的计算机视觉框架和一个丰富的库,后者包含500多个可实时运行视觉代码的函数。 透过各章提供的练习,任何一个开发人员或爱好者都可以迅速掌握如何使用这个框架。本书特色主题如下: 透彻介绍OpenCV 从摄像机获取输入 图像的变换 图像的分割和形状的匹配 模式识别,包括人脸检测 二维和三维场景中的跟踪监测 根据立体视觉进行三维重构 机器学习算法 “让机器来看”是一个富有挑战但也很有意思的目标。不管是想构建简单的视觉应用,还是复杂的视觉应用,都离不开这本入门必备参考,拿起它,开始愉快的学习之旅吧! 本书可作为信息处理、计算机、机器人、人工智能、遥感图像处理、认知神经科学等有关专业的高年级学生或研究生的教学用书,也可供相关领域的研究工作者参考。

2016-08-29

VC++ MFC 串口通信20个经典源码合集

VC++ MFC 串口通信20个经典源码合集 串口通信 MFC VC++ COM ATL

2016-09-25

PNG转ICO 图标格式互转工具 2.1.0.0 绿色版

PNG转ICO 图标格式互转工具 2.1.0.0 绿色版

2016-09-23

VC++透明按钮 VC++绘图 MFC透明按钮

VC++透明按钮 VC++绘图 MFC透明按钮

2016-09-25

qtcreatorcdbext.rar

the selected debugger may be inappropriate for the inferior的解决方案

2020-04-16

STM32 ST-LINK Utility3.9

STM32 ST-LINK Utility3.9 ST-link utility for STM32 flash operation.

2016-09-23

VGA时序标准.zip

本文件包含了所有的VGA标准, 640x350、640x400、720x400、640x480、800x600、848x480、1024x768、1152x864、1280x720、1280x768、 1366x768、1400x1050、1600x1200、1680x1050以及网上分辨的标准,并且不同帧的标准都有,如果找不到你想要的,你杀了我。

2020-02-18

STM32 F4 开发板 官方例程(经典)

ST(意法半导体)推出了以基于ARM&reg; Cortex™-M4为内核的STM32F4系列高性能微控制器,其采用了90 纳米的NVM 工艺和ART(自适应实时存储器加速器,Adaptive Real-Time MemoryAccelerator™)。 ART技术使得程序零等待执行,提升了程序执行的效率,将Cortext-M4的性能发挥到了极致, 使得STM32 F4系列可达到210DMIPS@168MHz。 自适应实时加速器能够完全释放Cortex-M4 内核的性能;当CPU 工作于所有允许的频率(≤168MHz)时,在闪存中运行的程序,可以达到相当于零等待周期的性能。 STM32F4系列微控制器集成了单周期DSP指令和FPU(floating point unit,浮点单元),提升 了计算能力,可以进行一些复杂的计算和控制。 STM32 F4系列引脚和软件兼容于当前的STM32 F2系列产品。

2016-09-02

《数学之美》

《数学之美》是人民邮电出版社于2012年5月出版的图书,作者吴军,2014年再版。书中将高深的数学原理讲得更加通俗易懂,让非专业读者也能领略数学的魅力。通过具体实例教会读者在解决问题时如何化繁为简,如何用数学去解决工程问题,如何跳出固有思维不断去思考创新等。 几年前,“数学之美”系列文章原刊载于谷歌黑板报,获得上百万次点击,得到读者高度评价。读者说,读了“数学之美”,才发现大学时学的数学知识,比如马尔可夫链、矩阵计算,甚至余弦函数原来都如此亲切,并且栩栩如生,才发现自然语言和信息处理这么有趣。 今年,作者吴军博士几乎把所有文章都重写了一遍,为的是把高深的数学原理讲得更加通俗易懂,让非专业读者也能领略数学的魅力。读者通过具体的例子学到的是思考问题的方式 —— 如何化繁为简,如何用数学去解决工程问题,如何跳出固有思维不断去思考创新。

2016-08-19

C8051F全系列代码例程

目前C8051F系列单片机最全最完整的程序例程,包含了各个型号单片机的驱动程序,代码稍加修改就可以使用,是参考学习的好东东

2016-10-17

opencv参考手册 opencv帮助文档集

opencv参考手册 opencv帮助文档集 OpenCV入门教程 OpenCV官方文档

2016-06-03

IRPTRACE(软件+注册机)

IRPTrace是驱动开发是必须的调试工具之一。可监控发往Windows的I/O请求包。里面包含软件和注册机,希望大家喜欢。

2017-07-26

CPPTooltip VC++源代码及库文件

详细说明:强大的vc++提示类,功能非常的强大,美观,在我的多个项目中都有使用。-Vc++ tooltips powerful, functionality is very powerful, beautiful, I have used a number of projects. 文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉): cpptooltip_demo.zip cpptooltip_src.zip Introduction.doc

2016-09-11

空空如也

空空如也

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

TA关注的人 TA的粉丝

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