badapple 是什么,上网随便查了下,没看出个究竟,不过有个关于这个挺火的标签或者主题 < 有屏幕的地方就有 badapple >,网上有很多人用很多方式播放 badapple 动画,有用单片机在 OLED.LCD.LED点阵播放,有在 PC 上用各种编程语言.以各种形式播放,还有在示波器上播放.我之前也玩过 玩转stm32mp15X 在Uboot中播放badapple,群魔共舞 bad apple esp32 STM32 Bad apple 我用到的 badapple 数据是从这里 OL…
注释:这是19年初的博客,写得很一般,理解不到位也不全面.19年末得空时又重新看了RTThread的SPI和GPIO,这次理解得比较深刻.有时间时再整理上传. --------------------------------------------------------------------------------------------------------------------------------------------------------------------------…
Linux内核调用SPI驱动_实现OLED显示功能 0. 导语 进入Linux的世界,发现真的是无比的有趣,也发现搞Linux驱动从底层嵌入式搞起真的是很有益处.我们在单片机.DSP这些无操作系统的裸机中学习了这些最基本的驱动,然后用过GPIO时序去模拟.然后用那个芯片平台的外设去配置参数,到Linux的世界,对于底层的时序心中有数,做起来就容易很多.学习的过程就是不断的给自己出难题,然后去解决他,在未来工程里面遇到这个问题,就瞬间可以解决了,这就是经验的积累吧. Linux驱动目录,包含了底层…
前言 本文纯粹的纸上谈兵,我并未在实际开发过程中遇到需要编写或调试这类驱动的时候,本文仅仅是根据源码分析后的记录!基于内核版本:2.6.35.6 .主要是想对spi接口的wifi驱动框架有一个整体的把控,因此会忽略一些硬件上操作的系统,同时里面涉及到的一些驱动基础,比如数据结构.设备模式也不进行详细说明原理.如果有任何错误地方,请指出,谢谢! 分两步来分析: 第一步:spi接口驱动分析 第二部:基于spi接口的wifi驱动分析 spi接口驱动分析 在cm-x270.c中 static void…
一.前言 最近花费很多精力在算法仿真和实现上,外设接口的调试略有生疏.本文以FPGA控制OLED中的SPI接口为例,重新夯实下基础.重点内容为SPI时序的RTL设计以及AXI-Lite总线分析.当然做些项目时可以直接调用Xilinx提供的SPI IP核,这里仅出于练习的目的考虑. 二.接口时序分析 本项目用的OLED型号为UG-2832HSWEG04,核心控制器是SSD1306.该芯片支持并口.I2C以及SPI接口,这里采用4线SPI作为数据总线.4线SPI接口包括: SCLK:串行时钟,SSD…
本实验基于正点原子stm32f4探索者板子 请移步我的RT Thread论坛帖子. https://www.rt-thread.org/qa/forum.php?mod=viewthread&tid=422726&page=1&extra=#pid469704 下一步有多个选项: 1.精读生成的keil工程代码                                  2.可在此基础上去使用文件系统,参考文章:                                …
嵌入式Linux设备驱动程序:在运行时读取驱动程序状态 Embedded Linux device drivers: Reading driver state at runtime 在运行时了解驱动程序 一旦有了一个正在运行的Linux系统,了解哪些设备驱动程序被加载以及它们处于什么状态是很有用的.通过阅读/proc和/sys中的文件可以发现很多信息. 首先,您可以通过读取/proc/devices列出当前加载和激活的字符和块设备驱动程序: # cat /proc/devices   Chara…
目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (三): 免按键自动下载和复位 联盛德 HLK-W806 (四): 软件SPI和硬件SPI驱动ST7735液晶LCD 联盛德 HLK-W806 (五): W801开发板上手报告 联盛德 HLK-W806 (六): I2C驱动SSD1306 128x64 OLED液晶屏 SSD1306 OLE…
我之前用过的CPLD有Altera公司的MAX和MAX-II系列,主要有两个优点:1.程序存储在片上Flash,上电即行,保密性高.2.CPLD器件规模小,成本和功耗低,时序不收敛情况也不容易出现.缺点也很明显:1.没有片上RAM,无法对数据进行高速暂存和处理:2.没有PLL,使用一个以上的高频时钟非常不方便:3.没有小封装产品,MAX-II最小的EPM240也是LQFP100封装.近年来,随着Altera被Intel收购,对MAX-II的支持力度不断降低,当前EPM240的价格也达到了百元左右…
高通APQ8074 spi 接口配置 8074 平台含有两个BLSP(BAM Low-Speed Peripheral) , 每一个BLSP含有两个QUP, 每一个QUP可以被配置为I2C, SPI, UART, UIM接口, BLSP是高通对于低速接口的一种管理方式. 每个QUP是和特定的引脚相关的, 如下图所示,比如下面的引脚是属于BLSP8的, 也就是第二个BLSP的第二个QUP, 注意这些引脚只能被配置到第二个BLSP的第2个QUP上,可以通过继续查看高通相关资料 QUP的中断相关信息…
SPI接口扫盲   douqingl@gmail.com   为何要写这篇文档?百度上找出来的SPI接口中文描述都说的太过简略,没有一篇文档能够详尽的将SPI介绍清楚的.wikipedia英文版[注释1]中,SPI接口介绍的很好,但是毕竟是英文版,读起来终究不如母语舒服,所以我结合自己的工作经验,对其进行了汉化.整理. 个人SPI接口相关经验: 1. 参与过国产某芯片SPI接口样品验证.SPI接口服务DEMO开发(C语言). 2. 使用国产某芯片GPIO接口模拟SPI接口(C语言). 3. 使用…
FPGA中的视频图像资源,以及想要永久存储的程序都是要存储在flash中,flash是FPGA一个不可缺少的部分,flash的种类有很多,根据winbond公司的128Mbit Qual SPI接口的flash,型号为W25Q128BV,作为初学者根据现有的资料去学习,下面的内容主要以这款芯片作参考.前面也提到了三大串行数据传输模式UART,I2C,SPI,顺道就把SPI的内容也做一下总结,每篇一句话,带着自己的思考看问题,尽信书不如无书,fighting!!! 一.flash简单分类 flas…
转载地址http://blog.csdn.net/droidphone SPI是"Serial Peripheral Interface" 的缩写,是一种四线制的同步串行通信接口,用来连接微控制器.传感器.存储设备,SPI设备分为主设备和从设备两种,用于通信和控制的四根线分别是: CS    片选信号 SCK  时钟信号 MISO  主设备的数据输入.从设备的数据输出脚 MOSI  主设备的数据输出.从设备的数据输入脚 因为在大多数情况下,CPU或SOC一侧通常都是工作在主设备模式,所…
OS版本:RT-Thread 4.0.0 测试BSP:STM32F407 SPI简介 SPI总线框架其实和I2C差不多,可以说都是总线设备+从设备,但SPI设备的通信时序配置并不固定,也就是说控制特定设备的总线需要单独配置: SPI的特性是工作方式众多,有标准SPI和QSPI QSPI: QSPI 是 Queued SPI 的简写,是 Motorola 公司推出的 SPI 接口的扩展,比 SPI 应用更加广泛.在 SPI 协议的基础上,Motorola 公司对其功能进行了增强,增加了队列传输机制…
OLE DB访问接口"MICROSOFT.JET.OLEDB.4.0"配置为在单线程单位模式下运行,所以该访问接口无法用于分布式 数据库操作excel时遇到的以上问题的解决方法 解决方法: 我的环境:SQL Server 2008(64位)+windows2008r2(64位) 下载最新的驱动 原因:在64SQL Engine中已经不提供jet.oledb.4.0的驱动了 解决方法: 下载一个ACE.Oledb.12.0 for X64位的驱动,并把连接字符串Microsoft.jet…
文章地址:https://www.cnblogs.com/jqdy/p/12665430.html 1. 硬件连接 1.1 64引脚的STC8A8K64S4A12 使用的是最小核心板,所以引脚皆引出可供使用.其他接口只有USB口,起到供电及下载烧写的作用. 1.2 12864液晶模块 店家提供的使用说明较为杂乱,后续除模块信息外,关于控制芯片的内容均参考ST7920手册. 显示控制芯片使用的是ST7920 模块有20个外接引脚(见图2) PCB背板有选择串口和并口的两组焊点,短接后可分别选择串口…
​小分辨率的LCD,比如QQVGA,QCIF,QVGA等,广泛应用于功能手机和穿戴设备(比如手表)上.这类小分辨率的LCD,除了支持并行接口(比如i80),一般也会支持串行接口.在实际产品中广泛运用的串行接口就是SPI,由于其频率一般可以达到几十MHz,可以满足小分辨率LCD的性能要求. SPI接口应用在LCD上,主要是以下两种模式: 3-wire 9-bit 模式 4-wire 8-bit 模式 比如某厂商的 LCD datasheet 中有如下描述: 说明该 LCD 支持 3-wire 9-…
本实验采用W25Q64芯片 W25Q64是华邦公司推出的大容量SPI FLASH产品,其容量为64Mb.该25Q系列的器件在灵活性和性能方面远远超过普通的串行闪存器件.W25Q64将8M字节的容量分为128个块,每个块大小为64K字节,每个块又分为16个扇区,每个扇区4K个字节.W25Q64的最小擦除单位为一个扇区,也就是每次必须擦除4K个字节.所以,这需要给W25Q64开辟一个至少4K的缓存区,这样必须要求芯片有4K以上的SRAM才能有很好的操作. W25Q64的擦写周期多达10W次,可将数据…
spi接口的ds1302时钟芯片控制在lcd1602上显示                                                                                                                                                                                                      …
CC3000 SPI 操作: CC3000的SPI 是基于五根线CLCK,CSn,IRQ,MISO,MOSI:通信模式如下图: CLCK:时钟频率0-26M从主机到从机,提供SPI接口时钟 CSn:低电平激活从主机到从机,指示主机想和CC3000设备通信 MOSI:数据线,从主机到从机 IRQ:中断信号,来自从机,当没有数据传输时挂起,当低电平时指示CC3000设备要传输数据到主机 MISO:从几到主机 处理协议: SPI接口用着去和CC3000设备通信,所有的数据被发送和接收通过16bit的S…
533SPI的特性 最高速度可达SCLK/4: 支持主模式和从模式: 可使用8个GPIO口作为从选择线: 1 slave select input pins 7 slave select output pins DMA支持 可编程的时钟极性和相位: 可编程的波特率: 可编程的字长度:8或16bits 接口信号说明 时钟信号SCK 由主设备产生,是门控的,即只在传输期间有效,在没有数据操作时,是无脉冲波形的.在一个边沿输出数据.另一个边缘采样数据. Master Out Slave In(MOSI…
1.完整源码: 主函数oled.py from ssd1306 import SSD1306_SPI from ssd1306 import SSD1306 import font import machine def draw_chinese(lcd,ch_str,x_axis,y_axis): offset_=0 y_axis=y_axis*16#中文高度一行占8个 x_axis=(x_axis*16)#中文宽度占16个 for k in ch_str: code = 0x00#将中文转成1…
SPI.I2C.UART三种串行总线协议的区别 第一个区别当然是名字: SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS) UART(Universal Asynchronous Receiver Transmitter:通用异步收发器) 第二,区别在电气信号线上: SPI总线由三条信号线组成:串行时钟(SCLK).串行数据输出(SDO).串行数据输入(SDI).SPI总线可以实现多个SPI设备互相连接.提供SPI串行时钟的SPI…
一 ENC28J60:SPI接口.中断.复位.LED指示.可参看野火相应教程.简单的在单片机中实现网页服务器是参考AVRNET项目,复杂的是用LWIP协议栈.telnet用于用PC的TELNET可以远程的和单片机进行命令交互. 二 W5500:10M/100M都支持的硬件协议栈.…
参考:http://blog.csdn.net/yuanlulu/article/details/6163106 ROM最初不能编程,出厂什么内容就永远什么内容,不灵活.后来出现了PROM,可以自己写入一次,要是写错了,只能换一片,自认倒霉.人类文明不断进步,终于出现了可多次擦除写入的EPROM,每次擦除要把芯片拿到紫外线上照一下,想一下你往单片机上下了一个程序之后发现有个地方需要加一句话,为此你要把单片机放紫外灯下照半小时,然后才能再下一次,这么折腾一天也改不了几次.历史的车轮不断前进,伟大的…
平台简介 开发板:TQ2440 (NandFlash:256M  内存:64M) u-boot版本:u-boot-2015.04 内核版本:Linux-3.14 作者:彭东林 邮箱:pengdonglin137@163.com 摘要 这篇博客的目的是简要分析两种spi驱动的实现,一种是利用Samsung的S3C2440自带的硬件SPI控制器,另一种是利用Linux内核已经写好的用GPIO模拟SPI时序,实现一个软件SPI控制器.操作的外设是韦东山的SPI视频教程中提供的OLED模块,同时分享一下…
本文以stm32f4xx平台介绍串口驱动,主要目的是:1.RTT中如何编写中断处理程序:2.如何编写RTT设备驱动接口代码:3.了解串行设备的常见处理机制.所涉及的主要源码文件有:驱动框架文件(usart.c,usart.h),底层硬件驱动文件(serial.c,serial.h).应用串口设备驱动时,需要在rtconfig.h中宏定义#define RT_USING_SERIAL. 一.RTT的设备驱动程序概述 编写uart的驱动程序,首先需要了解RTT的设备框架,这里以usart的驱动来具体…
通过上一篇文章的介绍,我们知道,SPI通用接口层用于把具体SPI设备的协议驱动和SPI控制器驱动联接在一起,通用接口层除了为协议驱动和控制器驱动提供一系列的标准接口API,同时还为这些接口API定义了相应的数据结构,这些数据结构一部分是SPI设备.SPI协议驱动和SPI控制器的数据抽象,一部分是为了协助数据传输而定义的数据结构.另外,通用接口层还负责SPI系统与Linux设备模型相关的初始化工作.本章的我们就通过这些数据结构和API的讨论来对整个通用接口层进行深入的了解. /**********…
后记: 之前,我把SPI的片选在Cubemx中配置成了SPI_NSS.现在我给它改为了GPIO_OUTPUT.  同时参考了别人的类似的一个操作无线模块(采用SPI设备驱动)的例子程序(清楚了RTT的系统API的调用流程).年初第一天上班,有空回过头来看这个问题,就成功解决了. ------Sx1278.h------------------------------------------------------------------------------------------------…
之前一篇文章写了使用IO控制WS2812b操作原理,但是由于IO的输出比较慢,所以现在改用了硬件SPI控制WS2812b灯条 把SPI的mosi线接到ws2812b的数据线,SPI的速率可达十几Mbit/s,如此高的传输速率,我们可以使用一个(uint8_t)类型的数据代表一个码1或者码0: 也就是说,本来控制一个灯珠的数据由3个Byte(24位)变成了24Byte,每个bit转换成一个Byte: 具体看时钟如何配置的. SPI配置: 在上一篇文章可以看到控制一个码的周期在1.25us±300n…