嵌入式编程中你必须知道的小知识

337人已阅读 2020-09-17 11:41:57
导读 想要学习嵌入式编程的朋友们,今天这一期给大家分享一篇关于嵌入式编程一些常用小知识,希望对大家有所帮助。
UI设计|Java开发 Python|Web前端 BVD商业视觉|linux云计算 UED设计|商业插画 室内设计|大数据 软件测试|主办会计 C/C++开发|PHP开发 产品经理|嵌入式 网络营销|网络运维与安全 VRAR|人力资源

新闻详情

2020-09-17 11:41:57

嵌入式编程中你必须知道的小知识

  想要学习嵌入式编程的朋友们,今天这一期给大家分享一篇关于嵌入式编程一些常用小知识,希望对大家有所帮助。

  1.流水线被指令填满时才能发挥*效能,即每时钟周期完成一条指令的执行(仅指单周期指令)。如果程序发生跳转,流水线会被清空,这将需要几个时钟才能使流水线再次填满。因此,尽量少的使用跳转指令可以提高程序执行效率,解决发案就是尽量使用指令的“条件执行”功能。
  2.在LPC2200系列中:
  可以通过过下面的程序延迟10毫秒:
  for(i=0;i<200;i++)
  {
  for(j=0;j<200;j++);
  }
  3.通过下面语句将一个16位的变量放在两个8位的变量中。
  //IP数据报总长度高字节
  IpHeadUint8[10]=(IpHead.e_ip.Crc&0xff00)>>8;
  //IP数据报总长度低字节
  IpHeadUint8[11]=IpHead.e_ip.Crc&0x00ff;
  4.在对全部数组元素赋初值时,可以不指定数组长度。
  eg;inta[]={1,2,3,4,5};
  但如果当输出第a[5]以上的元素时,系统回输出随机数值,所以使用此方法时,不能使用超过初始值元素以上的元素。
  5.由于ADS先天性的对printf不支持;因此不便于我们调试,可以利用串口输出来代替printf来调试。
  6.用或运算,可使某位置为1,其它位不变
  eg:PINSEL0|=0x00000005;//设置串口引脚
  使第0位和第二位置一,其他位不变。
  7.函数指针
  1>C语言中函数名直接对应于函数生成的指令代码在内存中的地址,因此函数名可以直接赋给指向函数的指针
  2>调用函数实际上等同于“调用指令+参数传递处理+回归位置入栈”,本质上最核心的操作是将函数生成的目标代码的首地址赋给CPU的PC寄存器。
  3>因为函数调用的本质是跳转到某一个地址单元的code去执行,所以可以“调用一个根本就不存在在函数实体
  4>int(*p)();定义p是一个指向函数的指针变量,次函数返回带回整型的返回值。*P两侧的括号不能省略,表示p先于*结合,是指针变量,然后再与后面的()结合,表示此指针指向函数。
  区别:int*p()表示这个函数的返回值是指向整型变量的指针。
  说明:
  (1)指向函数的指针变量的一般定义形式为:
  数据类型(*指针变量名)();
  1>此处的“数据类型”是指函数返回值的类型
  (2)返回指针值的函数:
  类型名*函数名(参数表)
  eg:int*func(int x,int y)
  func是函数名,调用它以后能返回一个指向整型数据的指针。x,y是func的形参。
  区别方法:
  a.从右往左找*个括号,括号里面的是函数的形参。
  b.括号外面的*个标识符是函数的名字,函数前面的表示函数的返回数值。
  看了上面的内容,有没有对大家学习嵌入式有所帮助呢,在此达内小编提醒每一个it爱好者:想要在短时间内快速入门嵌入式编程,顺利掌握一门技术,建议大家还是认真学习视频,多练习,多动手才是比较实在的。
上一篇: 无 下一篇: IT培训适合什么样的人?培训机构要不要去?

相关文章

推荐课程

查看全部课程
南昌达内教育

南昌达内教育

南昌校区

查看全部校区 进入官方主页