上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 43 下一页

2022年1月22日

STC8H开发(七): I2C驱动MPU6050三轴加速度+三轴角速度检测模块

摘要: STC8H开发(七): I2C驱动MPU6050三轴加速度+三轴角速度检测模块 MPU-6050是InvenSense生产的六轴运动跟踪芯片, 芯片尺寸4×4×0.9mm, QFN封装. 整合了三轴陀螺仪, 三轴加速度计, 片内温度传感器和数字运动处理器(DMP), 可以使用I2C接口外接三轴电子罗盘的输入,提供完整的九轴运动融合输出. 阅读全文

posted @ 2022-01-22 12:54 Milton 阅读(2411) 评论(0) 推荐(0) 编辑

2022年1月19日

STC8H开发(六): SPI驱动ADXL345三轴加速度检测模块

摘要: STC8H开发(六): SPI驱动ADXL345三轴加速度检测模块 ADXL345是一款常见的的3轴加速度计, Analog Device生产. 13位分辨率, ±16 g测量范围, 分辨率3.9 mg/LSB. 可通过SPI(3线或4线)或I2C接口访问. 主要用于倾斜检测, 静态重力加速度测量, 以及运动或冲击导致的动态加速度测量. 能够测量不到1.0°的倾斜角度变化. 可以对单击, 双击, 自由落体等情况设置中断. 市面上的模块, 一般是8个pin脚, 在使用SPI接线方式的情况下, 与STC8H的接线方式如下. 除了SPI用到的CS, MISO, MOSI, SCLK以外, STC8H还需要提供两个中断输入, 因为INT0, INT1已经被SPI接口占用, 所以只能用INT2和INT3, 这两个外部中断只支持低电平触发, 所以在ADXL345中需要设置中断输出为active low. 阅读全文

posted @ 2022-01-19 11:51 Milton 阅读(2512) 评论(0) 推荐(3) 编辑

2022年1月15日

Spring专题2: DI,IOC 控制反转和依赖注入

摘要: 合集目录 Spring专题2: DI,IOC 控制反转和依赖注入 https://docs.spring.io/spring/docs/2.5.x/reference/aop.html https://docs.spring.io/spring/docs/2.5.x/reference/aop.ht 阅读全文

posted @ 2022-01-15 21:29 Milton 阅读(67) 评论(0) 推荐(0) 编辑

Spring专题1: 静态代理和动态代理

摘要: 合集目录 Spring专题1: 静态代理和动态代理 为什么需要代理模式? 代理对象处于访问者和被访问者之间,可以隔离这两者之间的直接交互,访问者与代理对象打交道就好像在跟被访者者打交道一样,因为代理者通常几乎会拥有全部被代理者的职能,代理对象能够处理的访问请求就不必要劳烦被访问者来处理了. 代理对象 阅读全文

posted @ 2022-01-15 21:17 Milton 阅读(122) 评论(0) 推荐(0) 编辑

JVM专题3: GC 垃圾回收

摘要: 合集目录 JVM专题3: GC 垃圾回收 什么是GC? 为什么要有 GC? Garbage Collection, 用于内存回收. 简述一下 Java 垃圾回收机制? 那些内存需要回收 虚拟机中程序计数器, 本地方法区, 虚拟机栈随着线程而消亡. 栈中的栈帧随着方法调入和调出而产生和消亡, 垃圾回收 阅读全文

posted @ 2022-01-15 21:16 Milton 阅读(137) 评论(0) 推荐(0) 编辑

JVM专题2: JVM内存结构

摘要: 合集目录 JVM专题2: JVM内存结构 Java 内存分配 JVM 内存结构 The JVM is an abstract computing machine that enables a computer to run a Java program. There are three notion 阅读全文

posted @ 2022-01-15 21:15 Milton 阅读(214) 评论(0) 推荐(0) 编辑

JVM专题1: 类和类加载机制

摘要: 合集目录 JVM专题1: 类和类加载机制 Java对象的结构 在HotSpot虚拟机中, 对象在内存中存储的布局可以分为3块区域 对象头Header 实例数据Instance Data 对齐填充Padding 对象头包含的数据有 markword 用于存储对象自身的运行时数据, 如HashCode, 阅读全文

posted @ 2022-01-15 21:11 Milton 阅读(97) 评论(0) 推荐(0) 编辑

Java多线程专题6: Queue和List

摘要: 合集目录 Java多线程专题6: Queue和List CopyOnWriteArrayList 如何通过写时拷贝实现并发安全的 List? CopyOnWrite(COW), 是计算机程序设计领域中的一种优化策略, 即写入时复制. 其机制当有多个线程同时去请求一个资源时(可以是内存中的一个数据), 阅读全文

posted @ 2022-01-15 21:09 Milton 阅读(346) 评论(0) 推荐(0) 编辑

Java多线程专题5: JUC, 锁

摘要: 合集目录 Java多线程专题5: JUC, 锁 什么是可重入锁、公平锁、非公平锁、独占锁、共享锁 可重入锁 ReentrantLock A ReentrantLock is owned by the thread last successfully locking, but not yet unlo 阅读全文

posted @ 2022-01-15 21:02 Milton 阅读(76) 评论(0) 推荐(0) 编辑

Java多线程专题4: 锁的实现基础 AQS

摘要: 合集目录 Java多线程专题4: 锁的实现基础 AQS 对 AQS(AbstractQueuedSynchronizer)的理解 Provides a framework for implementing blocking locks and related synchronizers (semap 阅读全文

posted @ 2022-01-15 21:00 Milton 阅读(101) 评论(0) 推荐(0) 编辑

Java多线程专题3: Thread和ThreadLocal

摘要: 合集目录 Java多线程专题3: Thread和ThreadLocal 进程, 线程, 协程的区别 进程 Process 进程提供了执行一个程序所需要的所有资源, 一个进程的资源包括虚拟的地址空间, 可执行的代码区, 可用的系统接口, 本地存储, 系统保障的安全上下文(security contex 阅读全文

posted @ 2022-01-15 20:55 Milton 阅读(492) 评论(0) 推荐(0) 编辑

Java多线程专题2: JMM(Java内存模型)

摘要: 合集目录 Java多线程专题2: JMM(Java内存模型) Java中Synchronized关键字的内存语义是什么? If two or more threads share an object, and more than one thread updates variables in tha 阅读全文

posted @ 2022-01-15 20:46 Milton 阅读(110) 评论(0) 推荐(0) 编辑

Java多线程专题1: 并发与并行的基础概念

摘要: 合集目录 Java多线程专题1: 并发与并行的基础概念 什么是多线程并发和并行? 并发: Concurrency 特指单核可以处理多任务, 这种机制主要实现于操作系统层面, 用于充分利用单CPU的性能, 时分复用同时处理多个任务 并行: Parallelism 特指使用多核处理单任务或多任务, 这种 阅读全文

posted @ 2022-01-15 20:45 Milton 阅读(240) 评论(0) 推荐(0) 编辑

Java语法专题2: 类变量的初始化顺序

摘要: 合集目录 Java语法专题2: 类变量的初始化顺序 问题 这也是Java面试中出镜率很高的基础概念问题 描述一下多级继承中字段初始化顺序 描述一下多级继承中类变量初始化顺序 写出运行以下代码时的控制台输出 public class Base { public static int v1 = meth 阅读全文

posted @ 2022-01-15 20:44 Milton 阅读(186) 评论(0) 推荐(0) 编辑

Java语法专题1: 类的构造顺序

摘要: 下面的第二个问题来源于Oracle的笔试题, 非常经典的一个问题, 我从07年开始用了十几年. 看似简单, 做对的比例不到2/10. 问题: 描述一下多级继承中类的构造顺序, 给定两段代码, 分别是父类和子类, 写出(或选择)正确的输出 阅读全文

posted @ 2022-01-15 20:43 Milton 阅读(245) 评论(0) 推荐(0) 编辑

Java架构系列问题合集-目录

摘要: 接下来会做一个系列, 分类说明关于Java项目研发和架构工作需要了解的问题 Java语法 Java语法专题1: 类初始化的构造顺序 https://www.cnblogs.com/milton/p/15804995.html 描述一下多级继承中类的构造顺序 给定两段代码, 分别是父类和子类, 写出( 阅读全文

posted @ 2022-01-15 00:48 Milton 阅读(225) 评论(0) 推荐(0) 编辑

2022年1月13日

STC8H开发(五): SPI驱动nRF24L01无线模块

摘要: 对应nRF24L01的SPI通信部分. 这里对发送作了一些优化: 1. 将命令和后续数据合并为字节数组一并发出, 节约发送开销, 2. 发送和接收使用同一段内存地址, 节约内存开销, 3. 每次交互后, 地址的第一个字节都是当前nRF24L01的状态数据, 在某些场景可以避免二次调用. 发送间隔1ms时发送速率最高, 能达到720~748个package每秒, 每个package是32字节, 差不多23K字节每秒 阅读全文

posted @ 2022-01-13 20:54 Milton 阅读(2446) 评论(0) 推荐(0) 编辑

联盛德 HLK-W806 (十三): 运行FatFs读写FAT和exFat格式的SD卡/TF卡

摘要: 联盛德 HLK-W806 (十三): 运行FatFs读写FAT和exFat格式的SD卡/TF卡 FatFs已经将Fat格式的操作作了抽象化, 在新环境下运行FatFs, 只需要实现 diskio.c 中的几个方法, 还需要实现RTC接口, 这样才能在创建文件时写入正确的时间. 完整的代码在演示用例下, 使用了最新的R0.14b版本的FatFs. 在选项中开启了长文件名支持, 开启了对exfat格式的支持, 能正常挂载和读写64GB的大容量TF卡. 阅读全文

posted @ 2022-01-13 16:32 Milton 阅读(1880) 评论(0) 推荐(0) 编辑

2022年1月11日

STC8H开发(四): FwLib_STC8 封装库的介绍和注意事项

摘要: 前面已经介绍了如何在Keil5和PlatformIO环境下使用FwLib_STC8, 展示了ADC数模转换的例子. 这篇整体介绍一下这个封装库, 以及使用这个封装库进行开发的注意事项. 写这个封装库的初衷是希望知识和经验能复用, 避免每次在做STC8G和STC8H的开发时去查手册, 这个是最主要的动机; 其次是要在复用的情况下还能使程序接近直接操作寄存器的效率, 不能因为引入封装库造成明显的资源开销. 阅读全文

posted @ 2022-01-11 01:20 Milton 阅读(3014) 评论(1) 推荐(1) 编辑

2022年1月9日

STC8H开发(三): 基于FwLib_STC8的模数转换ADC介绍和演示用例说明

摘要: 前面介绍了在Keil5和PlatformIO环境下使用FwLib_STC8, 接下来以STC8H系列为主, 结合demo中的演示用例介绍ADC(模数转换). STC8G和STC8H的ADC部分在寄存器设置上基本上一致, 但是不同型号对应的通道编号, 通道数量和精度有区别. ADC采样的精度实际上是不能设置的, 采样都是用的当前型号的最大精度, 结果存储在[ADC_RES, ADC_RESL]这两个寄存器. 为方便不同场合使用不同精度的结果, 可以将结果设置为左对齐或右对齐. 当设置为左对齐时, 可以只取ADC_RES的值(8位), 忽略最后两位. 当设置位右对齐时, 根据实际的精度, 可以取ADC_RES的低4位(12位精度)或低2位(10位精度), 加上ADC_RESL得到最终结果. 阅读全文

posted @ 2022-01-09 21:50 Milton 阅读(3285) 评论(9) 推荐(0) 编辑

上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 43 下一页

导航