自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(203)
  • 资源 (92)
  • 论坛 (1)
  • 收藏
  • 关注

原创 STM32F103的RTC模块用作32位计数器

需求背景在使用FreeRTOS时,如果需要统计每个任务的运行时长及百分比,则需要提供一个计时基准。分别实现以下2个函数:void vConfigureTimerForRunTimeStats( void ); /* Prototype of function that initialises the run time counter. */unsigned long ulGetRunTimeCounterValue( void ); /* Prototype of function th...

2020-10-23 09:48:40 25

原创 Cortex-M内核中的DWT计数器

DWT跟踪组件Cortex-M3 权威指南:16.2 TRACE COMPONENTS: DWTThe rest of the DWT counters are typically used for profiling the application codes. They can beprogrammed to emit events (in the form of trace packets) when the counter overflows. One typicalapplicat

2020-10-12 16:03:40 57

原创 STM32中,单个字节按位取反后,不再是一个字节!

示例代码问题现象原因分析解决对策

2020-09-25 10:41:26 72

原创 STM32定时器的定时周期

定时器原理框图计时周期计时周期由以下几个因素决定:1,时钟频率。一般为72MHz。2,预分频系数PSC计数器的时钟频率CK_CNT等于f CK_PSC /(PSC[15:0]+1)。如果想要72分频,则PSC寄存器的值应该为71.3,自动重装载寄存器。这里也要注意:在设置ARR寄存器时,也需要减去一。如果想要定时1000个周期,则寄存器的值应该设置为999.看手册中的例子:当ARR为0x36时,计数器序列为00~36,共37个值。...

2020-09-18 11:46:10 52

原创 《程序员的自我修养》读书笔记3——使用KEIL研究ELF文件的重定位

空间和地址分配仍然采用上一节的代码。看生成的代码段。3个中间目标文件的代码段:fromelf -v a.o========================================================================** Section #1 Name : i.main Type : SHT_PROGBITS (0x00000001) Flags : SHF_ALLOC + SHF_EXEC

2020-09-14 11:40:51 49

原创 《程序员的自我修养》读书笔记2——使用KEIL研究ELF文件的符号表

代码参考第4章,使用如下代码:建立工程:编译结果:目标文件分析先看b.o文件:fromelf -v b.o打印结果:========================================================================** ELF Header Information File Name: b.o Machine class: ELFCLASS32 (32-bit) Da...

2020-09-12 11:06:18 47

原创 《程序员的自我修养》读书笔记——使用KEIL研究ELF文件

工具KEIL-MDKV5安装目录下(C:\Keil_v5\ARM\ARMCC\bin)有以下工具:主要用到的是fromelf.exe把该路径加入到PATH环境变量中:fromelf用法命令格式:fromelf [options] input_file fromelf -h即可打印出帮助信息。Product: MDK Plus 5.29Component: ARM Compiler 5.06 update 6 (build 750)To...

2020-09-11 17:09:16 64

原创 《MDK的编译过程》读书笔记

程序编译和链接的过程ELF文件格式:分散加载描述文件参考资料:欢迎阅读《MDK的编译过程及文件类型全解》文档-by 秉火https://flash-rtd.readthedocs.io/zh_CN/latest/...

2020-09-11 11:31:05 17

原创 虚拟机的网络连接方式

以下大部分内容为笔记,资料来源于网络。网络连接的类型类型 桥接 NAT host-only 虚拟机与宿主机 彼此互通,处于同一网段 虚拟机能访问宿主机;宿主机不能访问虚拟机 虚拟机不能访问宿主机;宿主机能访问虚拟机 虚拟机与虚拟机 彼此互通,处于同一网段 彼此不通 彼此互通,处于同一网段 虚拟机与其他主机 彼此互通,处于同一网段 虚拟机能访问其他主机;其他主机不能访问虚拟机 彼此不通;需要设置 虚..

2020-09-10 18:50:42 32

原创 STM32的选项字节(option byte)

以STM32F103为例。选项字节的地址参见stm32f10x.h头文件中的定义:#define OB_BASE ((uint32_t)0x1FFFF800) /*!< Flash Option Bytes base address */选项字节的定义共有16个字节,定义如下:typedef struct{ __IO uint16_t RDP; __IO uint16_t USER; __IO uint16_t ..

2020-09-03 11:23:25 783

原创 在线计算CAN波特率参数

网址http://www.bittiming.can-wiki.info/功能说明选择不同的厂家,可以显示其CAN外设中关于波特率参数的寄存器定义。输入外设频率和CAN通信波特率,可以计算出寄存器参数:列出的可能值:...

2020-09-02 14:18:00 38

原创 KEIL-MDK仿真STM32系列CPU的调试参数设置

默认配置默认配置参数,只能显示SVD文件(System Viewer File)中定义的寄存器信息:进入调试模式后,Peripheral菜单中,可以显示外设寄存器的值:高级配置可以根据CPU的具体型号,配置特定的动态库。STM32系列的为DARMSTM.dll(TARMSTM.dll)然后,进入调试模式后,可以有更直观的对话框来显示外设寄存器,例如:CPU型号及对应的配置参数Peripheral Simulation for STMicroelectro.

2020-09-02 14:00:23 141

原创 KEIL调试出现Access violation : No ‘write‘ permission错误的解决办法

问题现象在使用模拟器调试时,出现以下错误提示,导致不能连续运行:*** Error 65: Access violation at 0x40000004 : No 'write' permission解决措施将以下内容保存为debug_Cortex-M_use_simulator.ini脚本文件,并根据CPU的外设地址更改map指令后面的参数。配置选择为初始化文件:/* Usage: Project ==> Options for Target ==> Debu.

2020-09-02 13:33:41 170

原创 KEIL-MDK在内存中调试程序的启动脚本

将以下内容保存为debug_Cortex-M_in_RAM.ini文件。/* 使用说明 1,使用默认的链接控制文件; 2,工程选项的Debug标签页中,初始化文件(Initialization File)选择:debug_Cortex-M_in_RAM.ini 3,配置代码在内存中的起始地址。 4,【重要】Utilities标签页中,取消选择:Update Target before Debugging 5,不要点击“Flash=>Downlo.

2020-09-02 11:42:01 42

原创 Ubuntu新旧版本下载地址

官网https://ubuntu.com/中文网站:https://cn.ubuntu.com/最新版本下载点击“下载”,即可进入:https://cn.ubuntu.com/download历史版本下载在下面这个页面中,https://ubuntu.com/download#download搜索“Old",可以找到历史版本:比如,16.04版本主页为:https://releases.ubuntu.com/16.04.7/IS..

2020-08-31 09:18:21 42

原创 Modbus协议

MODBUS协议的核心内容功能码 功能码 名称 描述 0x01 读线圈 READ COIL STATUS 对可读写型的状态量进行读取 0x02 读离散输入 READ INPUT STATUS 对只读型的状态量进行读取 0x03 读保持寄存器 ...

2020-08-24 14:00:44 31

原创 uboot官方http下载地址

uboot官方下载地址,无需密码https://ftp.denx.de/pub/u-boot/

2020-08-22 10:10:43 40

原创 用SWO代替printf打印时的注意事项

用SWO代替串口实现printf打印功能,是个很高效的调试手段。但在实际应用中遇到一个问题。用法参考以下文章:SWO打印输出配置https://blog.csdn.net/ybhuangfugui/article/details/94378265使用SWO代替UART,实现Printf打印功能https://www.cnblogs.com/wanban/p/11789160.html问题现象使用仿真器调试时,在运行过程中死机。原因分析...

2020-08-19 15:50:40 28

原创 KEIL-MDK配置STM32的调试参数

新建工程时,默认的配置参数为:在进入调试模式后,System Viewer下面只能显示STM32F103xx.svd中定义的通用的Cortex-M3的外设。默认的svd文件在这里:更改参数如下:其中:Dialog DLL改为TARMSTM.dll,参数改为-pSTM32F103ZE。这个参数要根据CPU的实际型号更改。更改后,在调试模式下,外设中可以看到多了很多:打开后,可以直观地看到外设的状态,不再是像SystemViewer中的那样,只有一堆...

2020-08-13 18:27:58 114

原创 STM32F10x的基本定时器

定时器TIM6和TIM7原理框图功能描述基本的功能:计数。计数时钟源:内部时钟(从RCC来的时钟)分频系数:TIMx_PSC寄存器(16位)(prescaler预分频寄存器)计数器CK_CNT的频率为CK_PSC / (PSC + 1)计数方式向上计数计数上限TIMx_ARR寄存器(16位)(auto-reload register自动重装载寄存器)计数到达上限后可以自动重载(TIMx_CR1.ARPE)可以产生事件或者..

2020-08-13 09:54:32 53

原创 YMODEM协议笔记

基本字符字符 ASCII码16进制 含义说明 SOH 0x01 STX 0x02 ACK 0x06 接收正确应答 NAK 0x15 重传 EOT 0x04 文件传输结束 CAN 0x18 Cancel,取消传输 C 0x43 帧格式帧头包序号数据包序号只有1字节,因此计算范围是0~255;对于数据包大于255的,序号归零重复计算。...

2020-08-07 15:35:56 41

原创 IEEE 2030.5智能逆变器实施指南(4)

4 General CSIP RequirementsCSIP的一般要求This section provides general requirements3 related to implementing all grid support DER utility interactions. The related IEEE 2030.5 specific requirements can be found in Section 5.本节提供与实现所有网格支持DER实用程序交互有关的一般要求。 有.

2020-07-16 10:45:22 107

翻译 IEEE 2030.5 概述

IEEE 2030.5 OverviewPrior to the development of IEEE 2030.5, the ZigBee Smart Energy 1.0 (SEP 1.0) specification was ratified as a finalspecification by the ZigBee Alliance in December 2007. Since that time, it has been updated and expanded with several.

2020-07-16 10:40:01 232

原创 IEEE 2030.5智能逆变器实施指南(3)

3 Communications Architecture Overview通讯架构概述3.1 Scope of Communications通讯范围CSIP addresses the communications path between the utility and the Aggregator, the utility and aGenerating Facility Management System (GFEMS), and the utility and the Smart Inv.

2020-07-15 15:40:02 76

原创 IEEE 2030.5智能逆变器实施指南(1+2)

Common Smart InverterProfile通用智能逆变器规范IEEE 2030.5 Implementation Guide for Smart InvertersIEEE 2030.5智能逆变器实施指南1Introduction介绍This guide serves to assist manufacturers, Distributed Energy Resources (DER) operators, system integrators and DER a...

2020-07-15 15:27:01 108

原创 visio中对形状的操作

操作前的准备示例版本:Visio 2016专业版打开菜单:文件=》选项=》高级=》常规:以开发人员模式运行勾选后,即可看到“开发工具”菜单下“形状设计”标签中的“操作”:对应的英文菜单:形状操作示例讲解新建一个“基本框图”的文档。默认打开了“基本形状”的模具。拖两个矩形到画布中,并使其相交。同时选中这两个形状,再点击“操作”菜单中的命令。联合Union两个形状的“联合”,相当于逻辑“或”操作。操作后的新形状,等于两个形状的“并集”...

2020-07-03 14:34:43 118

原创 重新审视Visio的本质

Visio-信息可视化一.概念Visio ——信息可视化软件。详细说来,Visio是一款就复杂信息、系统和流程进行可视化处理、分析和交流的软件。Visio是一款商用矢量绘图软件,是非设计人士用来画专业图形的工具。更方便的控制各种矢量图形,以数据的方式定义图形的属性。二.Visio能干什么逻辑化表达、可视化展示、复杂系统解构。画出各种商业图形。常规的有流程图、地图和平面布置图、电气图、日程安排图、网络图等等。其实,通过定制化的形状,理论上是可以画出任何图形的,而且...

2020-07-02 17:26:00 74

原创 ASCII码表及其扩展

ASCII码表可以看成由三部分组成:第一部分:由00H到1FH共32个,一般用来通讯或作为控制之用。有些可以显示在屏幕上,有些则不能显示,但能看到其效果(如换行、退格).如下表:补充说明:ASCII码中的控制字符 十进制 十六进制 控制字符 转义字符 英文 注释 0 00 NUL \0 Null character 空字符 1 01 SOH Start of Heading 标...

2020-06-18 17:58:34 86

原创 如何在C代码中获取编译后的bin文件的大小

开发环境:KEIL-MDK(RealView)需求说明要在C代码程序中获取编译器最终生成的bin文件大小。思路通过读取编译器中生成的链接符号变量来计算。解决方案比如,测试程序中生成的Code大小为1906个字节,RO-data的大小为486个字节。两者相加1906+486=2392.项目配置:分散加载脚本:; *************************************************************...

2020-06-04 19:42:33 431

原创 在KEIL-MDK中使用 $ Super $ $ 和 $ Sub $ $ 打补丁

问题描述某个工程中使用了一个库,库中包含很多个函数,其中有一个函数是void foo(void);现在,在新的工程中,需要对foo函数的逻辑功能进行修改。由于foo函数是在库里面,直接修改foo函数的代码是不现实的。重新定义一个函数foo2并实现它,也是行不通的。因为库里面很多地方都调用了foo(),不可能让这些地方重新调用foo2()。怎么办?打补丁!解决措施使用以下代码,可以替换 foo() 函数:extern void ExtraFunc(void..

2020-06-04 16:00:41 138

原创 在KEIL中生成bin文件的方法

生成hex文件KEIL中默认生成的是axf文件。如果想要生成hex文件,则只需要简单地勾一下:生成bin文件要生成bin文件,则需要用到fromelf。Keil自带了一个小工具,可以通过执行指令来将AXF文件转换为BIN文件这就需要调用一个外部程序fromelf.exe来将AXF文件转换为BIN格式文件。fromelf.exe文件的位置在安装目录Keil_v5\ARM\ARMCC\bin或者Keil_v5\ARM\ARMCLANG\bin目录下。在Options...

2020-06-04 14:52:57 160

原创 STM32CubeMX全部版本下载地址

STM32CubeMX的所有版本(含最新版本和以前的旧版本)的下载地址:https://www.st.com/resource/en/library2/stm32cube_mx_vXXXX.zip其中的XXXX为软件版本号。比如V4.27.0版本的下载地址为:https://www.st.com/resource/en/library2/stm32cube_mx_v4270.zipV5.1.0版本为:https://www.st.com/resource/en/libr..

2020-05-23 15:38:18 456

原创 C++中L和_T()之区别

字符串前面加L表示该字符串是Unicode字符串。例如:strlen("asd") = 3; strlen(L"asd") = 6; _T是一个宏,如果项目使用了Unicode字符集(定义了UNICODE宏),则自动在字符串前面加上L,否则字符串不变。TEXT,_TEXT 和_T 一样的。如果你定义了UNICODE,那么_T宏会把字符串前面加一个L。这时 _T("A...

2020-05-12 15:41:57 1307

原创 STM32F4xx时钟配置的三种方法

时钟树一图胜千言。照例先上一张时钟树的图。来自:RM0090,STM32F40xxx、STM32F41xxx、STM32F42xxx、STM32F43xxx参考手册配置时钟流程使能外部高速时钟(HSE) 等待HSE时钟信号稳定 配置锁相环PLL 等待PLL就绪 选择PLL作为主时钟源(配置SW) 等待系统时钟切换完成(检查SWS) 配置外设总线的分频系数...

2020-04-29 10:26:09 565

原创 同时安装KEIL-MDK uVision4和uVision5并分别打开uvproj和uvprojx文件的方法

问题现象旧项目使用KEIL4,新项目需要使用KEIL5.安装完成KEIL5后,旧项目的工程文件(uvproj)默认打开方式也变成了KEIL5.在属性中配置“打开方式”,并强制选择“C:\Keil\UV4\UV4.exe”,结果无效,连图标都没有变,还是会选择KEIL5打开。原因分析奇葩的ARM公司在升级KEILMDK到uVision5的时候,生成的bin文件的文件夹名称...

2020-04-24 10:36:04 932

翻译 您需要了解的有关Tesla Powerwall 2的一切(2020版)

原文标题:Everything You Need To Know About The Tesla Powerwall 2 (2020 Edition)原文网址:https://cleantechnica.com/2020/02/09/everything-you-need-to-know-about-the-powerwall-2-2019-edition/原文作者:Kyle Field...

2020-04-15 18:07:38 1360 4

原创 WORD中的多级列表详解

基础篇:WORD中的项目符号实例详解WORD中的自动编号实例详解有了上面的基础,再来理解WORD中的多级列表就容易多了。多级列表菜单开始-段落:多级列表下拉菜单,其中的主要内容跟“项目符号”和“编号”类似。重点是“定义新的多级列表”定义新的多级列表打开“定义新多级列表”对话框:其中的“位置”参数,跟“调整列表缩进”中的相同。当前显示的是左上...

2020-03-23 16:53:59 541

原创 WORD中的自动编号实例详解(多图)

跟“项目符号”一样,自动编号功能也是针对“列表”内容的。并且自动编号中更改列表级别、设置字体等方法与项目符号的相同,参见:WORD中的项目符号实例详解与“项目符号”不同的是,“自动编号”的前导内容是按照一定的规律变化的。最简单的规律就是“1、2、3、4。。。”的顺序递增,也可以按照“甲乙丙丁”的顺序变化。问题来了:甲乙丙丁戊己庚辛壬癸,只有10个,后面的是什么呢?带着这个问题,先输入一段文字内...

2020-03-23 11:10:27 444

原创 WORD中的项目符号实例详解(多图)

目标如何在WORD中实现这种效果?分析使用“项目符号”详细说明项目符号库打开一个空的文档,点击“开始”标签页中的“项目符号”,是下面这个样子的。其中列出了一些文档模板中定义过的项目符号。实现简单的项目符号的效果,可以直接选用其中的项目符号。简单效果输入文字并选中,然后点击“项目符号”按钮,则使用默认的项目符号。更改项目符号更...

2020-03-20 16:58:12 277

原创 推荐:小众软件——各类软件的精品

https://love.appinn.com/小众软件名气不等于优秀,优秀不等于适合这里可以让你相对轻松的从几款知名或者优秀的软件中,寻找到最适合自己的。...

2020-03-17 15:47:50 193

深入浅出Cortex M3之LPC178x 177x 上册

深入浅出Cortex M3之LPC178x 177x 上册 ZLG出品

2014-12-22

深入浅出Cortex M3之LPC178x 177x 下册

深入浅出Cortex M3之LPC178x 177x 下册 ZLG出品

2014-12-22

【官方中文手册】LPC177x_178x_User Manual(含书签)

在官方技术手册的基础上增加书签。 UM10470 LPC178x/7x 用户手册 修订版 1.5 — 2011 年 7 月 6 日

2014-12-16

LPC177x_8x(LPC17xx) cmsis driver library

LPC177x_8x CMSIS - Compliant Standard Peripheral Firmware Driver Library Rev 1.17 - 12 June 2012 This is the list of examples that supported in LPC177x_8xCMSIS package Peripheral Example Description ADC Adc_Burst Shows how to use ADC conversion in burst mode with single or multiple input Adc_Dma Shows how to use ADC conversion and transfer converted data by using DMA Adc_Interrupt Shows how to use ADC conversion in interrupt mode. Adc_Polling Shows how to use ADC conversion in polling mode. BOD BOD_Demo Shows how to use BOD. CAN Can_Aflut Shows how to use CAN driver functions for setup and change AFLUT table dynamically Can_Bypass Shows how to test CAN operation by using bypass mode Can_Selftest Shows how to test CAN self-test mode Cortex-M3 Bit_Banding Shows how to use Bit-banding feature of Cortex-M3 processor. MPU Shows how to use MPU to protect memory region. Privilege_Mode Shows how to change privilege to unprivileged mode and vice versa. CRC Crc_Demo Shows how to use CRC engine on LPC177x_8x. The results are calculated by some different polynomials Crc_Dma Shows how to use CRC engine with DMA support DAC Dac_Dma Shows how to use DMA to transfer data to DAC peripheral Dma_SineWave Shows how to use DAC to generate a sinewave signal or positive-half sinewave signal DMA Dma_Flash2Ram Show how to transfer data from Flash to Ram memory by using DMA engine EEPROM Eeprom_Demo how to work with EEPROM memory on LPC177x_8x EMAC Emac_EasyWeb Shows how to implement an simple web application Emac_Raw Shows how to test EMAC driver with raw packet frame format that is not related with any upper-layer (i.e. TCP/IP...). Emac_uIP Shows how to handle a single network interface and contains the IP, ICMP, UDP and TCP protocols. EMC Emc_NandFlashDemo Shows how to work with NandFlash (if available) by using EMC component of LPC177x_8x Emc_NorFlashDemo Shows how to work with NorFlash (if available) by using EMC component of LPC177x_8x Emc_SdramDemo Shows how to work with SDRAM (if available) by using EMC component of LPC177x_8x GPIO Gpio_Interrupt Shows how to use interrupt function of GPIO pins. Gpio_LedBlinky Set ON/OFF for the GPIO pins to drive LEDs IAP IAP_Demo Shows how to access/update on-chip flash memory from application code I2C I2c_Pca9532Drv Shows how to use I2C to drive with PCA9532 and indicate via LEDs that connected to PCA chip I2C_Master Shows how to use I2C block as a master to send/receive data to/from a slave. I2C_Slave Shows how to use I2C block as a slave to send/receive data to/from a master. I2C_EEPROM Shows how to drive EEPROM through I2C. I2S I2s_4Wire Shows how to configure I2S peripheral to run in 4 wire mode I2s_Audio Shows how to use I2S to transfer audio data through I2S pins to play a short music sound and output to head phone line. I2s_Dma Shows how to use I2S with DMA engine I2s_Interrupt Shows how to use I2S to transfer data in interrupt mode I2s_Mclk Shows how to use I2S master clock as I2S clock source LCD Lcd_Demo Shows how to interact with GFT035A320240Y LCD and QVGA TFT LCD(if it’s available) MCI Mci_CidCard Shows how to use Multimedia Card Interface (MCI) on LPC177x_8x IC. Basically it’s to read CID of the card that input to the card slot. MCI_ReadWrite Shows how to use MCI on LPC177x_8x to read/write data on a SD/MMC card. MCI_FS Shows how to integrate FatFS and EFSL open source to use FAT FileSystem on LPC177x_8x. MCPWM MCPWMSimple Shows how to test Motor Control PWM module in LPC17xx NVIC Nvic_Priorities Shows how to configure NVIC priority grouping for testing the interrupts in tail-chaining and Late-arriving mode Nvic_VectorTableRelocation Shows how to relocation vector table in another site in RAM PWM Pwm_DualEdge Shows how to generate PWM signal on 3 Channels in both edge mode and single mode. Pwm_MatchInterrupt Shows how to use PWM Match function in interrupt mode Pwm_SingleEdge Shows how to use PWM signal on 6 Channels in single edge mode PWR Pwr_DeepPowerDown Shows how to enter system in Deep PowerDown mode and wake-up by using RTC (Real-time clock) interrupt Pwr_DeepSleep Shows how to enter system in DeepSleep mode and wake up it by using WDT Interrupt Pwr_PowerDown Shows how to enter system in PowerDown mode and wake-up it by using NMI (Non-Maskable Interrupt) Pwr_Sleep Shows how to enter system in sleep mode and wake-up by using external interrupt QEI Qei_Velo Shows how to use Quadrature Encoder Interface module to calculate velocity and detect direction changing RTC Rtc_Alarm Shows the configurations to generate interrupt in Second Counter Increment Interrupt (1s) and generate Alarm interrupt at 10s Rtc_Calibration Shows how to do real-time clock calibration. Rtc_Ev Shows how to do event monitor/recorder. SSP Ssp_Dma Shows how to configure SSP peripheral with DMA support. SSP_Master Shows how to use SSP block as a master to send/receive data to/from a slave. SSP_Slave Shows how to use SSP block as a slave to send/receive data to/from a master. SSP_Microwire Shows how to use SSP peripheral with MicroWire frame format. SSP_TI Shows how to use SSP peripheral with TI frame format. SYSTICK Systick_10msBase Shows how to configure System Tick timer to generate interrupt each 10ms Systck_Stclk Shows how to configure System Tick timer use external clock source STCLK TIMER Timer_Capture Shows how to use Capture Timer function. Timer_FreqMeasure Shows how to use Timer to measure the frequency of the signal input Timer_MatchInterrupt Shows how to configure the Timer to generate Match interrupt. UART Uart_Autobaud This is a simple UART example using auto baudrate mode Uart_Dma Shows how to use UART in DMA mode Uart_FullModem This is a simple UART example using UART1 will Full modem mode Uart_HWFlowControl Shows how to use UART in hardware flow control mode. Uart_Interrupt Shows how to use UART in interrupt mode Uart_IrDAReceive Shows how to configure UART for receiving data via IrDA protocol Uart_IrDATransmit Shows how to configure UART for transmitting data via IrDA protocol Uart_Polling Shows how to use UART in polling mode Uart_Rs485Master Shows how to configure UART for RS485 functionality in Master mode. Uart_Rs485Slave Shows how to configure UART for RS485 functionality in Slave mode. USBDEV USBMassStorage Shows how to implement a simple USB Mass Storage application on LPC177x_8x. USB_Audio Shows how to implement USB speaker on LPCD177x_8x. USB_HID Shows how to implement HID device on LPCD177x_8x. Usb_VirtualCom Shows how to configure USB Device of as a virtual COM port. USBHostLite UsbHost_MassStorage Shows how to configure USB Host Controller on LPC177x_8x. WDT Wdt_Interrupt Shows how to use WDT to generate interrupt after a specific time. Wdt_Reset Shows how to use WDT to generate chip reset after a specific time. Wdt_WindowMode Test the operation of Window Mode of Window Watchdog Timer on LPC177x_8x

2014-12-10

MC9S08DZ60评估板例程_程序_开发板手册

包括MC9S08DZ60开发板说明书,以及详细的例程: 2013-01-11 上午 11:20 <DIR> ACMP 2013-01-11 上午 11:20 <DIR> ADC 2013-01-11 上午 11:20 <DIR> Buzzer 2013-01-11 上午 11:20 <DIR> CAN 2013-01-11 上午 11:20 <DIR> can总线 流程图 2013-01-14 下午 01:34 <DIR> eeprom 2013-01-11 上午 11:20 <DIR> Flash 2013-01-11 上午 11:20 <DIR> IIC_24C02 2013-01-11 上午 11:20 <DIR> IIC_8563 2013-01-11 上午 11:20 <DIR> Irq 2013-01-11 上午 11:20 <DIR> KBI 2013-01-12 上午 09:03 <DIR> Key 2013-01-11 上午 11:20 <DIR> Key_LED 2013-01-11 上午 11:20 <DIR> LCD12232 2013-01-11 上午 11:20 <DIR> LCD1602 2013-01-11 上午 11:20 <DIR> LED 2013-01-11 上午 11:20 <DIR> LVD 2013-01-11 上午 11:20 <DIR> MCG_PLL 2013-01-11 上午 11:20 <DIR> NRF24L01_IO 2013-01-11 上午 11:20 <DIR> NRF24L01_SPI 2013-01-11 上午 11:20 <DIR> rst 2013-01-12 下午 05:14 <DIR> rtc 2013-01-12 下午 05:04 <DIR> SCI 2013-01-11 上午 11:20 <DIR> SPI 2013-01-11 上午 11:20 <DIR> stop2 2013-01-11 上午 11:20 <DIR> stop3 2013-01-11 上午 11:20 <DIR> tpmpwm边沿输出 2013-01-11 上午 11:20 <DIR> tpm自由溢出 2013-01-11 上午 11:21 <DIR> wait

2014-06-06

NXP LPC17xx例程 code.bundle.lpc17xx.keil

NXP LPC17xx例程 code.bundle.lpc17xx.keil 包含所有外设。 包括USB Host Lite、USB device

2014-05-27

基于AT91RM9200 OHCI的USB主机

基于AT91RM9200 OHCI 的USB 主机 原创:rainman 来自 http://lancelot.blog.51cto.com 参考:http://lancelot.blog.51cto.com/393579/328233 这个PDF文件是把网站上的内容整理出来,便于阅读。

2014-05-21

USB基础知识概论(usb_basic)USB入门

本文主要介绍了USB协议的基础知识,包括USB协议的来龙去脉,OHCI/UHCI/EHCI/xHCI之间的区别和联 系,USB的firmware,以及USB 2.0协议的概览,USB的枚举的详细过程,OHCI的一些特点。

2014-05-12

ARM开发工具RealView_MDK使用入门(KEIL用户手册)

ARM开发工具RealView_MDK使用入门, 扫描版PDF文件,电子书。

2013-09-24

C语言深度解剖——解开程序员面试笔试的秘密[PDF]

C语言深度解剖.PDF(131页) 对C语言的边边角角讲解得很详细。 ============================= 目 录 第一章 关键字................................................................................................................................... 9 1.1,最宽恒大量的关键字----auto..........................................................................................11 1.2,最快的关键字---- register............................................................................................... 11 1.2.1,皇帝身边的小太监----寄存器............................................................................. 11 1.2.2,使用 register 修饰符的注意点.............................................................................11 1.3,最名不符实的关键字----static........................................................................................ 12 1.3.1,修饰变量............................................................................................................... 12 1.3.2,修饰函数............................................................................................................... 13 1.4,基本数据类型----short、int、long、char、float、double........................................... 13 1.4.1,数据类型与“模子”............................................................................................... 14 1.4.2,变量的命名规则...................................................................................................14 1.5,最冤枉的关键字----sizeof............................................................................................... 18 1.5.1,常年被人误认为函数...........................................................................................18 1.5.2,sizeof(int)*p 表示什么意思?........................................................................18 1.4,signed、unsigned 关键字................................................................................................ 19 1.6,if、else 组合.................................................................................................................... 20 1.6.1,bool 变量与“零值”进行比较............................................................................... 20 1.6.2, float 变量与“零值”进行比较.................................................................................21 1.6.3,指针变量与“零值”进行比较............................................................................... 21 1.6.4,else 到底与哪个 if 配对呢?............................................................................... 22 1.6.5,if 语句后面的分号............................................................................................... 23 1.6.6,使用 if 语句的其他注意事项.............................................................................. 24 1.7,switch、case 组合........................................................................................................... 24 1.7.1,不要拿青龙偃月刀去削苹果.............................................................................. 24 1.7.2,case 关键字后面的值有什么要求吗?.............................................................. 25 1.7.3,case 语句的排列顺序...........................................................................................25 1.7.4,使用 case 语句的其他注意事项..........................................................................27 1.8,do、while、for 关键字................................................................................................... 28 1.8.1,break 与 continue 的区别..................................................................................... 28 1.8.2,循环语句的注意点...............................................................................................29 1.9,goto 关键字......................................................................................................................30 1.10,void 关键字....................................................................................................................31 1.10.1,void a?............................................................................................................ 31 1.10,return 关键字................................................................................................................. 34 1.11,const 关键字也许该被替换为 readolny....................................................................... 34 1.11.2,节省空间,避免不必要的内存分配,同时提高效率.................................... 35 1.12,最易变的关键字----volatile.......................................................................................... 36 1.13,最会带帽子的关键字----extern.................................................................................... 37 1.14,struct 关键字.................................................................................................................. 38 1.14.1,空结构体多大?.................................................................................................38 1.14.2,柔性数组............................................................................................................. 39 1.14.3,struct 与 class 的区别......................................................................................... 40 1.15,union 关键字..................................................................................................................40 1.15.1,大小端模式对 union 类型数据的影响............................................................. 40 1.15.2,如何用程序确认当前系统的存储模式?........................................................ 41 1.16,enum 关键字.................................................................................................................. 42 1.16.1, 枚举类型的使用方法..........................................................................................43 1.16.2,枚举与#define 宏的区别....................................................................................43 1.17,伟大的缝纫师----typedef 关键字................................................................................. 44 1.17.1,关于马甲的笑话.................................................................................................44 1.17.2,历史的误会----也许应该是 typerename........................................................... 44 1.17.3,typedef 与#define 的区别...................................................................................45 1.17.4,#define a int[10]与 typedef int a[10];.............................................................. 46 第二章 符号..................................................................................................................................... 49 2.1,注释符号.......................................................................................................................... 50 2.1.1,几个似非而是的注释问题...................................................................................50 2.1.2,y = x/*p................................................................................................................. 51 2.1.3,怎样才能写出出色的注释...................................................................................51 2.1.3.1,安息吧,路德维希.凡.贝多芬................................................................. 51 2.1.3.2,windows 大师们用注释讨论天气问题.................................................... 51 2.1.3.3,出色注释的基本要求............................................................................... 52 2.2,接续符和转义符.............................................................................................................. 53 2.3,单引号、双引号.............................................................................................................. 54 2.4,逻辑运算符...................................................................................................................... 54 2.5,位运算符.......................................................................................................................... 55 2.5.1,左移和右移...........................................................................................................55 2.5.2,0x01<<2+3 的值为多少?................................................................................... 55 2.6,花括号.............................................................................................................................. 56 2.7,++、--操作符...................................................................................................................56 2.7.1,++i+++i+++i......................................................................................................... 57 2.7.2,贪心法................................................................................................................... 57 2.8,2/(-2)的值是多少?.........................................................................................................58 2.9,运算符的优先级.............................................................................................................. 58 2.9.1, 运算符的优先级表................................................................................................58 2.9.2,一些容易出错的优先级问题.............................................................................. 60 第三章 预处理................................................................................................................................. 61 3.1,宏定义.............................................................................................................................. 62 3.1.1,数值宏常量...........................................................................................................62 3.1.2,字符串宏常量.......................................................................................................62 3.1.3,用 define 宏定义注释符号?.............................................................................. 63 3.1.4,用 define 宏定义表达式.......................................................................................63 3.1.5,宏定义中的空格...................................................................................................64 3.1.6,#undef....................................................................................................................64 3.2,条件编译.......................................................................................................................... 65 3.3,文件包含.......................................................................................................................... 66 3.4,#error 预处理................................................................................................................... 66 3.5,#line 预处理..................................................................................................................... 67 3.6,#pragma 预处理............................................................................................................... 67 3.6.8,#pragma pack........................................................................................................ 69 3.6.8.1,为什么会有内存对齐?........................................................................... 70 3.6.8.2,如何避免内存对齐的影响....................................................................... 70 3.7, #运算符.............................................................................................................................. 72 3.8,##预算符.......................................................................................................................... 72 第四章 指针和数组......................................................................................................................... 74 4.1,指针.................................................................................................................................. 74 4.1.1,指针的内存布局...................................................................................................74 4.1.2,“*”与防盗门的钥匙............................................................................................. 75 4.1.3,int *p = NULL 和*p = NULL 有什么区别?.................................................... 75 4.1.4,如何将数值存储到指定的内存地址.................................................................. 76 4.1.5,编译器的 bug?....................................................................................................77 4.1.6,如何达到手中无剑、胸中也无剑的地步.......................................................... 78 4.2,数组.................................................................................................................................. 78 4.2.1,数组的内存布局...................................................................................................78 4.2.3,数组名 a 作为左值和右值的区别.......................................................................79 4.3,指针与数组之间的恩恩怨怨..........................................................................................80 4.3.1,以指针的形式访问和以下标的形式访问.......................................................... 80 4.3.1.1,以指针的形式访问和以下标的形式访问指针....................................... 81 4.3.1.2,以指针的形式访问和以下标的形式访问数组....................................... 81 4.3.2,a 和&a 的区别...................................................................................................... 81 4.3.3,指针和数组的定义与声明...................................................................................83 4.3.3.1,定义为数组,声明为指针....................................................................... 83 4.3.3.2,定义为指针,声明为数组....................................................................... 85 4.3.4,指针和数组的对比...............................................................................................85 4.4,指针数组和数组指针......................................................................................................86 4.4.1,指针数组和数组指针的内存布局...................................................................... 86 4.4.3,再论 a 和&a 之间的区别..................................................................................... 87 4.4.4,地址的强制转换...................................................................................................88 4.5,多维数组与多级指针......................................................................................................90 4.5.1,二维数组............................................................................................................... 91 4.5.1.1,假想中的二维数组布局........................................................................... 91 4.5.1.2,内存与尺子的对比....................................................................................91 4.5.1.3,&p[4][2] - &a[4][2]的值为多少?........................................................... 92 4.5.2,二级指针............................................................................................................... 93 4.5.2.1,二级指针的内存布局............................................................................... 93 4.6,数组参数与指针参数......................................................................................................94 4.6.1,一维数组参数.......................................................................................................94 4.6.1.1,能否向函数传递一个数组?................................................................... 94 4.6.1.2,无法向函数传递一个数组....................................................................... 96 4.6.2,一级指针参数.......................................................................................................97 4.6.2.1,能否把指针变量本身传递给一个函数................................................... 97 4.6.2.2,无法把指针变量本身传递给一个函数................................................... 98 4.6.3,二维数组参数与二维指针参数.......................................................................... 99 4.7,函数指针........................................................................................................................ 100 4.7.1,函数指针的定义.................................................................................................100 4.7.2,函数指针的使用.................................................................................................101 4.7.2.1,函数指针使用的例子............................................................................. 101 4.2.7.2,*(int*)&p ----这是什么?....................................................................... 102 4.7.3,(*(void(*) ())0)()------这是什么?..................................................................... 102 4.7.4,函数指针数组.....................................................................................................103 4.7.5,函数指针数组的指针.........................................................................................104 第五章 内存管理........................................................................................................................... 107 5.1,什么是野指针................................................................................................................ 107 5.2,栈、堆和静态区............................................................................................................107 5.3,常见的内存错误及对策................................................................................................108 5.3.1,指针没有指向一块合法的内存........................................................................ 108 5.3.1.1,结构体成员指针未初始化..................................................................... 108 5.3.1.2,没有为结构体指针分配足够的内存..................................................... 109 5.3.1.3,函数的入口校验......................................................................................109 5.3.2,为指针分配的内存太小.....................................................................................110 5.3.3,内存分配成功,但并未初始化.........................................................................110 5.3.4,内存越界............................................................................................................. 111 5.3.5,内存泄漏............................................................................................................. 111 5.3.5.1,告老还乡求良田......................................................................................112 5.3.5.2,如何使用 malloc 函数.............................................................................112 5.3.5.3,用 malloc 函数申请 0 字节内存.............................................................113 5.3.5.4,内存释放.................................................................................................. 113 5.3.5.5,内存释放之后..........................................................................................114 5.3.6,内存已经被释放了,但是继续通过指针来使用............................................ 114 第六章 函数................................................................................................................................... 115 6.1,函数的由来与好处........................................................................................................ 116 6.2,编码风格........................................................................................................................ 116 6.2,函数设计的一般原则和技巧...........................................................................................121 6.4,函数递归........................................................................................................................ 123 6.4.1,一个简单但易出错的递归例子........................................................................ 123 6.4.2,不使用任何变量编写 strlen 函数......................................................................124 第七章 文件结构......................................................................................................................... 127 7.1,文件内容的一般规则....................................................................................................127 7.2,文件名命名的规则........................................................................................................130

2013-08-29

C++ Primer全集(含第三版,第四版,中文版,英文版,中英对照)

经典书籍,值得收藏。 包括以下文件: │ Addison.Wesley.C.Plus.Plus.Primer.4th中英文对照.chm │ C++ Primer 4th 英文版.pdf │ C++ Primer_第4版_中英对照.pdf │ C++ Primer_第4版中文版(文字版非扫描).pdf │ └─C++ Primer 3E中文完美版(四合一) C++ Primer 3rd Edition 中文完美版.pdf C++ Primer 3rd Edition 英文原版.pdf C++ Primer_src.zip C++Primer题解.pdf 内容简介.txt 目录.TXT

2013-08-27

windows程序设计(王艳平)电子书及源程序源代码

很好的一本学习Windows API编程的书籍。 注意,这是第一版的,包括电子书(纯电子版,非扫描版)和源程序。 已经出了第二版,其实跟第一版也差不多,只是多了最后一章,你懂的。 以下是第二版的介绍。 =========================================== 内容提要 本书编写的目的是为学习Windows编程的读者提供一个良好的学习方法,循序渐进,最终使他们有能力独立开发出像Windows防火墙一样复杂的应用程序。本书首先介绍了Win32程序运行原理和最基本的Win32API编程;然后通过模拟MFC中关键类、全局函数和宏定义的实现,详细讲述了框架程序的设计方法和MFC的内部工作机制,并指出了这些机制是如何对用户程序造成影响的;完整讲述了开发内核驱动和Windows防火墙的过程;最后给出图像处理的基本开发方法。 编辑本段 编辑推荐 本书从“Hello,World”这个简单的例子出发,通过多个实例,由浅入深地讲述Win32API程序设计、类库框架设计、MFC程序设计、内核模式程序设计等,使读者在实践中熟练掌握Windows程序设计模式,并有能力写出完成特定功能的用户应用程序和简单的内核驱动程序。全书语言严谨流畅,针对初学者的特点,精心策划、由浅到深,是学习Windows编程的理想书籍。 编辑本段 目录 第1章 Windows程序设计基础 1 1.1 必须了解的内容 1 1.1.1 Windows产品概述 1 1.1.2 开发工具VisualC++ 1 1.1.3 Windows资料来源——MSDN 2 1.1.4 Win32API简介 2 1.2 VC++的基本使用 2 1.2.1 应用程序的类型 3 1.2.2 第一个控制台应用程序 3 1.2.3 API函数的调用方法 4 1.3 本书推荐的编程环境 5 1.4 代码的风格 6 1.4.1 变量的命名 6 1.4.2 代码的对齐方式 7 1.4.3 代码的注释 8 第2章 Win32程序运行原理 9 2.1 CPU的保护模式和Windows系统 9 2.1.1 Windows的多任务实现 9 2.1.2 虚拟内存 9 2.1.3 内核模式和用户模式 10 2.2 内核对象 11 2.2.1 内核对象的引出 11 2.2.2 对象句柄 12 2.2.3 使用计数 12 2.3 进程的创建 12 2.3.1 进程(Process)和线程(Thread) 12 2.3.2 应用程序的启动过程 13 2.3.3 CreateProcess函数 14 2.3.4 创建进程的例子 17 2.4 进程控制 18 2.4.1 获取系统进程 18 2.4.2 终止当前进程 20 2.4.3 终止其他进程 21 2.4.4 保护进程 22 2.5 【实例】游戏内存修改器 23 2.5.1 实现原理 23 2.5.2 编写测试程序 25 2.5.3 搜索内存 25 2.5.4 写进程空间 28 2.5.5 提炼接口 28 第3章 Win32程序的执行单元 30 3.1 多线程 30 3.1.1 线程的创建 30 3.1.2 线程内核对象 33 3.1.3 线程的终止 36 3.1.4 线程的优先级 37 3.1.5 C/C++运行期库 40 3.2 线程同步 41 3.2.1 临界区对象 41 3.2.2 互锁函数 44 3.2.3 事件内核对象 45 3.2.4 信号量内核对象 47 3.2.5 互斥内核对象 50 3.2.6 线程局部存储 52 3.3 设计自己的线程局部存储 55 3.3.1 CSimpleList类 56 3.3.2 CNoTrackObject类 61 3.3.3 CThreadSlotData类 63 3.3.4 CThreadLocal类模板 72 3.4 设计线程类——CWinThread 76 3.5 【实例】多线程文件搜索器 85 3.5.1 搜索文件的基本知识 85 3.5.2 编程思路 87 第4章 Windows图形界面 94 4.1 了解窗口 94 4.2 第一个窗口程序 95 4.2.1 创建Win32工程和MessageBox函数 95 4.2.2 Windows的消息驱动 97 4.2.3 创建窗口 98 4.2.4 分析主程序代码 100 4.2.5 处理消息的代码 104 4.3 一个“简陋”的打字程序 106 4.3.1 使用资源 106 4.3.2 菜单和图标 108 4.3.3 接收键盘输入 109 4.3.4 接收鼠标输入 112 4.3.5 设置文本颜色和背景色 113 4.4 GDI基本图形 113 4.4.1 设备环境 113 4.4.2 Windows的颜色和像素点 116 4.4.3 绘制线条 117 4.4.4 绘制区域 121 4.4.5 坐标系统 122 4.5 Windows内存DC 126 4.6 【实例】小时钟 127 4.6.1 基础知识——定时器和系统时间 127 4.6.2 时钟程序 130 4.6.3 移动窗口 134 4.6.4 使用快捷菜单 135 第5章 框架管理基础 139 5.1 运行时类信息(CRuntimeClass类) 139 5.1.1 动态类型识别和动态创建 139 5.1.2 DECLARE_DYNAMIC等宏的定义 144 5.2 调试支持 146 5.2.1 基本调试方法 146 5.2.2 调试输出 147 5.2.3 跟踪和断言 148 5.3 框架程序中的映射 149 5.3.1 映射的概念 149 5.3.2 内存分配方式 150 5.3.3 设计管理方式 153 5.3.4 句柄映射的实现 160 5.4 框架程序的状态信息 161 5.4.1 模块的概念 161 5.4.2 模块、线程的状态 162 5.5 框架程序的执行顺序 164 5.5.1 线程的生命周期 164 5.5.2 程序的初始化过程 167 5.5.3 框架程序应用举例 170 第6章 框架中的窗口 171 6.1 CWnd类的引出 171 6.2 窗口句柄映射 172 6.2.1 向CWnd对象分发消息 172 6.2.2 消息的传递方式 175 6.3 创建窗口 177 6.3.1 窗口函数 177 6.3.2 注册窗口类 178 6.3.3 消息钩子 180 6.3.4 最终实现 185 6.3.5 创建窗口的例子 187 6.4 消息映射 189 6.4.1 消息映射表 189 6.4.2 DECLARE_MESSAGE_MAP等宏的定义 192 6.5 消息处理 194 6.5.1 使用消息映射宏 194 6.5.2 消息的分发机制 197 6.5.3 消息映射应用举例 200 6.6 使用Microsoft基础类库 204 6.7 【实例】窗口查看器 206 6.7.1 窗口界面 206 6.7.2 获取目标窗口的信息 211 6.7.3 自制按钮 215 第7章 用户界面设计 219 7.1 对话框与子窗口控件基础 219 7.1.1 子窗口控件运行原理 219 7.1.2 对话框工作原理 222 7.2 使用对话框和控件与用户交互 224 7.2.1 以对话框为主界面的应用程序 224 7.2.2 常用子窗口控件 228 7.2.3 对话框与控件的颜色 229 7.3 通用控件 230 7.3.1 通用控件简介 230 7.3.2 使用通用控件 231 7.3.3 使用状态栏 235 7.3.4 使用列表视图 238 7.3.5 使用进度条 239 7.4 通用对话框 241 7.4.1 “打开”文件和“保存”文件对话框 241 7.4.2 浏览目录对话框 243 7.5 使用框架程序简化界面开发 245 7.5.1 在框架程序中使用对话框 245 7.5.2 CDialog类 248 7.5.3 框架程序中的控件 250 7.5.4 使用向导 250 7.6 【实例】目录监视器 252 7.6.1 目录监视的基础知识 253 7.6.2 实例程序 253 7.6.3 使用SkinMagic美化界面 259 7.7 窗口进程监视器 261 第8章 Windows文件操作和内存映射文件 264 8.1 文件操作 264 8.1.1 创建和读写文件 264 8.1.2 获取文件信息 268 8.1.3 常用文件操作 270 8.1.4 检查PE文件有效性的例子 272 8.1.5 MFC的支持(CFile类) 274 8.2 驱动器和目录 276 8.2.1 驱动器操作 276 8.2.2 目录操作 279 8.3 使用注册表 279 8.3.1 注册表的结构 279 8.3.2 管理注册表 280 8.3.3 注册表API应用举例(设置开机自动启动) 282 8.3.4 ATL库的支持(CRegKey类) 283 8.4 内存映射文件 284 8.4.1 内存映射文件相关函数 284 8.4.2 使用内存映射文件读BMP文件的例子 286 8.4.3 进程间共享内存 292 8.4.4 封装共享内存类CShareMemory 294 8.5 一个文件切割系统的实现 295 8.5.1 通信机制 295 8.5.2 分割合并机制 296 8.5.3 接口函数 300 8.5.4 最终实现 301 8.6 【实例】文件切割器开发实例 306 第9章 动态链接库和钩子 314 9.1 动态链接库 314 9.1.1 动态链接库的概念 314 9.1.2 创建动态链接库工程 314 9.1.3 动态链接库中的函数 316 9.1.4 使用导出函数 317 9.2 Windows钩子 320 9.2.1 钩子的概念 320 9.2.2 钩子的安装与卸载 320 9.2.3 键盘钩子实例 322 9.3 挂钩API技术(HOOKAPI) 327 9.3.1 实现原理 327 9.3.2 使用钩子注入DLL 327 9.3.3 HOOK过程 328 9.3.4 封装CAPIHook类 333 9.3.5 HOOK实例——进程保护器 340 9.4 其他常用的侦测方法 344 9.4.1 使用注册表注入DLL 344 9.4.2 使用远程线程注入DLL 345 9.4.3 通过覆盖代码挂钩API 351 9.5 【实例】用户模式下侦测Win32API的例子 354 第10章 TCP/IP和网络通信 359 10.1 网络基础知识 359 10.1.1 TCP/IP参考模型 359 10.1.2 以太网 361 10.1.3 以太网接口堆栈 363 10.1.4 服务器/客户机模型 363 10.2 Winsock接口 364 10.2.1 套节字的概念和类型 364 10.2.2 Winsock的寻址方式和字节顺序 364 10.2.3 Winsock编程流程 366 10.2.4 典型过程图 371 10.2.5 服务器和客户方程序举例 371 10.2.6 UDP协议编程 374 10.3 网络程序实际应用 374 10.3.1 设置I/O模式 375 10.3.2 TCP服务器实例 376 10.3.3 TCP客户端实例 384 10.4 截拦网络数据 388 10.4.1 DLL工程框架 388 10.4.2 数据交换机制 389 10.4.3 数据的过滤 391 10.5 【实例】IP封包截获工具IPPack源代码分析 392 10.5.1 主窗口界面 392 10.5.2 注入DLL 395 10.5.3 处理封包 399 第11章 内核模式程序设计与Windows防火墙开发 403 11.1 Windows操作系统的体系结构 403 11.1.1 Windows2000/XP组件结构图 403 11.1.2 环境子系统和子系统DLL 404 11.1.3 系统核心 405 11.1.4 设备驱动程序 408 11.2 服务 408 11.2.1 服务控制管理器(ServiceControlManager) 408 11.2.2 服务控制程序 409 11.2.3 封装CDriver类 412 11.3 开发内核驱动的准备工作 417 11.3.1 驱动程序开发工具箱 417 11.3.2 编译和连接内核模式驱动的方法 417 11.3.3 创建第一个驱动程序 418 11.4 内核模式程序设计基础知识 418 11.4.1 UNICODE字符串 418 11.4.2 设备对象 419 11.4.3 驱动程序的基本组成 420 11.4.4 I/O请求包和I/O堆栈 420 11.4.5 完整驱动程序 423 11.5 内核模式与用户模式交互 426 11.5.1 扩展派遣接口 426 11.5.2 IOCTL应用举例 427 11.6 IP过滤钩子驱动 431 11.6.1 创建过滤钩子(Filter-hook)驱动 431 11.6.2 IP过滤钩子驱动工程框架 434 11.6.3 过滤列表 437 11.6.4 编写过滤函数 438 11.6.5 注册钩子回调函数 440 11.6.6 处理IOCTL设备控制代码 442 11.7 【实例】防火墙开发实例 443 11.7.1 文档视图 443 11.7.2 文档对象 446 11.7.3 视图对象 448 11.7.4 主窗口对象 450 第12章 Windows数字图像处理 454 12.1 编程基础 454 12.2 CVector2D类 455 12.3 CGray类的设计 458 12.3.1 图像的加载和保存 460 12.3.2 创建新位图 464 12.3.3 设置和获取位图像素值 466 12.3.4 绘制矩形和直线 470

2013-07-18

XtremeToolkitPro界面库_含破解_Codejock.Xtreme.Toolkit.Pro.v15.0.1_CJ60界面库的升级版

这么好的东西,业内的人都知道! XtremeToolkitPro界面库_含破解 Codejock.Xtreme.Toolkit.Pro.v15.0.1.Full.Source.Retail.Incl.Keymaker Xtreme Toolkit Pro概述 Codejock软件公司的Xtreme Toolkit Pro是屡获殊荣的VC界面库,是MFC开发中最全面界面控件套包,它包含了Codejock的所有Visual C++的产品,包括Xtreme控制栏(Xtreme Command Bars)、Xtreme浮动面板(Xtreme Docking Pane)、Xtreme属性网格(Xtreme Property Grid)等。

2013-07-17

NXP_LPC1700(LPC17xx)系列MCU用户手册及各模块PPT讲解

个人收藏的LPC17xx资料,从中受益匪浅。 包含以下内容: _lpc17xx.user.manual.pdf-------Rev00.07, 31 July 2009 _zlg翻译的LPC1700用户手册.pdf LPC1700_ppt_all_中文.rar------NXP LPC1700系列PPT 制作得非常专业,尤其是动画,不需要老师讲解,完成适合自学,是我到目前为止见过的最清晰明了最通俗易懂的讲解MCU的PPT!感谢ZLG!! 【ADC】LPC1700系列Cortex-M3_ZLG.ppt 【CAN】LPC1700系列Cortex-M3_ZLG.ppt 【DAC】LPC1700系列Cortex-M3_ZLG.ppt 【ETHERNET】LPC1700系列Cortex-M3_ZLG.ppt 【GPIO】LPC1700系列Cortex-M3_ZLG.ppt 【I2C】LPC1700系列Cortex-M3_ZLG.ppt 【I2S】LPC1700系列Cortex-M3_ZLG.ppt 【MCPWM】LPC1700系列Cortex-M3_ZLG.ppt 【PWM】LPC1700系列Cortex-M3_ZLG.ppt 【QEI】LPC1700系列Cortex-M3_ZLG.ppt 【RIT】LPC1700系列Cortex-M3_ZLG.ppt 【RTC】LPC1700系列Cortex-M3_ZLG.ppt 【SPI】LPC1700系列Cortex-M3_ZLG.ppt 【Timer】LPC1700系列Cortex-M3_ZLG.ppt 【UART】LPC1700系列Cortex-M3_ZLG.ppt 【USB】LPC1700系列Cortex-M3_ZLG.ppt 【WDT】LPC1700系列Cortex-M3_ZLG.ppt

2013-07-16

计算机USB系统原理及其主从机设计

计算机USB系统原理及其主从机设计 全高清电子版 书名:计算机usb系统原理及其主/从机设计 作者:马伟编 出版社:北京航空航天大学出版社

2013-07-16

MingQQ v1.0高仿版_源代码

MingQQ v1.0高仿版_源代码,一个使用WebQQ协议使用的模仿QQ界面的QQ客户端... 版权属于原作者,我只是帮助扩散 MingQQ项目地址: https://code.google.com/p/mingqq/ 作者Blog: http://zym.cnblogs.com/ http://blog.csdn.net/zym_123456

2013-07-16

VC6模拟LCD滚屏效果源码

一老外写的,模拟液晶显示屏(LCD),可实现滚屏效果。 含源码和demo。 ====================================================== Class Members for MatrixStatic digital display. By Nic Wilson (C) 2002 nicw@bigpond.net.au

2013-07-10

TCP/IP详解_包含书签和目录_3卷全_卷1协议_卷2实现_卷3TCP事务协议等

TCP/IP详解,3卷全,含书签。 china-pub高清版。 ==================================================== 内容简介 大家知道,TCP/IP已成为计算机网络的事实上的标准。在关于TCP/IP的论著中,最有影响的就是两部著作。一部是Douglas E. Comer的《用TCP/IP进行网际互连》,而另一部就是Stevens写的这3卷书。这两套巨著都很有名,各有其特点。无论是从事计算机网络的教师还是进行科研的技术人员,这两套书都应当是必读的。 《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输的不同分组。对tcpdump输出的研究可以帮助理解不同协议如何工作。本书适合作为计算机专业学生学习网络的教材和教师参考书。也适用于研究网络的技术人员。 《TCP/IP详解 卷2:实现》完整而详细地介绍了TCP/IP协议是如何实现的。书中给出了约500个图例,15 000行实际操作的C代码,采用举例教学的方法帮助你掌握TCP/IP实现。本书不仅说明了插口API和协议族的关系以及主机实现与路由器实现的差别。还介绍了4.4BSD-Lite版的新的特点,如多播、长肥管道支持、窗口缩放、时间戳选项以及其他主题等等。读者阅读本书时,应当具备卷1中阐述的关于TCP/IP的基本知识。本书适用于希望理解TCP/TP协议如何实现的人,包括编写网络应用程序的程序员以及利用TCP/IP维护计算机网络的系统管理员。 《TCP-IP详解卷三TCP事务协议,HTTP,NNTP和UNIX域协议》是“TCP/IP详解系列”的延续。主要内容包括:TCP事务协议,即T/TCP,这是对TCP的扩展,使客户-服务器事务更快、更高效和更可靠;TCP/IP应用,主要是HTTP和NNTP;UNIX域协议,这些协议提供了进程之间通信的一种手段。当客户与服务器进程在同一台主机上时,UNIX域协议通常要比TCP/IP快一倍。本书同样采用了大量的实例和实现细节,并参考引用了卷2中的大量源程序。

2013-07-10

编程精粹_Microsoft编写优质无错C程序秘诀(文字版)

之前在网上看到很多人推荐这本书,我也曾很多次尝试着把它看完,但是一直都看不进去。最后一次终于完整地看完了,还是有不少收获的。 虽然它已经很老了,有些内容已经过时了,但仍然不失为一本很有指导意义的好书。建议有编程经验,并且栽过跟斗的中级程序员阅读。 =========================================================== 原文书名: 《Writing Clean Code ── Microsoft Techniques for Developing Bug-free C Programs》 Steve maguire 著 Microsoft Press 出版 所据译本: 《编程精粹 ── Microsoft 编写优质无错C 程序秘诀》 姜静波、佟金荣 译,麦中凡校 电子工业出版社 出版 =========================================================== 序 ……………………………………………………………………………… Ⅰ 某些背景 ……………………………………………………………………… Ⅲ 命名约定 ……………………………………………………………………… Ⅳ 引 言 ………………………………………………………………………… Ⅵ 第 1 章 假想的编译程序…………………………………………………… 1 第2 章 自己设计并使用断言……………………………………………… 8 第3 章 为子系统设防……………………………………………………… 31 第4 章 对程序进行逐条跟踪……………………………………………… 53 第5 章 糖果机界面………………………………………………………… 60 第6 章 风险事业…………………………………………………………… 75 第7 章 编码中的假象……………………………………………………… 98 第8 章 剩下的就是态度问题……………………………………………… 115 后记 走向何方…………………………………………………………… 129 附录A 编码检查表…………………………………………………………… 130 附录B 内存登录例程………………………………………………………… 133 附录C 练习答案……………………………………………………………… 140 参考文献……………………………………………………………………… 160

2013-04-28

MSP430F2XX中文手册(加了标签)1~17.pdf

在百度文库里一个一个下下来的,打个包放在这里,方便大家下载。 ============================================== 目录 1.MSP430体系结构.pdf 2.系统复位_中断_工作模式.pdf 3.CPU.pdf 4.基础时钟模块+.pdf 5.Flash块控制器.pdf 6.MSP430+IO.pdf 7.看门狗定时器+.pdf 8.定时器_A.pdf 9._定时器_B.pdf 10.通用串口.pdf 11.通用串行通信接口UART模块.pdf 12.SPI_串行同步通讯模式.pdf 13.IIC.pdf 14.运算放大器.pdf 15.比较器_A+.pdf 16.ADC10.pdf 17.16_位Σ-Δ模数转换器.pdf

2013-04-28

tftp32(tftpd32)及其源代码_V325_V400

说明: 这里收录了tftp32的两个版本及其原代码。 tftp32_V325: (15 May 2008) V3的经典版本 支持tftp server, tftp client, dhcp server, syslog server, log viewer等功能 源代码可以在Visual C++ V9(VS2008)下编译 tftp32_V400: (7 March 2011) 最新版

2013-04-08

程序员的自我修养—链接、装载与库(含目录)

================================== 内容简介 《程序员的自我修养:链接、装载与库》主要介绍系统软件的运行机制和原理,涉及在Windows和Linux两个系统平台上,一个应用程序在编译、链接和运行时刻所发生的各种事项,包括:代码指令是如何保存的,库文件如何与应用程序代码静态链接,应用程序如何被装载到内存中并开始运行,动态链接如何实现,C/C++运行库的工作原理,以及操作系统提供的系统服务是如何被调用的。每个技术专题都配备了大量图、表和代码实例,力求将复杂的机制以简洁的形式表达出来。本书最后还提供了一个小巧且跨平台的C/C++运行库MiniCRT,综合展示了与运行库相关的各种技术。 《程序员的自我修养:链接、装载与库》对装载、链接和库进行了深入浅出的剖析,并且辅以大量的例子和图表,可以作为计算机软件专业和其他相关专业大学本科高年级学生深入学习系统软件的参考书。同时,还可作为各行业从事软件开发的工程师、研究人员以及其他对系统软件实现机制和技术感兴趣者的自学教材。 ================================== 目录 第1部分 简介 第1章 温故而知新 1.1 从HELLO WORLD 说起 1.2 万变不离其宗 1.3 站得高,望得远 1.4 操作系统做什么 1.5 内存不够怎么办 1.6 众人拾柴火焰高 1.7 本章小结 第2部分 静态链接 第2章 编译和链接 2.1 被隐藏了的过程 2.2 编译器做了什么 2.3 链接器年龄比编译器长 2.4 模块拼装——静态链接 2.5 本章小结 第3章 目标文件里有什么 3.1 目标文件的格式 3.2 目标文件是什么样的 3.3 挖掘SIMPLESECTION.O 3.4 ELF 文件结构描述 3.5 链接的接口——符号 3.6 调试信息 3.7 本章小结 第4章 静态链接 4.1 空间与地址分配 4.2 符号解析与重定位 4.3 COMMON 块 4.4 C++相关问题 4.5 静态库链接 4.6 链接过程控制 4.7 BFD 库 4.8 本章小结 第5章 WINDOWS PE/COFF 5.1 WINDOWS 的二进制文件格式PE/COFF 134 5.2 PE 的前身——COFF 5.3 链接指示信息 5.4 调试信息 5.5 大家都有符号表 5.6 WINDOWS 下的ELF——PE 5.7 本章小结 第3部分 装载与动态链接 第6章 可执行文件的装载与进程 6.1 进程虚拟地址空间 6.2 装载的方式 6.3 从操作系统角度看可执行文件的装载 6.4 进程虚存空间分布 6.5 LINUX 内核装载ELF 过程简介 6.6 WINDOWS PE 的装载 6.7 本章小结 第7章 动态链接 7.1 为什么要动态链接 7.2 简单的动态链接例子 7.3 地址无关代码 7.4 延迟绑定(PLT) 7.5 动态链接相关结构 7.6 动态链接的步骤和实现 7.7 显式运行时链接 7.8 本章小结 第8章 LINUX 共享库的组织 8.1 共享库版本 8.2 符号版本 8.3 共享库系统路径 8.4 共享库查找过程 8.5 环境变量 8.6 共享库的创建和安装 8.7 本章小结 第9章 WINDOWS 下的动态链接 9.1 DLL 简介 9.2 符号导出导入表 9.3 DLL 优化 9.4 C++与动态链接 9.5 DLL HELL 9.6 本章小结 第4部分 库与运行库 第10章 内存 10.1 程序的内存布局 10.2 栈与调用惯例 10.3 堆与内存管理 10.4 本章小结 第11章 运行库 11.1 入口函数和程序初始化 11.2 C/C++运行库 11.3 运行库与多线程 11.4 C++全局构造与析构 11.5 FREAD 实现 11.6 本章小结 第12章 系统调用与API 12.1 系统调用介绍 12.2 系统调用原理 12.3 WINDOWS API 12.4 本章小结 第13章 运行库实现 13.1 C 语言运行库 13.2 如何使用MINI CRT 13.3 C++运行库实现 13.4 如何使用MINI CRT++ 13.5 本章小结 附录A A.1 字节序(BYTE ORDER) A.2 ELF 常见段 A.3 常用开发工具命令行参考 索引

2013-04-08

VC助手 Visual Assist (VAX10.5.1738经典版本)含破解补丁

VC助手 Visual Assist (VAX10.5.1738经典版本)含破解补丁

2013-03-27

C标准库源码解剖.pdf

C标准库源码解剖,想了解C库的可以看一下。

2013-02-22

大话处理器:处理器基础知识读本 清晰完全版电子书pdf

包含以下几个文件: 大话处理器(试读版).pdf 高清文字版 大话处理器:处理器基础知识读本.pdf 清楚扫描完全版 大话处理器v2.0.ppt ------------------------------------ 书名: 大话处理器 作者: 万木杨 ISBN: 9787302263159 出版社: 清华大学出版社 出版时间: 2011年10月29日 开本: 平装 语种: 简体中文 版次: 1 =================================================== 内容简介 处理器是IT、通信、电子产业的基石,没有处理器,信息产业大厦就如同建立在沙滩之上。 《大话处理器:处理器基础知识读本》是一本图文并茂、生动幽默的处理器科普读本,全书行文风趣幽默,用类比来解释晦涩的技术,用图画来代替枯燥的文字。本着科技以人为本的理念,《大话处理器:处理器基础知识读本》除了技术外,还介绍了大量人物和公司的故事,供大家闲读。 《大话处理器:处理器基础知识读本》的主要读者是IT、通信、电子、半导体行业的从业人员以及学生。喜欢技术的看技术,不喜欢技术的看故事。 =================================================== 目录 第1章 漫游计算机世界 1 1.1 计算机的前世、今生、来世 3 1.1.1 计算机的诞生 3 1.1.2 从军用到民用——飞入寻常百姓家 12 1.1.3 个人计算机时代——英雄辈出的时代 15 1.1.4 手机——装在口袋的计算机 25 1.1.5 无处不在的计算机 31 1.1.6 计算机的来世 31 1.2 计算机分门别类 33 1.3 PC机结构探秘 34 1.3.1 处理器——一颗奔腾的心 34 1.3.2 存储器——大肚能容,容天下难容之事 36 1.3.3 主板与芯片组——架起沟通的桥梁 38 1.3.4 输入设备——五觉 39 1.3.5 显示设备——脸面 42 1.3.6 显卡——我贵,因为我专业 47 1.3.7 通信接口——关节 47 1.3.8 软件——计算机的灵魂 49 1.3.9 计算机产业发展态势 50 第2章 初识处理器——掀起你的盖头来 53 2.1 处理器是怎样工作的——处理器的硬件模型 55 2.1.1 硬连线电路——一定终身 55 2.1.2 通用计算机模型——硬件搭台,软件唱戏 56 2.2 怎样来使用处理器——处理器的编程模型 57 2.2.1 软硬不分 57 2.2.2 ISA横插一刀 57 2.3 处理器的分层模型 58 2.4 选什么样的处理器——适合的才是最好的 59 2.4.1 硬件指标——硬实力的竞争 59 2.4.2 软件指标——软实力的竞争 62 2.4.3 商业指标——在商言商 63 第3章 指令集体系结构——处理器的外表 65 3.1 指令集是什么 67 3.1.1 从处理器编程模型谈起——一切从模型开始 67 3.1.2 计算机语言——人与计算机沟通的桥梁 68 3.2 指令集发展的来龙去脉 69 3.2.1 CISC时代——粗放式扩张 69 3.2.2 RISC时代——优化配置资源,合理提升效率 70 3.2.3 后RISC时代——不管黑猫白猫,抓到老鼠就是好猫 71 3.3 指令集的五朵金花 73 3.3.1 x86——硕大的大象 73 3.3.2 ARM——稳扎稳打的蚁群 74 3.3.3 MIPS——优雅的孔雀 75 3.3.4 Power——昔日的贵族 76 3.3.5 C6000——偏安一隅的独立王国 77 3.3.6 至今仍在服役的元老们 78 3.4 地盘之争 78 3.4.1 地盘划分 79 3.4.2 x86、ARM之战 80 3.4.3 ARM、MIPS之战 80 3.5 汇编语言格式——没有规矩不成方圆 81 3.5.1 机器字长 81 3.5.2 操作数个数 82 3.5.3 操作数顺序 83 3.5.4 大小端——小问题,大折腾 83 3.5.5 指令类型——我们需要哪些指令 83 3.5.6 寻址方式——千万里,我追寻着你 84 3.5.7 总结 85 第4章 微架构——处理器的内心世界 87 4.1 跟着顺溜学流水线 89 4.1.1 顺溜的2级流水线 89 4.1.2 顺溜流水线的深入分析 90 4.2 从子弹射击到指令执行 93 4.2.1 最简单的3级流水线 93 4.2.2 史上最经典的5级流水线 95 4.2.3 DSP更深的流水线 97 4.2.4 流水线上的冒险——免不了磕磕绊绊 98 4.2.5 分支预测——以古为镜,可以知兴替 103 4.3 从顺序执行到乱序执行——因时制宜 107 4.3.1 乱序的概念 107 4.3.2 指令的相关 108 4.3.3 去除指令的相关性 110 4.3.4 处理器的乱序执行 113 4.4 处理器并行设计——并行,提高性能的不二法门 117 4.5 指令并行(Instruction Level Parallelism) 118 4.5.1 指令并行的“绿营”和“蓝营” 118 4.5.2 Superscalar处理器实例——Intel P4 CPU 119 4.5.3 VLIW处理器实例——TI C6000 DSP 125 4.5.4 Superscalar和VLIW总结 130 4.6 数据并行(Data Level Parallelism) 130 4.6.1 何为SIMD、MMX、SSE 130 4.6.2 几种不同形式的SSE指令 132 4.7 线程并行(Thread Level Parallelism) 133 4.7.1 多线程——时分复用 133 4.7.2 硬件多线程——让我来帮你一把 135 4.7.3 多核——从“芯”到“蕊”的跳变 136 4.7.4 各种硬件多线程对比 138 4.8 并行总结 139 4.9 微架构总结 142 4.9.1 处理器性能公式 142 4.9.2 通过微架构的改进提高程序执行效率 142 4.9.3 商用处理器微架构的选择 143 第5章 Cache——处理器的“肚量” 145 5.1 什么是Cache——探索既熟悉又陌生的领域 147 5.1.1 随处可见的Cache——技术来源于生活 147 5.12 处理器的Cache——一切都是收益和成本的权衡 147 5.2 处理器的Cache结构——探索那些鲜为人知的秘密 150 5.2.1 Cache的层次——层次化管理 150 5.2.2 Cache的工作方式——丘比特之剑,命中与未命中 151 5.2.3 Cache的映射方式——多对一的策略 152 5.2.4 Cache的写方式——你不需要知道真相 156 5.3 Cache一致性 158 5.3.1 一致性问题的产生——信息不对称导致的问题 158 5.3.2 Cache一致性的底层操作 159 5.3.3 Cache一致性协议 160 5.4 片内可寻址存储器——软件管理的Cache 163 第6章 编写高效代码——时间就是生命 167 6.1 软件效率——21世纪什么最重要?效率! 169 6.1.1 高效代码的意义——时间就是生命,时间就是金钱 169 6.1.2 代码剖析——没有调查,就没有发言权 169 6.2 减少指令数——勤俭持家 171 6.2.1 使用更快的算法——算法,程序设计的灵魂 171 6.2.2 选用合适的指令——合适的人做合适的事 172 6.2.3 降低数据精度——比特也要省着用 173 6.2.4 减少函数调用——不要老打断我 173 6.2.5 空间换时间——我们总是在走,却忘了停留 174 6.2.6 减少过保护——打不破的部门墙 176 6.3 减少处理器不擅长的操作——不要逼我做我不喜欢的事情 176 6.3.1 少用乘法 177 6.3.2 少用除法、求余 177 6.3.3 在精度允许的条件下,将浮点数定点化 177 6.3.4 尽量减少分支 178 6.3.5 将最可能进入的分支放在 if中,而不是else中 179 6.4 优化内存访问——别让包袱拖垮了你 180 6.4.1 少使用数组,少使用指针 181 6.4.2 少用全局变量 181 6.4.3 一次多访问一些数据 182 6.4.4 数据对齐访问 182 6.4.5 大数据结构时的Cache line对齐 183 6.4.6 程序、数据访问符合Cache的时间、空间局部性 183 6.4.7 多线程编程时,避免false sharing 185 6.4.8 自己管理内存动态分配 185 6.4.9 隐藏数据搬移时间 186 6.5 充分利用编译器进行优化——编译器:我才是优化第一高手 187 6.5.1 编译器的结构——知己知彼,百战不殆 187 6.5.2 编译器提供了几级优化选项——分级管理 188 6.5.3 编译器会计算常量 188 6.5.4 简单的表达式化简 188 6.5.5 提取公共语句 189 6.5.6 循环展开、软件流水 190 6.5.7 自动向量化 190 6.5.8 高效的数据组织 191 6.5.9 指令并行化 191 6.5.10 编译器更懂处理器——百度更懂中文 192 6.6 利用多核来加速程序——人多力量大 193 6.6.1 并行计算 193 6.6.2 OpenMP 197 第7章 SOC——吸星大法 199 7.1 SOC大一统时代 201 7.1.1 SOC和IP 201 7.1.2 SOC市场驱动力 202 7.2 IP核 202 7.2.1 CPU IP 204 7.2.2 GPU IP 205 7.2.3 DSP IP 205 7.2.4 Video Engine IP 208 7.2.5 其他IP core 209 7.2.6 总结 210 第8章 “芯”路历程——明明白白我的“芯” 211 8.1 逻辑电路基础——计算机的基本构成 213 8.1.1 模拟、数字、逻辑的关系——细微之处探真知 213 8.1.2 组合逻辑电路——万丈高楼平地起 216 8.1.3 时序逻辑电路——你在我心中留下了记忆 219 8.1.4 微电子技术——微乎微乎,至于无形 221 8.2 芯片设计——芯者,国之大事,不可不察也 224 8.2.1 人类是怎么管理复杂事物的 224 8.2.2 芯片设计流程 227 8.2.3 硬件描述语言——软硬不分 227 8.2.4 逻辑综合 229 8.2.5 硬件描述语言与软件描述语言的差别 230 8.2.6 物理设计 231 8.3 芯片制造——点沙成金 233 8.3.1 探索微观世界 233 8.3.2 芯片制造流程 234

2013-01-11

嵌入式实时操作系统uCOS-II(第二版)清晰扫描版_邵贝贝

好不容易找到的第二版,真的是第二版。 PDF格式,扫描版,清晰。含封面,目录,书签。 =========================================== 嵌入式实时操作系统μC\OS-Ⅱ(第2版附光盘) 作  者:(美)Jean J.Labrosse 著,邵贝贝 等译 出 版 社:北京航天航空大学出版社 出版时间:2003-5-1 版  次:1页  数:582字  数:979000印刷时间:2003-5-1开  本:16开纸  张:胶版纸印  次:1I S B N:9787810772907包  装:平装 ---------------------------------------- 目录 概述 第1章 初识μC/OSII  1.00 安装 μC/OSII  1.01 范例1  1.02 范例2  1.03 范例3  1.04 范例4 第2章 实时系统概念  2.00 前/后台系统  2.01 代码的临界段  2.02 资源  2.03 共享资源  2.04 多任务  2.05 任务  2.06 任务切换  2.07 内核  2.08 调度  2.09 不可剥夺型内核  2.10 可剥夺型内核  2.11 可重入函数  2.12 时间片轮番调度法  2.13 任务优先级  2.14 静态优先级  2.15 动态优先级  2.16 优先级反转  2.17 任务优先级分配  2.18 互斥条件  2.18.01 关中断和开中断  2.18.02 测试并置位操作  2.18.03 禁止,然后允许任务切换  2.18.04 信号量  2.19 死锁  2.20 同步  2.21 事件标志  2.22 任务间通信  2.23 消息邮箱  2.24 消息队列  2.25 中断  2.26 中断延迟  2.27 中断响应  2.28 中断恢复时间  2.29 中断延迟、响应及恢复  2.30 中断处理时间  2.31 非屏蔽中断  2.32 时钟节拍  2.33 对存储器的需求  2.34 使用实时内核的优、缺点  2.35 实时系统小结 第3章 内核结构 第4章 任务管理 第5章 时间管理 第6章 事件控制块 第7章 信号量管理 第8章 互斥型信号量管理 第9章 事件标志组管理 第10章 消息邮箱管理 第11章 消息队列管理 第12章 内存管理 第13章 移植μC/OSII 第14章 μC/OSII在80x86上的移植 第15章 μC/OSII在带有硬件浮点运算单元的80x86上的移植 第16章 μC/OSII参考手册 第17章 μC/OSII配置手册 第18章 PC中的功能函数 附录A C语言编程规约 附录B μC/OSII的使用许可证 附录C μC/OSII速查手册 附录D 工具程序 附录E 参考文献 附录F 本书所附光盘

2012-10-24

虚拟串口工具virtual serial port driver(VSPD) V6.9

虚拟串口工具virtual serial port driver(VSPD) V6.9 汉化版,含破解。 个人感觉比SerialNull好用。

2012-10-24

Modbus调试精灵 V1.024

Modbus调试精灵 V1.024 可以直接使用串口调试RTU格式的Modbus协议,包括读多个寄存器,写单个寄存器。 界面简洁,功能足够。

2012-09-21

虚拟串口SerialNull V1.7 破解版

SUDT SerialNull 是一款虚拟串口的专业配置工具,主要用于模拟RS232串口的虚拟连接,适用于串行口相关的软硬件开发、测试工程师。 在系统中所创建的虚拟串口在功能以及使用上与真实物理串口一致。可以在不占用真实串口的情况下,创建任意数量并互为连接的纯虚拟串口对。 ====================================== SerialNull 1.7 buld 699 Crack by Undeclared 解压缩后直接运行软件,如果提示驱动安装失败的话,运行一次install.exe即可。 注册时输入任意用户名。 注册码输入:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--- X可用任意字母或数字代替,‘-’可以在任意位置。 注册码规则,长度必须等于35 且含有3个‘-’32个字母或数字。 ========================================= V1.7破解版 免除大家调试必须用串口的烦恼 简单破解 强大功能 本人在XP下亲自测试 可破解 可用~

2012-08-24

IEEE754的浮点数与字节换算工具

本工具可以在大小端、IEEE格式的浮点数之间转换,是研究浮点数存储格式的好帮手。

2012-08-16

批量文件文件夹重命名工具Better File Rename(BFR)

很好用的批量文件文件夹重命名工具,简单易用,上手快,功能强大。 V5.7绿化汉化版 一款WINDOWS资源管理器的扩展外壳, 可以帮助你快速简便地修改文件名和文件修改时间。功能有:强大的命名方式,文字、日期和序列数字的添加、去除、插入和替换;支持数字列表的创建、改变、添加、抽取等;支持文件建立日期、修正日期、EXIF中日期的修改;可以分别处理文件名和扩展名。 其强大的地方在于:可以创建命名规则文件, 有了这个文件,以后的重命名只需将要重命名的文件拖曳到这个规则文件上即可完成重命名操作

2012-08-16

快速搜索电脑文件工具everything

版本:1.2.1.371 Everything(官网|中文主页|教程)是速度最快的文件名搜索软件。其速度之快令人震惊,百G硬盘几十万个文件,可以在几秒钟之内完成索引;文件名搜索瞬间呈现结果。它小巧免费,支持中文,支持正则表达式,可以通过HTTP或FTP分享搜索结果。如果不满意Windows自带的搜索工具、Total Commander的搜索、Google 桌面搜索或百度硬盘搜索,如果正在使用或放弃了Locate32,都值得推荐这款体积小巧、免安装、免费、速度极快(比Locate32更快)的文件搜索工具Everything!

2012-08-16

MFC程序需要用到的动态链接库

有些MFC程序拷到别的计算机上无法运行,需要以下几个库文件: mfc42.dll MFC42D.DLL mfc42u.dll MFCO42D.DLL MSVCRTD.DLL

2012-08-16

VS2008宏macro

VS2008宏,可以一键式添加文件头,函数注释等等。

2012-08-10

操作系统原理技术与编程光盘

操作系统原理技术与编程配套光盘 电子书见: http://download.csdn.net/detail/booksyhay/4158241 http://download.csdn.net/detail/booksyhay/4158343

2012-04-19

Win32多线程程序设计 pdf高清

作 者:Jim Beveridge    译 者: 侯捷 出 版 社:华中科技大学出版社    出版时间:2002-1-1 字 数:450000 版 次: 页 数:453 印刷时间:2005-5-1 纸 张:胶版纸 ISBN:9787560926384 包 装:平装 ==================================================== 第一篇 上路吧,线程 第1章 为什么要“千头万绪” 一条曲折的路 与线程共枕 为什么最终用户也需要多线程 Win32基础 Context Switching Race Conditions(竞争条件) Atomic Operations(原子操作) 线程之间如何通讯 好消息与坏消息 第2章 线程的第一次接触 产生一个线程 使用多个线程的结果 核心对象(Kernel Objects) 线程结束代码(Exit Code) 结束一个线程 错误处理 后台打印(Background Printing) 成功的秘诀 第3章 快跑与等待 看似闲暇却忙碌(Busy Waiting) 性能监视器(Performance Monitor) 等待一个线程的结束 叮咚:被激发的对象(Signaled Objects) 等待多个对象 在一个GUI程序中等待 提要 第4章 同步控制(Synchronization) Critical Sections(关键区域、临界区域) 死锁(Deadlock) 哲学家进餐问题(The Dining Philosophers) 互斥器(Mutexes) 信号量(Semaphores) 事件(Event Objects) 从Worker线程中显示输出 Interlocked Variables 同步机制摘要 第5章 不要让线程成为脱缰野马 干净地终止一个线程 线程优先权(Thread Priority) 初始化一个线程 提要 第6章 Overlapped I/O,在你身后变戏法 Win32文件操作函数 被激发的File Handles 被激发的Event对象 异步过程调用(Asynchronous Procedure Calls,APCs) 对文件进行(Overlapped I/O的缺点 I/O Completion Ports 对Sockets使用Overlapped I/O 提要 第二篇 多线程程序设计的工具与手法 第7章 数据一致性(Data Consistency) 认识Volatile关键字 Referential Integrity The Readers/Writers Lock 我需要锁定吗? Lock Granularity(锁定粒度) 提要 第8章 使用C Run-Time Library 什么是C Runtime Library多线程版本 选择一个多线程版本的C Runtime Library 以C Runtime Library启动线程 哪一个好:CreateThread()抑或_beginthreadex()? 避免stdio.h 一个安全的多线程程序 结束进程(Process) 为什么你应该避免_beginthread() 提要 第9章 使用C++ 处理有问题的_beginthreadex()函数原型 以一个C++对象启动一个线程 建立比较安全的Critical Sections 建立比较安全的Locks 建立可互换(Interchangeable)的Lockks 异常情况(Exceptions)的处理 提要 第10章 MFC中的线程 在MFC中启动一个Worker线程 安全地使用AfxBeginThread()的传回值 在MFC中启动一个UI线程 与MFC对象共处 MFC的同步控制 MFC对于MsgWaitForMultipleObjects()的支持 提要 第11章 GDI与窗口管理 线程的消息队列 消息如何周游列国 GUI效率问题 以Worker线程完成多线程版MDI程序 多个上层窗口(Top Level Windows)如何是好? 线程之间的通讯 NT的影子线程(shadow Thread) 关于"Cancel"对话框 锁住GDI对象 提要 第12章 调试 使用Windows NT 有计划地对付错误 Bench Testing 线程对话框 运转记录(Logging) 内存记号(Memory Trails) 硬件调试寄存器(Hardware Debug Registers) 科学方法 提要 第13章 进程之间的通讯(Interprocess Communication) 以消息队列权充数据转运中心 使用共享内存(Shared Memory) 使用指针指向共享内存(Shared Memory) 较高层次的进程通讯(IPC) 提要 第14章 建造DLLs DLL的通告消息(Notifications) 通告消息(Notifications)的问题 DLL进入点的依序执行(Serialization)特性 MFC中的DLL通告消息(Notifications) 喂食给Worker线程 线程局部存储(Thread Local Storage,TLS) _declspec(thread) 数据一致性 提要 第三篇 真实世界中的多线程应用程序 第15章 规划一个应用程序 多线程的理由 要线程还是要进程? 多线程程序的架构 评估既有程序代码的适用性 对ODBC做规划 第三方的函数库(Third-Party Libraries) 提要 第16章 ISAPI Web服务器及其工作原理 ISAPI IS2ODBC范例程序 提要 第17章 OLE,ActiveX,COM COM的线程模型(COM Threading Models) AUTOINCR范例程序 提要 附录A MTVERIFY宏 附录B 更多的信息

2012-04-19

iconv windows版本 移植 库

如果需要将Linux版本中用到iconv函数的程序移植到windows上,那么使用这个库是最方便。几乎不用更改代码,只取简单地配置一下即可编译运行。 包含dll, lib, demo程序。

2012-03-22

操作系统原理 技术与编程 (Linux) part1.pdf

花7块钱在TB上买的,共502页,扫描版。 清晰度高,故文件较大。分2次上传。 --------------------------------- 基本信息 书名:操作系统原理·技术与编程(含光盘) 出版社:机械工业出版社 出版日期:2004-1-1 原价:42.00元 作者:蒋静 徐志伟 编著 ISBN:9787111131601 页码:502 版次:1版1次

2012-03-20

操作系统原理 技术与编程 (Linux) part2.pdf

花7块钱在TB上买的,共502页,扫描版。 清晰度高,故文件较大。分2次上传。 Part1地址: http://download.csdn.net/detail/booksyhay/4158241 --------------------------------- 基本信息 书名:操作系统原理·技术与编程(含光盘) 出版社:机械工业出版社 出版日期:2004-1-1 原价:42.00元 作者:蒋静 徐志伟 编著 ISBN:9787111131601 页码:502 版次:1版1次

2012-03-20

linux程序设计(第三版英文版).pdf

Beginning Linux®Programming Third Edition Neil Matthew & Richard Stones

2012-03-14

求一个截屏程序,最好有源代码

发表于 2011-07-14 最后回复 2011-09-19

空空如也

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

TA关注的人 TA的粉丝

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