单片机
subkiller
这个作者很懒,什么都没留下…
展开
-
单片机指针类型和存储区的关系详解
一、存储类型与存储区关系 data ---> 可寻址片内ram bdata ---> 可位寻址的片内ram idata ---> 可寻址片内ram,允许访问全部内部ram pdata ---> 分页寻址片外ram (MOVX @R0) (256 BYTE/页) xdata ---> 可寻址片外ram (64k 地址范围) code ---> 程序存储区 (64k 地址范围),对应M转载 2008-11-13 17:38:00 · 3236 阅读 · 3 评论 -
STM8S: the device is protect
在用STVP下载程序的时候提示:the device is protected!解决办法:在STVP中间区域下方有三个标签,选择OPTION BYTE;对应ROP选项,选择Read Out Protection OFF;在菜单栏点击program选项,选择current tab。重新烧录,ok了原创 2013-01-30 16:00:05 · 9837 阅读 · 3 评论 -
开漏输出和推挽输出
1. 推挽输出与开漏输出的区别:推挽输出:可以输出高,低电平,连接数字器件开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).2. 开漏电路特点 在电路设计时我们常常遇到开漏(open drain)和开集(open collector)的概念。所谓开漏电路概念中提到的“漏”就原创 2013-01-09 16:08:12 · 1549 阅读 · 0 评论 -
时钟周期、机器周期和指令周期
时钟周期: 时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时间周期就是1/12 us),是计算机中最基本的、最小的时间单位。 在一个时钟周期内,CPU仅完成一个最基本的动作。对于某种单片机,若采用了1MHZ的时钟频率,则时钟周期为1us;若采用4MHZ的时钟频率,则时钟周期为250us。由于时钟脉冲转载 2011-04-12 16:36:00 · 1247 阅读 · 0 评论 -
ISP和IAP的区别
ISP:in system programmingIAP:in applicatin programming 但两者的操作方式,结果和应用场合有什么区别 什么是ISP: 用写入器将code烧入,不过,芯片可以在目标板上,不用取出来,在设计目标板的时候就将接口设计在上面,所以叫"在系统编程",即不用脱离系统; 什么是IAP: 在应用编程,有芯片本身(或通过外围的芯转载 2012-05-31 10:02:52 · 976 阅读 · 0 评论 -
problem with makefsfile
使用TI makefsfile程序生成文件时,总是不能显示正常的网页。在网上查找到原因。原来是makefsfile参数设置不对,应该使用以下形式: makefsfile -i fs -o io_fsdata.h -r -h Just to give you some background, without the "-h" option, makefsfile doe原创 2012-04-17 16:58:03 · 1257 阅读 · 0 评论 -
keil 下连接错误 Error: L6220E
在keil4下编译程序,提示以下错误:linking....\rvmdk\xxx.axf: Error: L6220E: Load region LR_IROM size (94576 bytes) exceeds limit (92160 bytes)..\rvmdk\xxx.axf: Error: L6220E: Execution region ER_IROM size (942原创 2012-04-17 15:13:43 · 12505 阅读 · 0 评论 -
语言编程需要注意的64位和32机器的区别
一、数据类型特别是int相关的类型在不同位数机器的平台下长度不同。C99标准并不规定具体数据类型的长度大小,只规定级别。作下比较:16位平台char 1个字节8位short 2个字节16位int 2个字节16位long 4个字节32位指针 2个字节32位平台char转载 2011-12-15 15:12:28 · 637 阅读 · 0 评论 -
如何使用CnComm开发串口通信程序
<br />CnComm是由程序员llbird开发的C++串口通讯类,功能丰富实用。类的声明和实现都被定义在一个头文件中,使用方法简单,特别是对接收数据处理只要重载虚函数OnReceive即可,下面给出CnComm使用的简单步骤。<br />1.新建Visual C++工程,加入头文件CnComm.h。<br />2.以CnComm为基类建立新类CCom,并重载虚函数OnReceive。<br />3.包含头文件Com.h,定义串口对象CCom NewCom;。<br />4.打开串口NewCom.Open转载 2010-12-18 12:03:00 · 10388 阅读 · 0 评论 -
深入浅出VC++串口编程之基于Win32 API
<br />1、API描述<br /><br /> 在WIN32 API中,串口使用文件方式进行访问,其操作的API基本上与文件操作的API一致。<br /><br /> 打开串口<br /><br /> Win32 中用于打开串口的API 函数为CreateFile,其原型为:<br />HANDLE CreateFile (<br /> LPCTSTR lpFileName, //将要打开的串口逻辑名,如COM1 或COM2<br /> DWORD dwAccess, //指定串口访问的类型,可以原创 2010-12-18 11:59:00 · 1321 阅读 · 0 评论 -
深入浅出VC++串口编程之基于控件
深入浅出VC++串口编程之基于控件源代码下载<br />MSComm控件<br /><br /> Visual C++为我们提供了一种好用的ActiveX控件Microsoft Communications Control(即MSComm)来支持应用程序对串口的访问,在应用程序中插入MSComm控件后就可以较为方便地实现对通过计算机串口收发数据。<br /><br /> 要使用ActiveX控件MSComm,程序员必须将其添加入工程,其方法是:<br /><br /> (1)单击主菜单project的原创 2010-12-18 12:00:00 · 1101 阅读 · 0 评论 -
深入浅出VC++串口编程之第三方类
深入浅出VC++串口编程之第三方类源代码下载 <br /> 串口类<br /><br /> 从本系列文章连载三、四可以看出,与通过WIN32 API进行串口访问相比,通过MScomm这个Activex控件进行串口访问要来的方便许多,它基本上可以向用户屏蔽多线程的细节,以事件(发出OnComm消息)方式实现串口的异步访问。<br /><br /> 尽管如此,MScomm控件的使用仍有诸多不便,譬如其发送和接收数据都要进行VARIANT类型对象与字符串的转化等。因此,国内外许多优秀的程序员自己编写了一些原创 2010-12-18 12:02:00 · 1910 阅读 · 0 评论 -
深入浅出VC++串口编程之DOS的串口编程
<br />在DOS平台下,操作串口主要有下列方式:通过BIOS调用、通过串口的硬件中断或通过对串口硬件进行轮询,本章将对以上三种方式进行具体的介绍并给出例子。<br /><br /> 1.BIOS中断<br /><br /> 在DOS操作系统下,IBM PC及其兼容机提供了一种灵活的串口I/O访问方法,即通过INT 14H调用ROM BIOS串行通讯例行程序。当设置AH为不同的值时,产生不同的功能:<br /><br /> AH 0 初始化端口<br /> AH 1 向串口写字符<br /> A原创 2010-12-18 11:57:00 · 848 阅读 · 0 评论 -
深入浅出VC++串口编程之基本概念
<br />引言<br /><br /> 在PC机的主板上,有一种类型的接口可能为我们所忽视,那就是RS-232C串行接口,在微软的Windows系统中称其为COM。我们可以通过设备管理器来查看COM的硬件参数设置,如图1。<br /><br />图1 在Windows上查看PC串口设置<br /><br /> 迄今为止,几乎每一台PC都包含COM。本质而言,COM是PC为和外界通信所提供的一种串行数据传输的接口。作为一种物理通信的途径和设备,它和目前风靡的另一种串行接口――USB所提供的功能是一致的。原创 2010-12-18 11:55:00 · 944 阅读 · 0 评论 -
bit 和sbit的区别
bit和sbit都是C51扩展的变量类型。 bit和int char之类的差不多,只不过char=8位, bit=1位而已。都是变量,编译器在编译过程中分配地址。除非你指定,否则这个地址是随机的。这个地址是整个可寻址空间,RAM+FLASH+扩展空间。bit只有0和1两种值,意义有点像Windows下VC中的BOOL。 sbit是对应可位寻址空间的一个位,可位寻址区:20H~2FH。一旦用原创 2008-11-14 23:38:00 · 2546 阅读 · 0 评论 -
STM8S:Debug调试正常,烧录程序运行不正常
最近有一个项目需要用到STM8S103F3单片机。在开始之前以为会很容易,可是实际操作起来,却遇到不少问题 。其中最令我感到困惑的一个问题是:我在调试程序的时候程序可以运行正常,但当我把程序烧录进去断电重启后却运行不正常。试了很多方法,都没有找到问题所在。最后,我把Start-up file 选择默认的就可以。之前不知道在哪里看到过可以不使用系统的默认启动文件,可以直接在stm8_interr原创 2013-02-18 10:17:33 · 14606 阅读 · 4 评论