- 博客(20)
- 资源 (15)
- 问答 (12)
- 收藏
- 关注
转载 用KEIL编写C语言代码,编译过后会出现形如:Program Size: data=13.0 xdata=0 code=417
用KEIL编写C语言代码,编译过后会出现形如:Program Size: data=13.0 xdata=0 code=417data表示你使用的内部RAM,也就是地址在0~255之间的,用mov命令访问的RAM;xdata表示你使用的外部RAM,也就是需要用汇编movx才能访问的RAM,注意,很多扩展了RAM的51芯片,例如STC,华邦出品的51,虽然从使用者角度觉得是芯片自带的RAM,但实
2013-06-28 10:37:30 13666
转载 strcpy和memcpy的区别
strcpy和memcpy的区别strcpy和memcpy都是标准C库函数,它们有下面的特点。strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。已知strcpy函数的原型是:char* strcpy(char* dest, const char* src);memcpy提供了一般内存的复制。即memcpy对
2013-06-28 10:29:56 489
原创 KEIL 里曾经遗忘的东西
1 当不选择芯片型号的话,默认使用空间最小的芯片,Flash RAM EEPROM 最小等2 从左到右依次是编译 、编译链接 重新编译链接有些错误在这三个步骤中各有不同的显示,所以编译链接的时候需要按顺序注意三者的区别:在设置好工程后,即可进行编译、连接。选择菜单Project->Build target,对当前工程进行连接,如果当前文件已修改,软件会先对
2013-06-28 10:13:14 634
转载 keilc51中如何看堆栈的分配情况
Keil C是非常优秀的C51编译器,可能是最好的C51编译器,提供各种优化模式,对变量的优化和地址安排做得非常好。这是用C语言写代码的好处之一,如果用汇编写,得费一大番功夫给各个变量安排内存物理地址,还得时刻记住哪些地址的内存单元是已经分配了,新增加的变量就不能占用那些已经分配了的单元,以免产生内存交叠冲突和溢出。我一直非常信赖Keil C51的编译结果,在我的印象里,它对内存的分配是完美的,只
2013-06-28 10:10:12 5904
转载 'asm/endasm' requires src-control to be active 解决方案
'asm/endasm' requires src-control to be active 解决方案右击中该文件----option for file" XXXXX .C "------将 Generate Assembler SRC File 与 Assemble SRC File 的勾选由灰色变为黑色,即使这两项有效! 重新编译既可。
2013-06-28 10:06:03 3535
转载 变量声明和定义的区别
变量声明和定义的区别我们在程序设计中,时时刻刻都用到变量的定义和变量的声明,可有些时候我们对这个概念不是很清楚,知道它是怎么用,但却不知是怎么一会事,下面我就简单的把他们的区别介绍如下:(望我的指点对你受益)变量的声明有两种情况:1、一种是需要建立存储空间的。例如:int a 在声明的时候就已经建立了存储空间。2、另一种是不需要建立存储空间的。 例如:extern int a 其中
2013-06-28 09:50:44 542
原创 REFERENCE MADE TO UNRESOLVED EXTERNAL.
REFERENCE MADE TO UNRESOLVED EXTERNAL. 原因使用了一个未定义的外部变量.(经常是在当前文件中声明了 extern xxx , 但其实在其它的文件中没有定义这个变量)
2013-06-28 09:48:10 17205
转载 ***WARNING L15: MULTIPLE CALL TO SEGMENT错误信息的处理
***WARNING L15: MULTIPLE CALL TO SEGMENT错误信息的处理1.错误信息***WARNING L15: MULTIPLE CALL TO SEGMENTSEGMENT: ?PR?_WRITE_GMVLX1_REG?D_GMVLX1CALLER1: ?PR?VSYNC_INTERRUPT?MAINCALLER2: ?C_C51STA
2013-06-28 09:46:49 3504
转载 extern与头文件(*.h)的区别和联系
用#include可以包含其他头文件中变量、函数的声明,为什么还要extern关键字? 如果我想引用一个全局变量或函数a,我只要直接在源文件中包含#include (xxx.h包含了a的声明)不就可以了么,为什么还要用extern呢?? 这个问题一直也是似是而非的困扰着我许久,经过实践和查找资料,有如下总结:一、头文件 首先说下头文件,其实头
2013-06-28 09:45:00 721
转载 C语言 itoa函数及atoi函数
itoa函数及atoi函数 2007-05-11 13:52 C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。以下是用itoa()函数将整数转 换为字符串的一个例子: # include # include void main (void) { int num = 100; char str[25];
2013-06-27 13:08:08 2986
转载 Ubuntu 12.10设置root用户登录图形界面
Ubuntu默认是关闭root账户,但是可以通过sudo来提升权限,这种做法也是比较安全的做法。在 Ubuntu 12.04 root用户登录设置 http://www.linuxidc.com/Linux/2012-05/60806.htm 中介绍过在Ubuntu 12.04中使用root登录。 在Ubuntu 12.10中使用root进行登录方法类似。 先设定一个root的密码
2013-06-27 08:14:12 664
转载 ubuntu11.04安装arm-linux-gcc4.4.3
1.建立目录$ sudo mkdir /usr/local/arm2.复制文件文件arm-linux-gcc-4.4.3.tar.gz,放在Desktop进入Desktop$ cd ~/Desktop复制$ sudo cp arm-linux-gcc-4.4.3.tar.gz /usr/local/arm3.解压文件进入目录
2013-06-26 18:45:15 617
转载 Ubuntu11.10下安装VMwareTools步骤
单击VM,在弹出的对话框中选择Install VMware Tools 选项在Ubuntu11.10中会出现如下界面:把VMwareTools-8.4.8-491717.tar.gz复制到桌面(可以鼠标左键复制粘贴)打开终端输入sudo su 命令,之后输入密码获取root权限输入 cp VMwareTools-8.4.8-491717.tar.
2013-06-26 18:20:18 646
转载 怎么设置KEIL的编译模式
“Keil Cx51编译器提供三条编译模式控制命令:SMALL,COMPACT,LARGE,它们对变量存储器空间的影响如下。SMALL:所有变量都被定义在8051单片机的片内RAM中,对这种变量的访问速度最快。另外,堆栈也必须位于片内RAM中,而堆栈的长度是很重要的,实际栈长取决与不同函数的嵌套深度。采用SMALL编译模式与定义变量时指定data存储器类型具有相同效果。COMPACT:
2013-06-15 19:28:28 3809 1
转载 Keil中,各种存储模式的区别
1、存储类型data:直接访问内部数据存储器(128字节片内RAM),访问速度最快。bdata:可位寻址内部数据存储器(16字节片内RAM),允许位于字节混合访问。idata:间接访问内部数据存储器(256字节片内RAM),允许访问全部内部地址。pdata:分页访问外部数据存储器(256字节片外RAM),用"MOVX @Ri"指令访问。xdata:外部数据存
2013-06-11 17:53:10 2070
转载 恢复和删除桌面快捷方式图标箭头
方法一:注册表删除和恢复 一、删除方法 1.运行注册表编辑器(regedit),打开hkey_classes_root\lnkfile分支。 2.在lnkfile子键下面找到一个名为“isshortcut”的键值,它表示在桌面的.lnk快捷方式图标上将出现一个小箭头。右键单击“isshortcut”,然后从弹出的菜单中选择“删除”,将该键值删除。
2013-06-08 21:38:29 2151
转载 链表操作程序(完整)C语言
#include#include#include/*定义结构体*/struct student{int num;float score;struct student *next;};/*创建一个只有头结点的空链表*/struct student *create_head(){struct student *head;head=(str
2013-06-05 16:38:08 2122
转载 extern与头文件(*.h)的区别和联系
原文网址为:http://lpy999.blog.163.com/blog/static/117372061201182051413310/用#include可以包含其他头文件中变量、函数的声明,为什么还要extern关键字? 如果我想引用一个全局变量或函数a,我只要直接在源文件中包含#include (xxx.h包含了a的声明)不就可以了么,为什么还要用extern
2013-06-04 13:19:15 627
转载 keil中关于使用_at_绝对地址定位问题
在网上看到有人提到在keil中使用_at_进行绝对地址定位问题,我简单介绍一下它的用法。 使用_at_关键字对存储器进行绝对地址定位程序如下#i ncludechar xdata LED_Data[50] _at_ 0x8000;main(){ LED_Data[0] = 0x23;}在keil中运行以上程序可以在存储器窗口中输入 x:0x8000 可以看到0x
2013-06-04 11:32:38 1645
转载 AT89C51ED2 的EEPROM 读写操作总结
今天因为要用到ED2的EEPROM,写点东西总结一下,以防日后忘了。先引用网上有朋友问到的一个问题。////////哪位高手用过AT89C51ED EEPROM 保存数据下面程序写数据到EEPROM:#define EEPROM_VC_ADD 0X0100 adr = EEPROM_VC_ADD;// ACC =
2013-06-04 11:13:57 1271
IMX6ULL + SPI LCD MSP2402(驱动IC ILI9341)显示简单的QT界面
2022-11-24
基于Linux嵌入式下如何实现 外部脉冲统计
2023-02-22
Linux 驱动24C02 EEPROM的问题,
2023-02-17
通过Yocto 编译 uboot和kernel, 编译时间不改变
2022-11-17
IMX8QXP SN65DSI84 双路LVDS输出
2022-11-13
QML 做的界面,子界面启动慢怎么解决
2022-05-08
QML 动态修改SVG图片颜色
2022-04-28
QML 如何修改SVG 图片边框颜色
2022-04-28
QML 如何修改SVG 的局部的颜色
2022-04-27
QML 的ListView 有办法修改滑动的速度吗?
2022-04-21
QML 里SwipeView如何修改灵敏度
2022-04-19
LVGL 无法 同时使用触摸屏和物理按键,求解
2021-08-19
Ubuntu 编译MiniGUI遇到的问题,求解
2021-07-29
QML 中如何更新Model的数据
2021-02-28
Uboot 下如何判断是否有U盘插入
2021-02-08
移植QT到ARM上的问题
2021-01-29
使用FIO测试SSD的疑问
2016-09-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人