产品人卫朋
左手产品,右手技术。《硬件产品经理》作者,“人人都是产品经理”专栏作家,“阿里云”开发者社区专家博主
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
嵌入式驱动源代码(22):函数回调之 Callback 机制
No0:callback应用场景虽然经过一段时间对android源码的研究,初步理解如何从app将参数设置到Linux kernel(高通camera部分),但对上层如何获得底层数据困惑不已,最近通过对android frameworks、hal、application层代码的分析,有了初步理解,作简要总结,会在下一篇文章介绍具体实现细节:上层通过使用callback机制来获得底层数据流-...原创 2016-04-05 11:55:45 · 5659 阅读 · 1 评论 -
嵌入式驱动源代码(21):NFC RC522 原理及示例解析
1、协议基础原理ISO-14443A 协议:国际标准化组织:International Organization for Standardization RFID 协议的一种;PICC:临近卡 - A 型和B 型PCD:临近耦合设备--指 MFRC522 模块ATQ:对请求的应答、ATQA 对 A 型卡请求的应答、ATQB 对 B 型卡请求的应答REQA:对...原创 2018-12-21 17:33:24 · 6695 阅读 · 1 评论 -
嵌入式驱动源代码(20):嵌入式Linux - IIC通信
I2C(Inter-Integrated Circuit),PHILIPS公司开发的两线式半双工同步串行总线,具有接口线少,控制方式简单,通信速率较高等优点。可以用来连接存储器(EEPROM、FLASH)、A/D、D/A转换器、LCD驱动器、传感器等等。I2C是一个多主机的总线,每个设备既可以当主控器或被控器,又可作为发送器或接收器,一条总线上可以有多个主机,但同一时刻只允许一个主机工作。原创 2024-07-26 17:13:21 · 227 阅读 · 0 评论 -
嵌入式驱动源代码(19):NFC 之 RC522 与 PN532 特性解析
相比于 RC522,PN532 集成度较高,不可避免的是成本也会成倍增加。1、RC522 特性解析高集成度的调制解调电路,采用少量外部器件,即可将输出驱动级接至天线;支持 ISO/IEC 14443 TypeA 和 MIFARE® 通信协议;读写器模式中与 ISO 14443A/MIFARE® 的通信距离高达 50mm,取决于天线的长度和调谐。支持 ISO 14443 212k...原创 2018-12-21 18:12:27 · 8697 阅读 · 0 评论 -
嵌入式驱动源代码(18):网络编程-原始套接字
目前,有效的分组类型有:目标地址是本地主机的分组用的 PACKET_HOST,物理层广播分组用的 PACKET_BROADCAST ,发送到一个物理层多路广播地址的分组用的 PACKET_MULTICAST,在混杂(promiscuous)模式下的设备驱动器发向其他主机的分组用的PACKET_OTHERHOST,源于本地主机的分组被环回到分组套接口用的。sll_addr和sll_halen指示物理层(如以太网,802.3,802.4或802.5等)地址及其长度,严格依赖于具体的硬件设备。原创 2024-07-26 16:21:40 · 216 阅读 · 0 评论 -
嵌入式驱动源代码(17):STM32 位域与联合体结合优化操作
1、位域详细介绍参考文章:位域位域可以实现在信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几 个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序...原创 2019-03-26 08:59:28 · 4202 阅读 · 1 评论 -
嵌入式驱动源代码(16):位深为1的BMP格式图片详解
1、数据结构一typedef struct tagBITMAPFILEHEADER {WORD bfType; //类型名,字符串“BM”,DWORD bfSize; //文件大小WORD bfReserved1; //保留字WORD bfReserved2; //保留字DWORD bfOffBits; //实际位图数据的偏移字节数,即前三个部分长度之和} BITMAPFILEHEADER;对应数据:WORD bfType : 0x4d42DWORD bfSize原创 2020-06-03 11:43:25 · 1743 阅读 · 0 评论 -
嵌入式驱动源代码(15):NFC 之 RC522 PICC 识别过程
识别过程:寻卡-->防冲突-->选卡-->操作卡PCD 是接近式卡,PICC 是接近式耦合设备。在通信过程中实际上是使用 PCD 命令控制 RC522 发出 PICC 命令与卡进行交互。1、寻卡有两个寻卡的命令:#definePICC_REQIDL0x26// 寻天线区内未进入休眠状态#definePI...原创 2019-05-16 09:49:09 · 5863 阅读 · 2 评论 -
嵌入式驱动源代码(14):加速度传感器(BMA222E)
/// 当前 ACCEL 是否已经完成工作参数配置的标识// 标识是否正在监测异常震动// 记录监测开始后的振动次数// 记录监测开始时的系统时间。原创 2024-07-19 13:16:33 · 426 阅读 · 0 评论 -
嵌入式驱动源代码(13):电子时钟万年历设计
电子时钟设计原创 2024-07-18 13:43:54 · 398 阅读 · 0 评论 -
硬件技术:Python中的数组切片
数组切片原创 2024-07-18 13:33:28 · 147 阅读 · 0 评论 -
嵌入式驱动源代码(12):嵌入式电子琴设计
乐音听起来有的高,有的低,这就叫音高,音高是由发音物体振动频率的高低决定的,频率高声音就高,频率低声音就低,不同音商的乐音是用C、D、E、F、G、A、B表示的,这7个字母就是乐音的音名,它们一般依次唱成DO、RE、MI、FA、SO、LA、SI,这是唱曲时乐音的发音,所以叫唱名。了解音乐的一些基本知识后可知,产生不同频率的音频脉冲即能产生音乐,对于单片机而言,产生不同频率有脉冲非常方便,可以利用它的定时/计数器来产生这样的方波频率信号,因此,需要弄清楚音乐中的音符和对应的频率,以及单片机定时计数的关系。原创 2024-07-17 14:58:53 · 230 阅读 · 0 评论 -
嵌入式驱动源代码(11):智能避障车设计
智能车设计原创 2024-07-16 13:25:24 · 391 阅读 · 0 评论 -
嵌入式驱动源代码(10):NFC芯片PN532驱动开发
PN532驱动开发原创 2024-07-15 10:36:41 · 878 阅读 · 0 评论 -
嵌入式驱动源代码(9):Linux内核移植
Linux内核移植原创 2024-07-10 15:35:57 · 329 阅读 · 0 评论 -
嵌入式驱动源代码(8):IO 模拟 SPI
嵌入式驱动SPI通信原创 2024-07-08 10:10:04 · 586 阅读 · 0 评论 -
嵌入式驱动源代码(7):MSP430 DCO 校正配置
MSP430 DCO设置原创 2024-07-03 13:16:26 · 345 阅读 · 0 评论 -
嵌入式驱动源代码(6):简单处理多任务的51单片机小系统
IoT 产品一般硬件相对简单,但有时也需要做任务管理,希望这篇文章可以为你解惑。1、任务管理1.1、添加任务INT8U SCH_Add_Task(void (code * pFunction)(void), const INT32U DELAY, const INT16U PERIOD, const INT8U PREEMPTIVE_EN) { INT8U Index ...原创 2018-09-03 16:47:20 · 2807 阅读 · 1 评论 -
嵌入式驱动源代码(5):STM32 文件系统 fatfs 移植笔记详解
1、内存和Flash介绍stm32 的 flash 地址起始于 0x0800 0000,结束地址是 0x0800 0000 加上芯片实际的 flash 大小,不同的芯片 flash 大小不同。RAM 起始地址是 0x2000 0000,结束地址是 0x2000 0000 加上芯片的 RAM 大小,不同的芯片RAM也不同。Flash 中的内容一般用来存储代码和一些定义为 const 的数...原创 2019-03-19 18:52:04 · 4806 阅读 · 1 评论 -
嵌入式驱动源代码(4):STM32 分散加载文件 .sct 解析
1、STM32 启动文件与 .sct 文件分析1) 定义STACK段,{NOINIT,读写}:分配一段内存大小为0.5K;2) 定义HEAP段, {NOINIT,读写}:分配一段内存大小为1K;3) 定义RESET段,{DATA,只读}:DCD各种中断向量;4) 定义|.text|段,{CODE,只读}:Reset_Handler函数,函数中最后加载了__main;对剩余的中断...原创 2019-03-27 08:55:52 · 5900 阅读 · 2 评论 -
嵌入式驱动源代码(3):STM32 内存分配详解
1、KEIL 编译后数据codeRO-dataRW-dataZI-dataflash 实际存储数据2、内存段bss 段、data段、text段、堆(heap)和栈(stack)。2.1、bss 段bss 段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域;bss 是英文Block Started by Symbol的简称;bss...原创 2019-03-14 08:51:48 · 4330 阅读 · 1 评论 -
嵌入式驱动源代码(2):语音芯片WTN6控制
WTN6驱动开发原创 2024-07-02 14:58:30 · 420 阅读 · 0 评论 -
嵌入式驱动源代码(1):MSP430 IO 模拟串口
MSP430模拟串口原创 2024-07-02 14:43:46 · 419 阅读 · 0 评论
分享