目录
[4.C语言的define和 static](#4.C语言的define和 static)
一、说一下你之前的工作主要干了什么?
答.........(具体的工作内容我就不在这里详细描述了)
二、stm32有关的知识点
1.stm32的外设有哪一些
- IIC
- SPI
- Can
- ADC
- DAC
- TIM
- 独立看门狗(iwdg)
- 窗口看门狗(wwdg)
- I2S
- DMA
- RTC
事实证明,我说少了独立看门狗(iwdg),窗口看门狗(wwdg),RTC(实时时钟),DMA(直接内存访问)和I2S。
2.你的毕业论文的项目里面是怎么设计的
我的毕业论文里面主要从软件和硬件分:
- 软件层面:主要采用stm32HAL库开发,利用HAL库去开发初始化编程。
- 硬件层面:主要是有stm32f103的最小系统板(最小系统板包括BOOT电路、复位电路、晶振电路),电机驱动层面主要采用的是L298N驱动放大电路,AMSL1117和LM7805稳压模块。
- 通信方面:利用iic实现了HC-SRO4超声波传感器的采集
- 传感器方面:开启stm32定时器HC-SRO4超声波传感器发送和接收的时间,在乘以声音的速度测出障碍物的距离;利用红外传感器发出的红外线,由于黑线具有较强的吸光能力,反射回传感器的光线比较暗,红外传感器呈现高电平状态。单片机接收到红外传感器的高电平,通过PWM控制小车电机转速。
第2 个问题里面的我的回答很凌乱,我只回答了stm32f103的最小系统板的组成部分和软件层面的东西至于其他的,比如通信方面和传感器方面我没有答。
三,C语言的考察
1.写一个结构体(结构体的内容自由发挥)
struct st
{
char name;
int age;
int id;
}
2.写一个指针型的变量
struct st
{
int *ptr;
int *id;
};
3.结构体是什么
结构体(struct)是一种自定义的数据类型,它允许您将多个不同类型的数据组合在一起。结构体可以包含不同类型的数据成员,这些成员可以是基本数据类型(如int、char等)、指针、数组、结构体等。
4.C语言的define和 static
#define | static | |
---|---|---|
定义 | 用于宏定义 | 关键字,用于声明静态变量或函数 |
可见性 | 文件作用域,只在该源文件中可见 | 只能在文件内可见,在文件之外不可见 |
存储类别 | 无存储类别,只是一种定义常量和宏的方式 | 可以指定静态存储类别或自动存储类别,取决于变量的声明位置和作用域 |
生命周期 | 预处理指令,无生命周期概念 | 自动存储类别是局部生命周期,在main函数会自动销毁 |
这里面试的时候我说错了,把define定义为全局变量,事实上它只是宏定义,而extern才可以在文件外部暴露。使用extern
声明的变量或函数具有全局可见性,可以在多个源文件中共享和使用。当你在一个源文件中使用extern
声明一个变量或函数时,编译器会将其视为在该文件的全局作用域中声明,而不是在该文件的局部作用域中声明。这意味着其他源文件也可以访问和使用该变量或函数。
总的来说,我对结构体的定义,在结构体中定义指针和对C语言一些关键字不是很了解。硬件层面我不是很了解,目前只了解三极管,和一些按键的高低电平,一些斩波电路不是很熟悉。