草庐IT

STM32进阶:使用STM32驱动ST7735S(内附核心源码)

使用STM32驱动ST7735S(内附核心源码)感觉很久很久没有来博客更新了,历经千难万阻,终于做出来了TFT显示屏的SPI驱动,这里分享以下核心源码,接下来一段时间开始准备考科一了,后面有时间了再来更新,有三种模式下的驱动。一、软件SPI驱动TFT显示屏实验环境:正点原子STM32F103ZET6小型系统板实验工具:STM32F103ZET6芯片与ST7735S芯片(1.44寸TFT显示屏)数据交互:STM32芯片通过GPIO输入输出引脚模拟软件SPI和TFT液晶显示屏进行通信、数据传输及命令背景光等控制。实验成效:见STM32F103VET6用SPI驱动ST7735S显示屏力所能及的最快速

解决keil-5中stm32f103系列使用ST-Link下载程序时不能连接的问题。“flash download failed ”

出现的问题如下:解决方法如下:因为新版的Keil加入了下载器的校验机制,所以我们需要替换掉新版编译器下的原文件需要这个文件的评论下方留言记得留言哦。一、解压后得到STlink文件夹,整个文件夹替换到软件安装目录下/ARM处即可二、更新下载器固件(更新一次即可)二、设置keil软件STM32的芯片,支持JTAG和SWD两种方式下面说明在MDK下的软件设置:完成以上设置,即可多板子下载程序,点祝贺你能够下载成功哦!方法好用记得分享给其他伙伴。 

MicroBlaze系列教程(6):AXI_IIC的使用(24C04 EEPROM)

文章目录@[toc]AXI_IIC简介MicroBlaze硬件配置常用函数使用示例波形实测参考资料工程下载本文是XilinxMicroBlaze系列教程的第6篇文章。AXI_IIC简介一般情况下,使用FPGA实现I2C协议主要有两种方式:一种是基于Verilog实现起始位、停止位、ACK产生和判断、数据的发送和接收,通常SDA设计成双向端口,配合I2C模型对设计的模块进行仿真验证。还有一种是基于软核处理器配合GPIO,通过模拟I2C时序的方式来实现。Xilinx提供了标准AXI总线的I2CIP核,只需要调用封装好的API函数,即可以实现对标准I2C器件的驱动,非常方便。AXIIIC,支持Phi

AXI-Stream 学习笔记

参考https://wuzhikai.blog.csdn.net/article/details/121326701https://zhuanlan.zhihu.com/p/152283168AXI4介绍AXI4是ARM公司提出的一种片内总线,描述了主从设备之间的数据传输方式。主要有AXI4_LITE、AXI4_FULL、AXI4_STREAM三种。AXI4_LITE:不支持突发传输,一般用于小数据量的IP初始化和嵌入式设备数据传输。AXI4_FULL:可称为AXI4,支持突发传输,突发长度为1~256。AXI4_STREAM:流数据,丢弃了地址项,用于高速数据传输。AXI-Stream顾名思

【数据结构:线性表】倍增表(ST表)

知识点一.基本概念ST表:又名稀疏表,用来处理区间最值查询的离线算法,用到了倍增的思想某个区间查询问题是否适用ST表,关键在于其进行的操作是否允许区间重叠。例如max(a,b,c)=max{max(a,b),max(b,c)}就可以用ST表维护,而区间和问题则不能维护。在时间复杂度上:预处理时间O(nlogn),单词查询O(1),时间复杂度:O(nlogn+m)。二.实现方式设二维数组f[i][j]代表从i号位置开始往后推个单位长度的区间里的最大值,即区间的最大值①预处理这里要注意更新顺序,因为其中j(第二维)才是阶段,而第一维x是状态,所以对于j的循环要放在最外层。 ②查询当查询任意区间的最

STM32-基本知识梳理10-FSMC控制ST7789V-LCD液晶显示屏

一、ST7789V-LCD液晶显示1,一种计算机的I/O设备,即输入输出设备;2,数据传递结构,光线的传递通过偏光片进行调整,最终传递到滤光片上,进而不同RGB数据点,即像素点;3,LCD显示器的关键参数①像素:显示器的像素指它成像最小的点②分辨率:像素点的个数的乘积,单位面积的像素点越多,分辨率越高③色彩深度:每个像素点能表示多少种颜色,一般用“位”(bit)来表示,两种形式RGB565\RGB888,两种形式。其中,RGB565由于刚好是16bit,容易进行数据传递和解析,采用的相对更多,后面持续也会采用这种形式;④点距:分辨率越高,则点距越小,画质越细腻;4,LCD的控制原理①两种主要的

AXI 协议中的“对齐”与“非对齐”访问

1.对齐传输:在实际硬件中,一个寄存器一般是存储8位数据,所以对于一笔32位的数据,就需要4个寄存器来存储,因此这笔32位的数据的地址需要以0X00,0X04,0X08···这样使用,也就是所谓的地址对齐2.非对齐传输AHB总线只支持对齐传输,而AXI协议支持地址的非对齐传输(且burst类型为wrap的不支持)。非对齐传输也就是所谓的可以访问的地址不需要以上例中0X00,0X04,0X08···这样使用。在第一笔数据的传输时,如果首地址不是对齐的,那么主设备会在第一笔传输中对数据进行填充,直到首次传输填充至地址对齐,然后,再用WSTRB信号将填充的数据标记为无效。以访问(32位数据)地址为0

on-chip-bus(四)AXI总线:突发长度、突发大小以及非对齐传输的理解

1.突发长度、突发大小突发长度(burstlength):指在一次突发传输中进行的数据传输次数,用AxLEN字段标识。由于标识值是从0开始的,实际的突发长度应为标识值+1,即突发长度=AxLEN+1.突发大小(burstsize):指突发传输中的每次数据传输的字节数,用AxSIZE字段标示。突发大小=2^AxSIZE2.非对齐传输(UnalignedTransfer)    首先需要理解地址的对齐传输:在ARM的32bit的地址总线中,其最低两位[1:0]=0,所以从第三位开始,地址也就是4的倍数,如0x00,0x04,0x08等,都是对齐的。    AHB总线只支持对齐传输,而AXI协议支持

JavaScript 新日期序数 (st, nd, rd, th)

如果可能的话,在没有JavaScript库或大量笨拙代码的情况下,我正在寻找最简单的方法来将两周后的日期格式化为以下格式:2013年3月13日我使用的代码是:varnewdate=newDate(+newDate+12096e5);document.body.innerHTML=newdate;返回两周后的日期和时间,但像这样:2013年3月27日星期三21:50:29GMT+0000(GMT标准时间)这是jsFiddle中的代码.如有任何帮助,我们将不胜感激! 最佳答案 请注意,这适用于从1到31的天数。constnth=func

JavaScript 新日期序数 (st, nd, rd, th)

如果可能的话,在没有JavaScript库或大量笨拙代码的情况下,我正在寻找最简单的方法来将两周后的日期格式化为以下格式:2013年3月13日我使用的代码是:varnewdate=newDate(+newDate+12096e5);document.body.innerHTML=newdate;返回两周后的日期和时间,但像这样:2013年3月27日星期三21:50:29GMT+0000(GMT标准时间)这是jsFiddle中的代码.如有任何帮助,我们将不胜感激! 最佳答案 请注意,这适用于从1到31的天数。constnth=func