![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程学习
自信大过天
自信 激情
展开
-
想成为嵌入式程序员应知道的0x10个基本问题(1)
C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。从被面试者的角度来讲,你能了解许多关于出题者或监考者的情况。这个测试只是出题者为显示其对ANSI标准细节的知识而不是技术技巧而设计吗?这是个愚蠢的问题吗?如要你答出某个字符的ASCII值转载 2013-12-02 22:30:43 · 496 阅读 · 0 评论 -
彻底搞定C语言指针详解-完整版-时候初学者-必备
1.语言中变量的实质要理解C指针,我认为一定要理解C中“变量”的存储实质, 所以我就从“变量”这个东西开始讲起吧!先来理解理解内存空间吧!请看下图:内存地址→ 6 7 8 9 10 11 12 13--------------------------------------------------转载 2013-12-04 21:57:52 · 1834 阅读 · 0 评论 -
c语言指针详解
指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; 能很方便地使用数组和字符串; 并能象汇编语言一样处理内存地址,从而编出精练而高效的程序。指针极大地丰富了C语言的功能。 学习指针是学习C语言中最重要的一环, 能否正确理解和使用指针是我们是否掌握C语言的一个标志。同时, 指针也是C语言中最为困难的一部分,在学习中除了要正确理解基转载 2013-12-04 21:56:19 · 1057 阅读 · 0 评论 -
深入理解C语言指针的奥秘
指针的概念 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的 类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。 先声明几个指针放着做例子: 例一: (1)int*ptr; (2)char*ptr;转载 2013-12-04 21:25:31 · 699 阅读 · 0 评论 -
嵌入式系统C语言编程的心得体会(指针篇)
学习使用C语言不能不说到指针,指针的应用是C语言的特点也是精髓所在。没掌握指针的使用方法,也就说明你不会使用C语言。当然使用手法灵活多变,并不见得都要学会,只是说在写程序的时候要有这种思想体现在程序里。其实程序写的是否巧妙很大程度上就体现在指针应用上。 嵌入式C语言编程里面的指针和标准的C概念上是一致的,但是由于使用处理器的构架不同,在实现表示实际对象上略有差别。这个集中体现在有些嵌入式处转载 2013-12-02 22:36:43 · 2693 阅读 · 0 评论 -
嵌入式系统C语言编程的心得体会
最近经常在解释程序中指针的应用手法,发现多数人对指针的认识并不完整,捉住了指针的表面现象却没有很好的理解指针的本质特性。上次写指针编的时候也没有很好的解释指针的本质特性,以及这个特性在C语言中的应用方法。 今天就把这些天的体会总结一下,从三个方面来说明这个问题,一是指针相关的名称以其含义,二是指针在C语言编译时的编译器的工作原理,三是应用时的使用注意事项和优缺点。 在这里我以8转载 2013-12-02 22:32:50 · 1988 阅读 · 0 评论 -
嵌入式软件工程师的技能修炼
点穴: 深入了解至少一种处理器/控制器的体系结构,熟悉其汇编指令。 掌法: 精通C语言,掌握加载技术和编译链接知识。 兵刃: 了解常用存储、通讯和人机接口设备,熟练编写设备驱动程序。 阵法: 嵌入式操作系统的理论和实践。 兵法: 程序设计思想的修炼。推荐阅读成熟的GUI和TCP/IP协议栈代码,体会其设计方法。 需求分析技术。转载 2013-12-02 22:32:10 · 779 阅读 · 0 评论 -
AVR单片机内部EEPROM应用方法
AVR单片机内部集成了EEPROM,但是在GCC写编写EEPROM应用程序的时候,经常会出现读写EEPROM时程序出错,或重启等不正常现象。在软件仿真时也许结果是正确的,但是在片上运行的时候就不正常。困扰很久,终于发现原因在于编译器,已经我们对EEPROM操作说明的理解不正确或不仔细。 操作EEPROM对时序的要求较高。更加Datasheet里的写操作范例程序: while(E转载 2013-12-02 22:38:52 · 1993 阅读 · 1 评论 -
嵌入式系统C语言编程的心得体会(原则篇)
C语言博大精深,玩了很长时间了,一直徘徊在入门处。看了很多别人的编程经验,加上项目程序越做越大,直到这半年来突然有很多体会,明天就要回家了,下午闲来无事也试着总结一些心得体会,喜欢对师弟妹们的学习有所帮助。 首先要说说编程的几个重要原则,看了很多别人的编程经验,更多的是说技巧。技巧能显著提高程序的效率,固然重要但是技巧的掌握靠了还是大量的工程实践,只有在有一定功底后才可以去追求这些编程技转载 2013-12-02 22:34:24 · 2292 阅读 · 0 评论 -
复杂程序系统构架方法-设备驱动程序
系统越做越复杂,涉及到很多集成外设或者是外部功能模块的操作。这时需要对每个外设或功能模块编写相应的驱动程序,驱动程序编写是复杂系统模块化过程中一个很重要的环节。好坏与否关系系统的稳定性和模块的可重复利用性。 驱动程序是将外设抽象成与硬件无关操作的中间程序,因此驱动程序有两个重要问题要处理,一个是设备的操作流程处理,二是驱动函数调用时传递和返回值的处理。 由于应用程序转载 2013-12-02 22:24:58 · 978 阅读 · 0 评论 -
嵌入式系统C语言编程的心得体会(宏应用篇)
在C语言里面宏定义的应用是很灵活的,但是一般讲C语言的书往往并不详细讲述宏的应用,只是简单提一下。宏的应用是程序模块化,通用化一个重要手段。嵌入式系统做多了就会发现其实没给项目应用的底层函数都十分相似,甚至是完全一样,工作方式也很固定。为了能简化编程工作量,通常都是从以往做的项目中将有用的函数先考到一起在做整理,不要的部分就删掉,这样一来,程序看起来似乎一样,但是又有所不同,删来改去的,常常是转载 2013-12-02 22:35:35 · 1949 阅读 · 0 评论 -
想成为嵌入式程序员应知道的0x10个基本问题(2)
访问固定的内存位置(Accessing fixed memory locations) 10. 嵌入式系统经常具有要求程序员去访问某特定的内存位置的特点。在某工程中,要求设置一绝对地址为0x67a9的整型变量的值为0xaa66。编译器是一个纯粹的ANSI编译器。写代码去完成这一任务。这一问题测试你是否知道为了访问一绝对地址把一个整型数强制转换(typecast)为一指针是合法的。这一问题的转载 2013-12-02 22:31:26 · 801 阅读 · 0 评论 -
状态机思路在单片机程序设计中的应用
状态机的概念状态机是软件编程中的一个重要概念。比这个概念更重要的是对它的灵活应用。在一个思路清晰而且高效的程序中,必然有状态机的身影浮现。比如说一个按键命令解析程序,就可以被看做状态机:本来在A状态下,触发一个按键后切换到了B状态;再触发另一个键后切换到C状态,或者返回到A状态。这就是最简单的按键状态机例子。实际的按键解析程序会比这更复杂些,但这不影响我们对状态机的认识。转载 2013-12-06 20:25:55 · 6037 阅读 · 1 评论