常见问题(一)

  • 单片机I/O口开漏输出和推挽输出有什么区别?

开漏输出:智能输出低电平,如果要输出高电平,必须通过接上拉电阻才能实现。

推挽输出:既可输出低电平,也可输出高电平,可以直接驱动功耗不大的数字器件,驱动能力较强。

 

  • 中断是什么?简述中断处理过程。

中断即打断当前正在做的事情,转而去执行其他时间。

过程:

  1. CPU 每执行一条执行之后都会确认中断控制器是否发送了请求,如果接收到处理中断请求,则CPU相应。
  2. CPU 保护当前程序的现场,将断点处的代码段寄存器压入栈,转入中断服务程序执行,在该过程中,若有优先级更高中断,则会执行优先级更高级中断。
  3. 中断处理完毕后,堆栈寄存器内容弹栈,恢复进程。

 

  • 预处理功能

①宏扩展; ②文件包含; ③条件编译

 

  • static 类型的变量默认的初始化值是 0

 

  • register 修饰寄存器变量,auto 定义函数中的变量为局部变量

 

  • char 是有符号型好似是无符号类型,取决于具体实现

arm-linux-gcc 规定 char 为 unsigned char

vc、x86 的 gcc 规定 char 为 signed char

缺省情况下,编译器默认数据为 signed 类型,char 型除外

 

  • IIC 的输出端口是开漏式

 

  • Linux 进程中,使用虚拟内存转换使得应用的运行起始地址是一样的。

 

  • 程序运行时地址和加载地址是由程序链接时决定的,所以不一定相同。

 

  • 结构体是同一个名字引用的相关变量的集合,联合体是一种同一存储区域不同类型变量共享的数据类型。

 

  • 数据在内存中以二进制形式存放,数值补码形式存放,字符型对应ASCII码放置存储单元。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值