- 博客(8)
- 收藏
- 关注
原创 嵌入式基础知识6
小端:数值的低位字节存储在内存的低地址处,高位字节存储在高地址处。大端:数值的高位字节存储在内存的低地址处,低位字节存储在高地址处。头文件中的ifndef/define/endif有什么作用?GPIO、串口通信、外部中断、定时器。sizeof和strien的区别。动态申请一块100字节的内存。如何防止数组访问越界?
2024-06-15 17:49:17 399
原创 嵌入式基础知识5
串行通信:计算机与I/O设备之间,同一时刻,只能传输一个bit位的信号。传输数据按顺序依次一bit位接一bit位进行传输,通常数据在一根数据线或一对差分线上传输。并行通信:计算机与I/O设备之间,通过多条传输线,可以同时传输多个bit位的信号。io口是怎么输出高低电平的?单工,半双工,全双工。
2024-06-14 20:08:25 229
原创 嵌入式基础知识4
这是一个 8 位的数据,其中高 7 位是设备地址,最后 1 位是读写位 3)I2C 器件地址后面跟着一个读写位,为 0 表示写操作,为 1 表示读操作 4)从机发送的 ACK 应答信号 5)重新发送开始信号 6)发送要写写入数据的寄存器地址 7)从机发送的 ACK 应答信号 8)发送要写入寄存器的数据 9)从机发送的 ACK 应答信号 10)停止信号。应答信号是由从机发出的,主机需要提供应答信号所需的时钟,主机发送完 8 位数据以后紧跟着的一个时钟信号就是给应答信号使用的。
2024-06-12 16:31:58 245
原创 嵌入式基础知识3
2)在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。初始化的全局变量与初始化的静态变量在一块区域,未初始化的全局变量与未初始化的静态变量存储在一起。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。
2024-06-11 18:20:11 512
原创 嵌入式基础知识2
a:b)中的max值,若a>b为真,则输出a的值;a:b)所比较出来的值与c进行比较,若((a>b)?I2C 是支持多从机的,也就是一个 I2C 控制器下可以挂多个 I2C 从设备,这些不同的 I2C 从设备有不同的器件地址,这样 I2C 主控制器就可以通过 I2C 设备的器件地址访问指定的 I2C。:)是C语言中唯一的一个三目运算符,它是对第一个表达式作真/假检测,然后根据结果返回另外两个表达式中的一个。一个指向函数的指针,该函数有一个整型参数并返回一个整数型 int *(a)(int)
2024-06-08 18:39:07 229
原创 嵌入式基础知识1
硬件看门狗芯片上电就启用,软件看门狗则需要配置相关的寄存器(或者调用相关的看门狗子程序)。软件和硬件看门狗芯片的最主要差异在于开启看门狗的时机,软件看门狗必须初始化(配置)看门狗才能使用,硬件看门狗是上电自动启用的,无法通过配置寄存器等方法关闭,设备上电就可以依赖上拉电阻提供的高脉冲开启看门狗,只要软件不及时喂狗(当看门狗启动后,计数器开始自动计数,经过一定时间,如果计数器溢出,就会对CPU产生一个复位信号使系统重启(俗称“被狗咬”)。 看门狗其实就是一个可以在一定时间内被复位的计数器。
2024-06-07 19:04:29 115
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人