单片机一些小总结
clude的使用)。而reg51.h这个文件里面把各个寄存器和可以位操作的寄存器的各位定义一下。所以单片机芯片要操作都要对寄存器进行定义,s3c2440也有自己的寄存器定义文件2440addr.h,不过S3c2440同51单片机不同的是要包含启动代码,初始化s3c2440。否则2440无法工作
++a与a++的区别在于前一个是自加1之后参与运算,而另一个是参与运算之后加1,也就是说a++的话,在那一行代码中,a的值是不变的,下一行才发生变化,++a则是在那一行已经发生了变化。
刚从8 bit单片机玩32 bit会很不不习惯,原因是操作方式变化了,之前的51单片机的话改变寄存器直接位操作或者是寄存器操作赋值就好了,但是32位处理器就不同了,因为位有32位那么多,不可能清楚每一位应该操作的数值,直接赋值务必造成误操作。
X bit置1:(寄存器标示符)=(寄存器标示符)||(1 X bit置0:(寄存器标示符)=(寄存器标示符)&& ~(1 指针在c中是个很重要的部分,其实也不要把它看得太难,他其实就是一个存取地址数据的一个量,可以通过*号读写他地址当中的内容,也可以通过&给他取新的地址,在没有对指针取地址的情况下不要对地址里的内容进行操作,因为没有取地址的情况下指针所指的地址是随机的,在草率操作的情况下可能会破坏之前的数据导致出错。指针最常见的就是对数组进行操作了,当指针指向的是一维数组的时候指针变量每次自加1之后就指向都是原来数的下一个(需要注意的是指针如果指向的是数组的最后一位的时候再加1的话他不会又跑到第一位,而是未知的数据,这时候需要做的是重新取地址),对数组操作的方法除了不断自加1的方法还有*(p+5),*p表示指向的数组的那位,*(p+5)表示在*P的基础上移动5个数。二维也类似,可以通过自加操作,和*(*(p+x)+y)的方式操作,指针除了在数组上用还可以当函数的参数啊,指向函数啊,详细还是看谭浩强的c经典教程
单片机误操 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)