spi

Java 中的 jar ,天天见,可是你知道它的运行机制吗?

谁说胖子不能爱 提交于 2021-02-02 13:09:11
今天介绍两个大家每天都在用但是却很少去了解它的知识点:spi 和 jar 运行机制,废话不多说,开始正题。 spi spi 是 Java 提供的一套用来被第三方实现或者扩展的 API ,它可以用来启用框架扩展和替换组件。spi 机制是这样的:读取 META-INF/services/ 目录下的元信息,然后 ServiceLoader 根据信息加载对应的类,你可以在自己的代码中使用这个被加载的类。要使用 Java SPI,需要遵循如下约定: 当服务提供者提供了接口的一种具体实现后,在 jar 包的 META-INF/services 目录下创建一个以 “接口全限定名” 命名的文件,内容为实现类的全限定名; 接口实现类所在的 jar 包放在主程序的 classpath 中; 主程序通过 java.util.ServiceLoder 动态装载实现模块,它通过扫描 META-INF/services 目录下的配置文件找到实现类的全限定名,把类加载到 JVM ; SPI 的实现类必须携带一个不带参数的构造方法; 现在我们来简单的使用一下吧。 spi 使用示例 建一个 maven 项目,定义一个接口 ( com.test.SpiTest ),并实现该接口( com.test.SpiTestImpl );然后在 src/main/resources/ 下建立 /META-INF/services

硬件工程师常用的5V转3.3V方法

隐身守侯 提交于 2021-02-02 13:03:17
今天为大家分享5V转3.3V的多种方法。 1 使用LDO稳压器 标准三端线性稳压器的压差通常是 2.0-3.0V。要把 5V 可靠地转换为 3.3V,就不能使用它们。压差为几百个毫伏的低压降 (Low Dropout, LDO)稳压器,是此类应用的理想选择。图 1-1 是基本LDO 系统的框图,标注了相应的电流。从图中可以看出, LDO 由四个主要部分组成: 1. 导通晶体管 2. 带隙参考源 3. 运算放大器 4. 反馈电阻分压器 在选择 LDO 时,重要的是要知道如何区分各种LDO。器件的静态电流、封装大小和型号是重要的器件参数。根据具体应用来确定各种参数,将会得到最优的设计。 LDO的静态电流IQ是器件空载工作时器件的接地电流 IGND。IGND 是 LDO 用来进行稳压的电流。当IOUT>>IQ 时, LDO 的效率可用输出电压除以输入电压来近似地得到。然而,轻载时,必须将 IQ 计入效率计算中。具有较低 IQ 的 LDO 其轻载效率较高。轻载效率的提高对于 LDO 性能有负面影响。静态电流较高的 LDO 对于线路和负载的突然变化有更快的响应。 2 采用齐纳二极管的低成本方案 这里详细说明了一个采用齐纳二极管的低成本稳压器方案。 可以用齐纳二极管和电阻做成简单的低成本 3.3V稳压器,如图 2-1 所示。在很多应用中,该电路可以替代 LDO 稳压器并具成本效益。但是

单片机5V转3.3V电平你能想到几种方式,这里有19种,你都会吗?

只谈情不闲聊 提交于 2021-02-02 12:54:26
技巧一:使用LDO稳压器,从5V电源向3.3V系统供电 标准三端线性稳压器的压差通常是 2.0-3.0V。要把 5V 可靠地转换为 3.3V,就不能使用它们。压差为几百个毫伏的低压降 (Low Dropout, LDO)稳压器,是此类应用的理想选择。图 1-1 是基本LDO 系统的框图,标注了相应的电流。从图中可以看出, LDO 由四个主要部分组成: 1. 导通晶体管 2. 带隙参考源 3. 运算放大器 4. 反馈电阻分压器 在选择 LDO 时,重要的是要知道如何区分各种LDO。器件的静态电流、封装大小和型号是重要的器件参数。根据具体应用来确定各种参数,将会得到最优的设计。 LDO的静态电流IQ是器件空载工作时器件的接地电流 IGND。IGND 是 LDO 用来进行稳压的电流。当IOUT>>IQ 时, LDO 的效率可用输出电压除以输入电压来近似地得到。然而,轻载时,必须将 IQ 计入效率计算中。具有较低 IQ 的 LDO 其轻载效率较高。轻载效率的提高对于 LDO 性能有负面影响。静态电流较高的 LDO 对于线路和负载的突然变化有更快的响应。 技巧二:采用齐纳二极管的低成本供电系统 这里详细说明了一个采用齐纳二极管的低成本稳压器方案。 可以用齐纳二极管和电阻做成简单的低成本 3.3V稳压器,如图 2-1 所示。在很多应用中,该电路可以替代 LDO 稳压器并具成本效益。但是

硬件工程师常用的5V转3.3V方法

只谈情不闲聊 提交于 2021-02-02 10:57:48
今天为大家分享5V转3.3V的多种方法。 1 使用LDO稳压器 标准三端线性稳压器的压差通常是 2.0-3.0V。要把 5V 可靠地转换为 3.3V,就不能使用它们。压差为几百个毫伏的低压降 (Low Dropout, LDO)稳压器,是此类应用的理想选择。图 1-1 是基本LDO 系统的框图,标注了相应的电流。从图中可以看出, LDO 由四个主要部分组成: 1. 导通晶体管 2. 带隙参考源 3. 运算放大器 4. 反馈电阻分压器 在选择 LDO 时,重要的是要知道如何区分各种LDO。器件的静态电流、封装大小和型号是重要的器件参数。根据具体应用来确定各种参数,将会得到最优的设计。 LDO的静态电流IQ是器件空载工作时器件的接地电流 IGND。IGND 是 LDO 用来进行稳压的电流。当IOUT>>IQ 时, LDO 的效率可用输出电压除以输入电压来近似地得到。然而,轻载时,必须将 IQ 计入效率计算中。具有较低 IQ 的 LDO 其轻载效率较高。轻载效率的提高对于 LDO 性能有负面影响。静态电流较高的 LDO 对于线路和负载的突然变化有更快的响应。 2 采用齐纳二极管的低成本方案 这里详细说明了一个采用齐纳二极管的低成本稳压器方案。 可以用齐纳二极管和电阻做成简单的低成本 3.3V稳压器,如图 2-1 所示。在很多应用中,该电路可以替代 LDO 稳压器并具成本效益。但是

做个别出心裁的圣诞礼物

梦想的初衷 提交于 2021-02-02 02:07:09
忙活了小半年,转眼间圣诞将至。这次我是没时间像以前那样,走一套方案、PCB、焊接、程序、调试的流程了,只好在现有的开发板上写代码了。 当我做出这个决定时,我的想法只是用EasyElectronics板在0.96寸OLED显示屏上画一颗爱心。但是写着写着我就觉得这个爱心难画—— 我找不到一个含蓄之中带有三分活泼三分俏皮四分可爱的爱心形状; 相比以前做过的双色666光立方(也许以后会写吧),画个爱心实在入不了我的法眼。 于是怒改方案,把抠到一半的爱心图扔进了回收站。 但是画什么呢?静态的爱心不行,要画个会动的。什么会动呢?GIF!世上GIF千千万,选哪个呢? 我选了微信表情包“长草颜团子过年啦”第一行第二个“喜欢你”。 一、获取每一帧图像 网上查阅了一下相关资料,发布的表情想要获得GIF是基本没戏的。只有暴力截屏了。 工具:手机。 操作:录屏。 并传输到电脑,此步骤省略。然后把每一帧挖出来。 工具:<a href="https://potplayer.daum.net/" target="_blank">PotPlayer</a>(也可以用其他软件)。 操作:对于每一帧(用D与F来逐帧播放),保存当前帧(png格式)。 一共获得19张不同的图片。我没找到可以批量裁剪图片的软件。 工具:画图。 操作:对于每一帧,裁剪出表情部分。 二、极致色彩->简约线条 现在有了表情的每一帧

5-基于TMS320C6678+XC7K325T的6U CPCIe高性能处理平台

杀马特。学长 韩版系。学妹 提交于 2021-02-01 01:47:18
基于TMS320C6678+XC7K325T的6U CPCIe高性能处理平台 一、板卡概述 本板卡系自主研发,基于CPCI 6U架构,符合CPCI2.0标准。采用 DSP TMS320C6678芯片和Xilinx公司K7系列FPGA XC7K325T-2FFG900,XC7K160T-2FBG672芯片作主处理器。板卡包含PCI接口、2路千兆以太网接口、FMC接口、4路SFP+光口,仿真器接口。可用于软件无线电系统,基带信号处理,无线仿真平台,高速图像采集、处理等。支持热插拔,设计芯片满足工业级要求。 二、处理器 TI DSP TMS320C6678,Xilinx FPGA XC7K325T-2FFG900,Xilinx FPGA XC7K160T-2FBG672; 三、内存 C6678 ,2GB DDR3 ,64 bit,1333MHz 带ECC,32MB NorFlash 程序加载; XC7K325T, 2GB DDR3 ,64 bit, 128M BPI Flash 程序加载; XC7K160T ,2GB DDR3 ,64 bit; 四、片间互联 C6678 与 XC7K325T 实现 SRIO x4 @ 3.125Gbps/Lane 互联; C6678 与 XC7K325T 实现 GPIO,UART,SPI互联; XC7K325T 与 XC7K160T

STM32学习之USATR寄存器配置(STM32F401ZGT6)

北战南征 提交于 2021-01-31 23:16:24
串口 1.通信:设备间信息的交互  有线通信:以太网,串口,USB,CAN等   无线通信:wifi,蓝牙,红外,2/3/4/5G,广播,NB-IOT等 2.通信的分类   并行通信:一次传输多位数据,传输速度快,多使用在近距离传输,CPU中的总线,MCU与内存,下载烧录器等      串行通信:一次传输一位数据。传输距离远 串行通信按照数据传输方向:   单工:数据单方向传输 -----广播,收音机   半双工:数据可以双向传输,同一时刻只能一个方向传输(A到B)-----对讲机   全双工:数据可以双向传输 ---手机,SPI等 同步通信:接收时钟与发送时钟严格同步,通常要有同步时钟 异步通信:字符与字符之间的传送是完全异步的,位与位之间的传送基本上是同步的 串行通信 串行通信接口(通常指COM接口),是采用串行方式扩展接口。 1.物理层   a.管脚     TXD数据发送管脚,RXD数据接收管脚,GND信号地   b.连接方式     直接相连,距离近,芯片与模块之间,模块与模块之间      2.RS232------负逻辑电平    3.数据链路层 --------------位协议 ----------232 协议         起始位 数据位 奇偶校验位 停止位 位数       1         5~8          1          1~2 电平  

Issue in interfacing SPI e-ink display with PIC 18F46K22

不羁岁月 提交于 2021-01-28 04:48:30
问题 I am using a PIC 18F46K22 in SPI master mode to communicate with a Waveshare 1.54" ePaper Module. The FOSC frequency is 8Mhz internal and SPI configuration is FOSC/4. So when I check the output on logic-analyzer some output bits are differ from expected. And there is some deviation in SCL. #include <xc.h> #include "config.h" #include <stdbool.h> #include <stddef.h> #include <stdint.h> #include "main.h" //#define _XTAL_FREQ 8000000 #define SPI1_DUMMY_DATA 0x0 #define SPI_RX_IN_PROGRESS 0x0

树莓派出微控制器了!Raspberry Pi Pico 只需 4 美元

倖福魔咒の 提交于 2021-01-28 02:31:02
整理 | 郑丽媛 来源 | CSDN(ID:CSDNnews) 昨天,树莓派搞了个大动作:推出了首款微控制器开发板 Raspberry Pi Pico!该开发板基于树莓派开发的全新芯片——RP2040,并且作为双核 Arm Cortex-M0+ 的它只需 4 美元(人民币约 26 元),这是什么神仙板子? 典型的树莓派存在缺陷 迄今为止,树莓派已售出约 3700 万台,它能经久不衰得益于其连接软硬件方面的卓越能力,开发爱好者们可以通过运行在树莓派上的软件去读取传感器、执行计算和驱动执行器等等。 但与此同时,Raspberry Pi Trading 的首席运营官 James Adams 也指出,原本的树莓派存在一些缺陷: 最低功率模式下,Raspberry Pi Zero 也要消耗 100 毫瓦的电量; 树莓派本身不支持模拟输入; 树莓派虽然可以运行“裸机”软件,但是在 Linux 等通用操作系统下运行的软件并不适合对单个 I/O 引脚进行低延迟控制。 因此,现实中许多业余爱好者与工业应用程序都将树莓派与微控制器相结合,由树莓派负责繁重的计算、网络访问和存储,微控制器来处理模拟输入和低延迟I/O,有时还提供极低功耗的待机模式。 树莓派官方也一直想制作出属于自己的微控制器级产品,最终顿悟:想做出自己真正想要的产品,首先得学会自制芯片! RP2040 芯片 RP2040

Python IOError: [Errno 90] Message too long, Passing long list to SPI function

坚强是说给别人听的谎言 提交于 2021-01-24 09:50:50
问题 I'm programming my A13-OLinuXino-MICRO using the provided pyA13 0.2.2 SPI driver to send data to an LCD. Ideally I would like to send a list containing 320*240*2 (320*240 pixel 16 bits per color) bytes to be written in one continuous write command to be speed efficient. The drivers in spi.c and spi_lib.c had an 8bit tx_len which limited me to 256 bytes so I modified them to 32bit which worked but now I receive an error when I try to pass a list that is more than 4096 values long in my spi