摘要:
STM32用定时器精确延时的方法(非SysTick) 用TIM2来做延时,延时基准时间1ms,最大可延时65535ms。系统基础频率是8MHz*4=32MHz。先配置定时器: TIM_TimeBaseInitTypeDef timInitStruct; timInitStruct.TIM_ClockDivision = TIM_CKD_DIV1; // 定时器基准频率32MHz timInitStruct.TIM_Prescaler = 32000; // 计数频率为1KHz timInitStruct.TIM_CounterMode = TIM_CounterMode_Up; // 向上计数 阅读全文
摘要:
IAR 430 头文件中#define定义的部分解释今天在阅读RF_Example_Code_v1.0中头文件cc430x613x.h时发现了几部分的疑问。首先来看一下cc430x613x.h 中的3个#define的例子:#define DEFC(name, address) __no_init volatile unsigned char name @ address;#define DEFW(name, address) __no_init volatile unsigned short name @ address;#define DEFCW(name, address) __no_i 阅读全文
摘要:
钳位电路 (1)功能:将输入信号上移或下移,而并不改变输入信号的波形。 (2)基本元件:二极管D、电容器C及电阻器R(直流电池VR)。 (3)类别:负钳位器与正钳位器。 (4)注意事项 ?D均假设为理想,RC的时间常数也足够大,不致使输出波形失真。 ?任何交流信号都可以产生钳位作用。一.负钳位器 (1)简单型 工作原理 ?Vi正半周时,DON,C充电至V值,Vo=0V。 ?Vi负半周时,DOFF,Vo=-2V。 (2)加偏压型 工作原理 ?Vi正半周时,二极管DON,C被充电至V值(左正、右负),Vo=+V1(a)图或-V1(b)图。 ?Vi负半周时,二极管DOFF,RC时间常数足够大,Vo 阅读全文
摘要:
浮点数到整数的快速转换 /******************************************************/这是一个老外的个人网站,在网页上填入十进制的浮点数之后会给你一个单精度或者双精度的16进制表示。http://babbage.cs.qc.edu/IEEE-754/Decimal.html/******************************************************/下面的附件是一个VI,说明了LabVIEW如果以二进制的格式在内存中存储单精度(SGL)的浮点数。32位的二进制数是基于下列的IEEE 754格式的:1位符号位(S 阅读全文
摘要:
源码下载:http://www.tracefact.net/SourceCode/Network-Part5.rarC#网络编程(接收文件) - Part.5这篇文章将完成Part.4中剩余的部分,它们本来是一篇完整的文章,但是因为上一篇比较长,合并起来页数太多,浏览起来可能会比较不方便,我就将它拆为两篇了,本文便是它的后半部分。我们继续进行上一篇没有完成的步骤:客户端接收来自服务端的文件。4.客户端接收文件4.1服务端的实现对于服务端,我们只需要实现上一章遗留的sendFile()方法就可以了,它起初在handleProtocol中是注释掉的。另外,由于创建连接、获取流等操作与receive 阅读全文
摘要:
源码下载:http://www.tracefact.net/SourceCode/Network-Part4.rarC#网络编程(订立协议和发送文件) - Part.4文件传输前面两篇文章所使用的范例都是传输字符串,有的时候我们可能会想在服务端和客户端之间传递文件。比如,考虑这样一种情况,假如客户端显示了一个菜单,当我们输入S1、S2或S3(S为Send缩写)时,分别向服务端发送文件Client01.jpg、Client02.jpg、Client03.jpg;当我们输入R1、R2或R3时(R为Receive缩写),则分别从服务端接收文件Server01.jpg、Server02.jpg、Ser 阅读全文
摘要:
C#网络编程(异步传输字符串) - Part.3源码下载:http://www.tracefact.net/SourceCode/Network-Part3.rar这篇文章我们将前进一大步,使用异步的方式来对服务端编程,以使它成为一个真正意义上的服务器:可以为多个客户端的多次请求服务。但是开始之前,我们需要解决上一节中遗留的一个问题。消息发送时的问题这个问题就是:客户端分两次向流中写入数据(比如字符串)时,我们主观上将这两次写入视为两次请求;然而服务端有可能将这两次合起来视为一条请求,这在两个请求间隔时间比较短的情况下尤其如此。同样,也有可能客户端发出一条请求,但是服务端将其视为两条请求处理。 阅读全文
摘要:
服务端客户端通信在与服务端的连接建立以后,我们就可以通过此连接来发送和接收数据。端口与端口之间以流(Stream)的形式传输数据,因为几乎任何对象都可以保存到流中,所以实际上可以在客户端与服务端之间传输任何类型的数据。对客户端来说,往流中写入数据,即为向服务器传送数据;从流中读取数据,即为从服务端接收数据。对服务端来说,往流中写入数据,即为向客户端发送数据;从流中读取数据,即为从客户端接收数据。同步传输字符串我们现在考虑这样一个任务:客户端打印一串字符串,然后发往服务端,服务端先输出它,然后将它改为大写,再回发到客户端,客户端接收到以后,最后再次打印一遍它。我们将它分为两部分:1、客户端发送, 阅读全文
摘要:
源码下载:http://www.tracefact.net/SourceCode/Network-Part1-2.rarC#网络编程(基本概念和操作) - Part.1引言C#网络编程系列文章计划简单地讲述网络编程方面的基础知识,由于本人在这方面功力有限,所以只能提供一些初步的入门知识,希望能对刚开始学习的朋友提供一些帮助。如果想要更加深入的内容,可以参考相关书籍。本文是该系列第一篇,主要讲述了基于套接字(Socket)进行网络编程的基本概念,其中包括TCP协议、套接字、聊天程序的三种开发模式,以及两个基本操作:侦听端口、连接远程服务端;第二篇讲述了一个简单的范例:从客户端传输字符串到服务端, 阅读全文
摘要:
随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起。这里介绍学习Linux的一些建议。 一、从基础开始:常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的。例如:为什么我使用一个命令的时候,系统告诉我找不到该目录,我要如何限制使用者的权限等问题,这些问题其实都不是很难的,只要了解了 Linux 的基础之后,应该就可以很轻易的解决掉这方面的问题。而有些朋友们常常一接触Linux 就是希望构架网站,根本没有想到要先了解一下Linux 的基础。这是相当困难的。 二、Linux命令是必须学习虽然Linu 阅读全文
摘要:
#include REGX52.H#define uchar unsigned char#define uint8 unsigned char#define uint unsigned int#define ulong unsigned long// 累加器带进位右移指令 RRC A #define _rrca_() CY = ACC & 0x01 //汇编代码 rrc a// 累加器带进位左移指令 RLC A #define _rlca_() CY = ACC & 0x80//汇编代码 rlc asbit c_SPI_SI = P1^5;sbit c_SPI_SO = P1^6;sbit 阅读全文
摘要:
通常,在C#中实现串口通信,我们有四种方法:第一:通过MSCOMM控件这是最简单的,最方便的方法。可功能上很难做到控制自如,同时这个控件并不是系统本身所带,所以还得注册。可以访问 http://www.devhood.com/tutorials/tutorial_details.aspx?tutorial_id=320 一个外国人写的教程 第二:微软在.NET新推出了一个串口控件,基于.NET的P/Invoke调用方法实现,详细的可以访问微软网站 Serial Comm Use P/Invoke to Develop a .NET Base Class Library for Serial D 阅读全文