C51
文章平均质量分 60
icodec
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C51指针定义
指针变量定义与一般变量的定义类似,其形式如下:数据类型 [存储器类型1] * [存储器类型2] 标识符;[存储器类型1] 表示被定义为基于存储器的指针,无此选项时,被定义为一般指针。这两种指针的区别在于它们的存储字节不同。一般指针在内存中占用三个字节,第一个字节存放该指针存储器类型的编码(由编译时由编译模式的默认值确定),第二和第三字节分别存放该指针的高位和低位地址偏移量。转载 2012-09-21 14:24:40 · 1250 阅读 · 0 评论 -
uC/OS II Extend Test
花了几天时间,陆陆续续把书看完了。感觉也找到了。晚上的时候做了一个扩展测试。修改的代码EX1,主要增加的测试有:1、单独创建一个task,用于semaphore测试2、创建一个task,用于mailbox测试3、创建一个task,用于queue测试4、创建memory机制增加了exttest.c和exttesth,修改了os_cfg.h文原创 2012-11-21 00:54:05 · 632 阅读 · 0 评论 -
µC/OS-II License
μC/OS-II不是免费的,虽然开源,但不意味着可以免费试用。要么买书送代码供自己研究,要么购买license版权。μC/OS-IIIYou can evaluate Micrium μC/OS source code for 45 days free of charge. You are required to purchase a license for use in原创 2012-11-21 00:54:00 · 940 阅读 · 0 评论 -
C51中断
1、C51共5个中断。两个外部中断,2个时钟/计数器中断;一个串口中断。2、优先级共2个。1和0. 自然优先级顺序为,外部0 > T0 > 外部1 > T2 > 串口3、需要配置的寄存器:IE: 中断允许寄存器IP: 优先级寄存器TCON: 中断控制寄存器。高低触发;计数开始停止;是否申请中断(除serial)SCON: serial (RS232) 串口寄存器4、扩展原创 2012-11-21 00:53:21 · 1184 阅读 · 1 评论 -
C51单片机学习记录
存储类型:data: 片内直接寻址,内部RAM,128 bytes, 8bit,0-125;【直接访问,速度最快】idata: 片内间接寻址,内部RAM,256 bytes, 8bit, 0-256;【允许访问全部内部地址】pdata: 分页寻址,片外RAM, 256 bytes, 8bit, 0-256;【 movx @Ri 访问】xdata: 片外数据存贮,64K,16原创 2012-11-21 00:53:15 · 711 阅读 · 0 评论 -
Keil C51 中的函数指针使用注意事项
当出现循环调用,中断和普通函数都调用某个函数的时候:1. 使用OVERLAY指令解决函数指针可能出现调用树错误。添加.lin文件,编辑文件OVERLAY(?PR?FUN1?MAIN~ ?PR?FUN1?MAIN)也可以在编译器IDE界面添加,BL51 Misc选项页2. 函数指针用code关键字定义3.使用reentrant关键字定义原创 2012-11-21 00:47:41 · 923 阅读 · 0 评论 -
8051接口定义
MCS-51是标准的40引脚双列直插式集成电路芯片,引脚分布:P0.0~P0.7 P0口8位双向口线(在引脚的39~32号端子)。P1.0~P1.7 P1口8位双向口线(在引脚的1~8号端子)。P2.0~P2.7 P2口8位双向口线(在引脚的21~28号端子)。l P3.0~P3.7 P3口8位双向口线(在引脚的10~17号端子)。 P0口有三个功能1、外部扩展存原创 2012-11-21 00:53:28 · 1657 阅读 · 0 评论 -
C51 Parameters and Registers
Parameters and RegistersC51参数传递规则。The Cx51 Compiler passes up to three function arguments in MCU registers. This mechanism significantly improves system performance as arguments are not writte转载 2012-09-21 14:25:18 · 453 阅读 · 1 评论 -
C51指针转换
指针转换的时候,出了问题,愿意是想传一个8位的值,通过函数修改后再传回来。函数的参数是16位的。结果却是8位的值取了16位的高字节。编译器使用的Keil。于是写了一个例子(large mode, small mode同样):#include typedef unsigned char INT8U;typedef unsigned int INT16U;INT原创 2012-09-21 14:24:01 · 720 阅读 · 0 评论 -
C51 pointers
PointersThe Cx51 Compiler supports the declaration of variable pointers using the * character. The Cx51 Compiler pointers may be used to perform all operations available in standard C. However,原创 2012-09-21 14:23:34 · 382 阅读 · 0 评论 -
C51: CALCULATING STACK SIZE
C51: CALCULATING STACK SIZEQUESTIONHow can I determine the maximum stack size of my program?ANSWERThere is no automatic way the tools can tell you the maximum stack depth or st转载 2012-09-21 14:23:04 · 536 阅读 · 0 评论 -
一个无符号型引起的死循环
加了一个函数,系统就死掉了,但是没有复位。查了半天,才发现是无符号型引起的死循环。unsigned char i = 0;for(i=9; i>=0; i–){// do something.}当i=0时,i–,就变成了0xFF了。还好平时不写>=0。 Posted by ian at 06:33原创 2012-09-21 14:22:16 · 584 阅读 · 0 评论 -
Keil C51 中的函数指针使用注意事项
当出现循环调用,中断和普通函数都调用某个函数的时候:1. 使用OVERLAY指令解决函数指针可能出现调用树错误。添加.lin文件,编辑文件OVERLAY(?PR?FUN1?MAIN~ ?PR?FUN1?MAIN)也可以在编译器IDE界面添加,BL51 Misc选项页2. 函数指针用code关键字定义3.使用reentrant关键字定义函数reentrant使用的原创 2012-09-21 14:21:27 · 1972 阅读 · 0 评论 -
C51 printf format string
Type Argument TypeInput Formatd int Signed decimal number.u unsigned intUnsigned decimal number.o unsigned intUnsigned octal number.x unsigned intUnsigned hexadecimal number using “012原创 2012-09-21 14:15:16 · 561 阅读 · 0 评论 -
C51: CHECKING FOR STACK UNDERFLOW AT RUNTIME
C51: CHECKING FOR STACK UNDERFLOW AT RUNTIMEInformation in this article applies to:C51 All VersionsQUESTIONI want to test the stack pointer (SP) in the main loop of my program转载 2012-09-21 14:25:46 · 524 阅读 · 0 评论
分享