下面关于8251A的叙述中,错误的是
A.可工作在全双工方式
B.可设置字符的位数
C.可产生1个或3个停止位
D.具有奇偶校验功能
试题五 (共15 分 )
阅读以下关于嵌入式C语言编程方面的问题,回答问题1至问题3,将答案填入答题纸的对应栏内。
【说明】
嵌入式C语言编程中常涉及位运算、宏定义的问题,以及大端方式(Big-endian)、小端方式(Little-endian)的访问问题。
【 问题1 】(4 )
嵌入式系统中常要求用户对变量或寄存器进行位操作。下面的两个函数分别为设置和清除变量 a 的第 5位。请使用下面的宏定义 BIT5 按要求对变量 a 进行相应的处理。在函数set_bit5中,用位或赋值操作(=)设置变量a的第5位,在函数clear_bit5中,用位与赋值操作(&=)清除变量a的第5位。
define BIT5 (0x01<<5)
static int a;
void set_bit5(void)
{
① ; /* 设置变量a的第5位 */
}
void clear_bit5(void)
{
② ; /* 清除变量a的第5位 */
}
【 问题2】(5 分 )
图5-1所示代码的设计意图是计算1~100各数的平方。 该段代码运行后,没有得到应有的结果,请说明出错原因,将答案填入答题纸的对应栏内。
”
【问题3】(6分)
某嵌入式处理器工作在大端方式 (Big-endian)下, 其中unsigned int为32位, unsigned short为16位,unsigned char为8位。仔细阅读并分析下面的C 语言代码,写出其打印输出的结果,将答案填入答题纸的对应栏内。
include "stdio.h"
include "stdlib.h"
void *MEM_ADDR;
void mem_test(void)
{
unsigned int *pint_addr = NULL;
unsigned short *pshort_addr = NULL;
unsigned char *pchar_addr = NULL;
MEM_ADDR = (void *)malloc(sizeof(int));
pint_addr = (unsigned int *)MEM_ADDR;
pshort_addr = (unsigned short *)MEM_ADDR;
pchar_addr = (unsigned char *)MEM_ADDR;
*pint_addr = 0x12345678;
printf("0x%x, 0x%x\n", *pshort_addr, *pchar_addr);
/* 第一次输出 */
pshort_addr++;
*pshort_addr = 0x5555;
printf("0x%x, 0x%x\n", *pint_addr, *pchar_addr);
/* 第二次输出 */
pchar_addr++;
*pchar_addr = 0xAA;
printf("0x%x, 0x%x\n", *pint_addr, *pshort_addr);
/* 第三次输出 */
}
A.要对仪表气源管路进行排污,以清除锈蚀或杂质
B.要注意孔板及调节阀的安装方向是否正确
C.检查一、二次表指示是否一致,调节阀阀位指示是否正确
D.使用隔离液的差压(压力)变送器的导压管内的隔离液是否放空
下面关于S3C2410嵌入式微处理器芯片RTC的叙述中,错误的是()。
A.实时钟模块RTC采用单独的供电引脚和单独的时钟源
B.RTC内部的年(YEAR)、月(MON)、日(DAY)数据寄存器中的数据以BCD码表示
C.RTC 内部的寄存器读写有一个使能位,在访问RTC 寄存器之前需要先使这个使能位置位,这是为了保护系统的实时时钟不被误写
D.RTC内部的寄存器能以8位、16位或32位的方式访问
A.Word文档不会携带计算机病毒
B.计算机病毒具有自我复制的能力,能迅速扩散到其他程序上
C.清除计算机病毒的最简单的办法是删除所有感染了病毒的文件
D.计算机杀病毒软件可以查出和清除任何已知或未知的病毒