欢迎来到学习窗!

咨询热线 4008888780

位置:广州学习窗 > 广州电脑 > 广州php开发

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

授课机构:广州达内教育IT培训

地址:广州天河区保利克洛维26楼达内

网报价格:¥电询

课程原价:¥电询

咨询热线:4008888780

课程详情 学校简介 学校地址 网上报名

关键词:广州达内电脑编程 广州达内IT培训 广州达内UI设计培训

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


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爱好者:如果你想要在短时间内快速入门,顺利掌握一门技术,建议还是认真学习视频。多练习,多动手。


咨询电话:400 8888 780

广州达内教育IT培训简介

达内教育,美国上市公司(NASDAQ:TEDU),全国最大的IT职业培训机构,专注IT职业教育18年,已帮助80万名学员成功就业。目前,已开设24大课程方向,在全国70多个城市建立了330家培训中心,线上线下都能学。 

  • 学校名称:广州达内教育IT培训

    固定电话:4008888780

    授课地址:广州天河区保利克洛维26楼达内 预约参观