
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
让我们到NXP的官网上扫一眼。我们先看CPU Platform,这个是我们的核心。这里我们的芯片是基于Arm Cortex-A7核心,这是一种高效能的处理器核心,,这些缓存有助于提高数据处理速度。关于Cortex-A7手册可以自行到ARM架构的官网上找ARMv7a的手册慢慢看,多媒体上,我们的这个芯片架构是支持24位并行CSI(摄像头接口)和LCD接口,以及S/PDIF Tx/Rx(数字音频接口)

上一章我们讲了无锁数据结构,听起来很酷对吧?但说实话,90%的并发场景其实用不上那么复杂的东西。一把好用的互斥锁,配合正确的使用模式,就能解决大部分问题。问题是,锁这东西用错了代价很大:忘记解锁会死锁、异常跳出会死锁、多个锁加锁顺序不对也会死锁。传统C风格的lock()unlock()写法,在复杂代码里几乎不可能保证正确性。C++给我们带来了RAII(Resource Acquisition Is

本文主要讲述了SPI通信协议
咱们说起来UART协议,那必须吧全称说出来:通用异步接收器/发射器(Universal Asynchronous Receiver/Transmitter )。我们学习通信协议,也自然需要先给一个大致的框图。可以看到,UART的框图非常的简单。我们说UART是一个整体看来支持双向传输的协议,每一个通信的主体都需要Tx,Rx和一个地参考线保证双方有一个明确的0和1的定义。

本文主要讲解的是IIC通信协议

首先,LCD初始化后,会随机显示一些内容,所以,调用LCD驱动包后的LCD_Init函数之后,还需要调用LCD_Clear(Black)来清理内容。所以,我们需要做的,首先是在操作LCD的时候,对GPIOC端口的使能进行压栈,然后恢复。不妙,我们的LCD复用了PC8到PC15的引脚,显然,当我们对LCD发生操作的时候,会跟LED发生装车。考场上会给予LCD的驱动包,所以并不需要我们来书写LCD驱动

我们的蓝桥杯嵌入式使用的单片机是STM32G431RBT6,这个配置需要注意的是,如果你先前没有使用过这个板子,这是要在CubeMX下下载对应的固件包。这个就是我们的板子,随身附上一根线,将线一段连到电脑上,另一端连到我们的USB下载口(板子上有丝印)。进入: Step Into,这个是进入函数内部(如果可以进入的话),一般用在确定这个函数是出问题的,或者是想了解的。注意,只有左侧栏是灰色的地方是

我们下面来考虑一下输入事件的子系统。在这里笔者的输出如下:U: Uniq=B: PROP=0B: EV=3U: Uniq=B: PROP=3B: EV=bU: Uniq=B: PROP=0目前对于我们而言比较好操作的就是Key0这个摁扭,在我们的开发板上就是key0,对应于kbd event2。下面我们尝试做简单的编程。if(argc!exit(-1);for(;;!exit(-1);

这里算是笔者的尝鲜与尝试。笔者现在正在uboot和裸机开发双开。这里记录一下笔记和我的开发过程。

以9600波特率为例子,他就说明了我们的字符会在1.04ms内完成我们的传递,只要我们的定时器在检测的时候发现CNT到达了1.04ms以上的时间才会增加到的CNT,也就是说我们的定时器已经计时了超过1.04ms,我们就可以认为我们的接受已经结束了,该处理拿到的数据了。很好,这里就是我们指定的TX和RX,所以,在我们打开USART的时候,配置要更改我们的串口的RX和TX.就是这样的简单。,所以,我们








