第四周:小车
要求:了解传感器驱动开发,
作业1:组装好小车。已经提供了代码,通过移植代码,并完成 hc_sr04.c 文件中的3个填空,将小车跑起来。效果是能实现避障功能。
作业2:总结实现HC-SR04驱动,都有什么步骤。
作业3(选做):有ENC28J60或ESP8266或RW007模块的,可以尝试将小车传感器数据发送到onenet云平台。
【注:没有小车的,可以使用其他传感器,按照文档中心的传感器驱动开发指南,自己尝试写一个传感器驱动。】
作业4:完成以下题目:
1、下面一段代码的输出结果是()
void f(char *c, char d) {
*c = *c + 1;
d = d + 1;
cout << *c << d;
}
int main() {
char a = 'A', b = 'a'; f(&b, a);
cout << a << b << endl;
return 0;
}
A.BaBa
B.bBAb
C.AbAb
D.aBaB
答案:B
2.以下能正确定义一维数组的选项是 ( )
A.int a[5]={0,1,2,3,4,5}
B.char a={′A′,′B′,′C′}
C.int a[5]=“0123”
D.char a[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′}
答案:D
3、假设一个子网的地址是192.168.224.0/20,那么其广播地址是( )。
A.192.168.232.255
B.0.0.0.255
C.192.168.240.255
D.192.168.239.255
答案:D(解释:前20位相同的,广播地址就是把后面12位变为1,即11100000变为11101111,就是239.)
4、在一个分时操作系统中,进程出现由运行状态进入就绪状态,由阻塞状态进入就绪状态的原因分别可能是()
A.等待资源而阻塞,时间片用完
B.时间片用完,因获得资源被唤醒
C.等待资源而阻塞,因获得资源被唤醒
D.时间片用完,等待资源而阻塞
答案:B
编程题:将一个正整数分解质因数。例如:输入90,打印出90=233*5。
#include “stdio.h”
#include “conio.h”
int main()
{
//暴力破解
int buf[100];
scanf("%d",&num);
if(num<1)
return 0;
if(num == 1)
{
printf("1=1");
return 0;
}
num1=num;
for(i=2; i<=num1; i++)
{
if(0 == num1%i)
{
buf[j]=i;
j++;
num1 = num1/i;
i--;
}
}
printf("%d=",num);
for(i=0;i<j-1;i++)
printf("%d*",buf[i]);
printf("%d",buf[j-1]);
return 0;
}
7、PWM电压幅值5V,周期500000ns,需要输出低电平占空比为25%时,设置的脉冲宽度应为多少ns?
A.125000
B.375000
C.175000
D.425000
答案:B
8、ARM 中,一个32位数据 0x12345678存放在其实地址为0x30001000,则大端模式下0x30001000单元存放 ( 0x12),小端模式下该单元存放( 0x78 )。