- 博客(15)
- 资源 (1)
- 收藏
- 关注
原创 嵌入式协议应用:STM32硬件IIC驱动OLED屏幕显示
接下来需要实现IIC的开始信号、结束信号、写字节函数,由于对OLED屏幕的操作主要是写数据,所以这里没有实现读函数。IIC_Start()函数模拟了IIC传输数据的开始信号,即在时钟线高时将数据线拉低。IIC_Stop()函数模拟了IIC传输数据的结束信号,即在时钟线高时将数据线从低拉高。IIC_Wait_Ack()函数模拟了IIC传输过程中的ACK信号,主机发送一个字节的数据后,若从机没有及时返回ACK响应,将停止数据传输。Write_IIC_Byte()函数模拟了从主机发送一个字节数据
2025-03-17 21:56:17
841
原创 嵌入式常见协议:IIC详细讲解
IIC它是一种串行通信总线,使用多主从架构,使用两根信号线进行通信:一根时钟线SCL,一根数据线SDA,属于半双工协议。IIC将SCL处于高时SDA拉低的动作作为开始信号,SCL处于高时SDA拉高的动作作为结束信号;传输数据时,SDA在SCL低电平时改变数据,在SCL高电平时保持数据,每个SCL脉冲的高电平传递1位数据。主要特性IIC用2根信号线通信:串行数据线 SDA、串行时钟线 SCL;
2025-03-13 15:26:05
929
原创 C语言学习笔记-位结构体(位域)
位结构体是一种特殊的结构, 在需按位访问一个字节或字的多个位时, 位结构体比按位运算符更加方便,例如用在通讯协议解析时会比较方便。
2024-06-26 21:38:57
1798
原创 【架构】状态机-单片机的万能框架
状态机就是把一件事情分为几个过程来实现,每个过程对应一个状态,状态与状态之间的转换需要通过事件进行驱动。以一个人每天的生活来举一个例子,比如一个人的生活包括吃饭、睡觉、正常搬砖、娱乐、加班等五个方面,这些状态可以通过一个状态图来表示。
2024-06-10 18:47:22
7503
3
原创 硬件工程师入门,这些视频课程,直接吹爆
在工作中,难免会遇到自己的知识盲区,这时就会花大量时间查阅网站,寻找视频课程,筛选优质的信息很费时间,可能找了半天,找到的还是很劣质误导人的视频。在这里推荐几个比较不错的网站,帮助大家节省时间。
2024-05-19 11:10:42
1387
1
原创 电容10uF和1uF并联使用的技巧
电容并联放在IC电源脚到地,一般是为了滤除那些对系统不利的交流信号。由于实际供电电源,夹杂着高频以及低频干扰杂波,10uf电容对于滤除低频杂波有较好作用,但对于高频杂波,电容呈现感性,阻抗很大,无法有效滤除,因此再并一个0.1uf的电容滤除高频杂波
2024-05-13 23:17:12
1042
1
原创 基于单片机的智能温度监测系统设计
智能温度检测系统主要功能是实现0℃~99℃范围内的温度智能监测,通过硬件设计和软件编程实现。本设计以单片机AT89C51芯片为核心,最后通过proteus仿真验证系统的正确性。
2024-05-13 21:10:49
1106
1
原创 04-常用排序算法之归并排序(c++实现)
常用排序算法之归并排序(c++实现)算法思想 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而**治(conquer)**的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。 归并算法是采用分治法(Divide and Conquer)的一个非常典型的应用,且各层分治递归可以同时进行。归并排序思路简单,速度仅次于快速排序,为稳定排序算法,一般用
2021-08-20 09:55:55
1203
原创 03-常用排序算法之快速排序(c++实现)
快速排序文章目录快速排序算法思想算法步骤完整c++代码算法分析算法思想 快速排序的基本思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。 也就是先确定一个基准元素,每次都将基准元素排到正确的位置,保证它左边的元素都小于或等于它,它右边的元素都大于或等于它,然后对其左边和右边的全部元素分别再快速排序。算法步骤在数组中选择一个基准数(通常为数组第一个);将数组中小于基准数的数据移动到基准
2021-08-12 18:02:45
281
原创 线程同步的方式(一):互斥锁
当多个线程几乎同时修改某一个共享数据的时候,需要进行同步控制。线程同步能够保证多个线程安全访问竞争资源,最简单的同步机制是引入互斥锁。1 互斥锁的使用步骤(1)创建一把互斥锁创建一把互斥锁----------pthread_mutex_t mutex;(2)初始化互斥锁---------pthread_mutex_init(&mutex)相当于mutex=1;(3)在线程代码中的共享资源区域(临界区)使用锁:pthread_mutex_lock(&am...
2021-06-23 11:29:58
924
原创 进程与线程的区别
1.定义:进程:指在系统中正在运行的一个应用程序;程序一旦运行就是进程;进程——资源分配的最小单位。线程:系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元执行流。线程——程序执行的最小单位。2.进程要分配一大部分的内存,而线程只需要分配一部分栈就可以了。3.一个进程可以有多个线程,一个线程只能属于一个进程。4.进程是资源分配的最小单位,线程是程序执行的最小单位。5.一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行。...
2021-06-23 10:06:46
128
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人