关闭

考考你的C语言

**问题1:**int main(void) { int x=3; fun(); printf("%d",x); }void fun(void) {}实现fun(),是main函数中的打印结果不是3!**问题2**int main(void) { int x=3; fun(); x = 4; printf("%d",x); }void fu...
阅读(475) 评论(3)

LWIP定时器

在操作系统层TCP/IP 协议中很多时候都要用到定时,定时器的实现是 TCP/IP 协议栈中一个重要部分。LWIP 为每个与外界网络连接的任务都有设定了 timeout 属性,即等待超时时间。在具体实现上,每个任务都对应一个 sys_timeout 结构体,里面包括这个任务的 timeout 时间长度,以及超时后应调用的超时处理函数——该函数主要负责释放连接和资源回收。如若某一个任务的 sys_ti...
阅读(1496) 评论(0)

IAR将变量定义在指定地址

1、将变量定义在指定地址 IAR中通过操作符@或者#pragma location指令来把全局变量和静态变量放到绝对地址上。 在此操作中,尤其注意的是要满足地址对齐。同时,所有变量必须声明为__no_init。   对于__no_init声明的变量是tentative definition(尝试性定义)。对于这类变量可以在用到它的所有模块中都可以定义。推荐的方式是在该变量定义在头文件中,那个...
阅读(2555) 评论(0)

启动代码中关于变量的初始化

对于一个标准C程序所用到的全局和静态变量都是定位在固定的内存空间,在程序启动时必须赋予确定的数值,对于程序中没有赋初值的变量,编译器默认赋值为0。对于__no_init限定的变量则不会被初始化。 对于一个标准的C程序中用到的变量类别如下 Categories of declared data 所示, L(1) 初始化过程 需要初始化为0的section由ILINK中放置在...
阅读(842) 评论(0)

逻辑与’&&’和逻辑或’||’的陷阱

为了提高系统效率,逻辑与和逻辑或操作的规定如下:如果对第一个操作数求值后就可以推断出最终结果,第二个操作数就不会进行求值!比如下面代码: if((i>=0)&&(i++ =0时,i++才会被执行。这样,i是否自增是不够明确的,这可能会埋下隐患。逻辑或与之类似。...
阅读(418) 评论(0)

C中的+0与-0

**C中的+0与-0 因为-1 在内存中的存储是 FFFFFFFF。而 -0比-1大于1,所以 -0 本来实际内存应该为 100000000 然而整形只有四个字节,所以必须舍去最高位1,最后成为00000000和+0没有什么区别,但是进行过类似的运算在 EFL标记位中的进位标记和符号位会改变。而1000_0000则是-128**...
阅读(269) 评论(0)

怎样取整

C语言的浮点数到整数的转换会去掉小数部分,因此在取整之前加上0.5会时大于等于0.5的小数部分进位。int ( x <0 ? x-0.5:x+0.5)注意:因为取整的默认方式是截断,因此通常在将浮点数转换为整数的时候最好都使用显式的取整步骤。一不小心,就有可能将你认为的8.0转换成了7,因为它的内部表示可能是7.999999....
阅读(380) 评论(0)

字符串

1 字符串被放在了哪里 void main() { const char a[4] = “d”; char b[4] = “ddd”; char c[] = “ddd”; char *d = “ddd”; const char *e =”dddd”;a[0] = ‘a’; b[0] = ‘a’; c[0]= ‘a’ d[0]=’a’; e[0]=’a’ }其中1...
阅读(287) 评论(0)

IAR 链接

基本概念section与section属性 section是包含数据段或者代码段可放置在存储器内的最小逻辑单位,section即可放在RAM也可放在ROM内。在通常的嵌入式应用中,放置在RAM中的section没有任何内容,只是占有该存储空间。section具有如下属性: 编译器内部自定义section即属性 iar中关于block的概念 The block directive define...
阅读(1018) 评论(0)

IAR中C内嵌汇编格式

IAR c嵌入汇编格式...
阅读(1545) 评论(0)

iar通过Terminal I/O调试

有时用户也许需要对程序中的指令进行调试,以便在没有硬件支持的情况下使用stdin和stdout。C-SPY通过终端I/O窗口来模拟stdin和stdout。...
阅读(2008) 评论(0)

ucos_ii定时器详解

UCOSII从V2.83版本以后,加入了软件定时器,这使得UCOSII的功能更加完善,在其上的应用程序开发与移植也更加方便。在实时操作系统中一个好的软件定时器实现要求有较高的精度、较小的处理器开销,且占用较少的存储器资源。...
阅读(4636) 评论(0)

单片机前后台系统的优缺点

单片机运行操作系统的理由...
阅读(1509) 评论(0)

ucos在M3中的中断嵌套机制

M3的中断控制器特性ucos中断嵌套机制...
阅读(1522) 评论(0)

uc/os程序设计点滴记录

ucos程序设计...
阅读(601) 评论(0)
87条 共6页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:107924次
    • 积分:1665
    • 等级:
    • 排名:千里之外
    • 原创:48篇
    • 转载:38篇
    • 译文:1篇
    • 评论:7条
    文章分类
    最新评论