-
keil中常见的几种警告,固然,相对于错误的,警告的程度不及错误的严重性,有时候忽略,会出现意想不到的错误。先看看常见的几种错误,分析出来现的原因。1. Warnin...
-
本文讲述了将ANSIC程序移植到KeilC51上应该注意的事项。文章讲述了存储类型、指针类型、重入函数、根据目标系统RAM的分布的段定位和仿真栈设置、函数指针、NULL指针问题、字...
-
用惯了IAR觉着它真的灰常强大(虽然UI界面有点简单,没有Keil和Eclipse做的那么炫),随着使用的时间越来越长,不断有新的技巧和功能被发掘,第一是不断给俺带来惊喜,第二是成...
-
今天将Keil MDK升级到了V4.54,使用J-link下载程序,发现MDK自带的Jlink驱动已经更新到V4.5版本,然后MDK提示有J-Link新固件,这之前也遇到过这类提示...
-
折腾了大半天,才搞明白一个空操作的指令
先在网上查有的说是__asm{"NOP"},从intrins.h里调用,可犄角旮旯全找了,也没看到什么intrint.h的文件...
-
putchar.c里面,是先检测TI再发送。
这样做的目的是把尽可能多的时间留给2次串口操作之间的程序,而不是把等待字节发送的时间白白空等待浪费掉。
...
-
定位变量到指定的位置
使用定义在头文件 absacc.h中的 __at宏,可以将变量以如下方式定位到绝对地址处:
C 例子:
#include <absacc.h>...
-
Keil MDK自带了一个FCARM工具,用于将一个web服务器所需的网页文件(html、图片等)转成一个数据包,这样可以省去文件系统。也可以用于在代码里嵌入一些二进制文件,如图片...
-
头文件含义
avr_macros.h里面包含了读写16位寄存器的简化书写,和几个位操作函数
comp_a90.h对大量的内在函数做了简要书写
ina90.h包...
-
1. GNUgcc交叉编译器
运行于Linux操作系统下的自由软件GNUgcc编译器,不仅可以编译Linux操作系统下运行的应用程序、编译Linux本身,还可以作...
-
周五查看一段代码,
发现里边有一个计算式写作:
p = 1 << (num % 8 -1);//修正见注2。
这里边num,p都是无符号字符型,
...
-
为了节省内存占用量,多个调用函数的参数都是指针地址,并添加了空指针判断,结果在调用PID函数后,我对输出结果进行判定是否为空,若为空则返回,代码如下:
...
-
在C/C++中经常需要进行存储器的操作,关于数据如何在存储器中存储的问题也是非常重要的,如何在保证数据量(信息量)的同时又保证数据的存储量最小,乍一听感觉没什么好讨论的。但是作为学...
-
文章关于链表,本次主要涉及几个比较深入的问题:循环链表的判定、倒数第m个节点的数据获取、多层次链表的设计、平铺和取消平铺。
/*...
-
现象:
芯片驱动正常,功能应用单独实现也没有任何问题。但是将其移植到主程序中出现了时钟显示停止、触屏失效、参数显示出现问题的现象。原因:
在芯片驱动程序的开发中,...
-
最近,在写程序的时候,碰到一个在自己看来非常不可思议的问题。当然,或者高手就觉得大惊少怪了,呵呵。
以下是问题相关:
平台:MEGA64;
编译环境:codeVi...
-
一:C语言程序的存储区域 由C语言代码(文本文件)形成可执行程序(二进制文件),需要经过编译-汇编-连接三个阶段。编译过程把C语言文本文件生成汇编程序,汇编过程把汇...
-
在C++中复制控制是一个比较重要的话题,主要包括复制构造函数、重载赋值操作符、析构函数这三部分,这三个函数是一致的,如果需要手动定义了其中了一个,那么另外的两个也需要定义,通常在存...
-
C++中函数的参数相比C语言中的函数参数要复杂的多,其中主要的原因是C++中引入了引用以及const限定符。这两个对象的引入,使得C++中的函数参数变得异常的复杂多变,每一种类型都...
-
#define abc (*(volatile unsigned long *)0xE0200280)
开始对于上面的语法不太理解,但通过拆分,我们可以看的更明...