华仪智能 嵌入式软件笔试题 (回忆版)

 

1、简述8051的中断过程,简述中断程序应该注意的问题
  产生中断信号,发出中断申请,响应中断,进入中断服务程序,中断返回;注意:中断处理程序不能有传参,返回值,有尽量不要太长;另外尽量保证不要出错等

2、单片机上电没反应首先应该检查什么
 先检查时钟


3、串行通信与并行通信的优缺点,
      串行通信传输的速慢,但是成本低,可利用现有的通信手段和通信设备,适合于计算机的远程通信;并行通信传输速度快,但是传输设备的成本高,适合于近距离的数据传输;但需啊注意的是一些差分的串行通信总线如RS485,RS422,USB等,传输距离远,安全性高,而且速度也比较快。


4、RTOS中常用什么方式来处理这样的共享资源重入问题?
   使用一段共享内存之前先将数据备份  


5、C 关键词volatile的用途
      一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:
1) 并行设备的硬件寄存器(如:状态寄存器)
2) 一个中断服务子程序中会访问到的非自动变量(Non-automatic variables)
3) 多线程应用中被几个任务共享的变量

6、找出程序的错误并改正

void testint *p

{

*p+++=1;

}

int main()

{

int n,m[]2;

m[0] = 1;

m[1] = 8;

testf(n);

printf(“Date value is %d”,*n);

return 0;

}

改错:testf(n);  -> &n ;

 testint *p)->  testint **p);

/********************以下为基础题不做详细讲解*************************/

7、用C语言完成以下程序,要求对PX指向的第i位实现置一

8、用C语言实现冒泡算法,实现对A[100]数组元素从小到大排序

9、求1! + 2! +3! + - - - - 40!

你可能感兴趣的:(10_笔/面试题集锦分析)