SourceGenerator 已经出来很久了,也一直在关注。之前观摩大佬 xljiulang 的 WebApiClient 使用 SourceGenerator 生成接口代理类,深受启发,准备拿过来用看看(发出白嫖的声音),写个编译期静态代理AOP。本篇重点是怎么获取元数据,得到想要的数据,生成
​  摘要:本文主要归纳总结蓝牙模块的不同工作模式,通过蓝牙模块不同的工作模式了解其扮演不同角色时工作的一个基本原理,为更深入的研究蓝牙模块底层的工作机制和技术方案进行铺垫。 1、主设备工作模式         主设备是能够搜索别人并主动建立连接的一方,从扫描状态转化而来的。其可以和一个或多个从设
防御式编程的重点就是需要防御一些程序未曾预料的错误,这是一种提高软件质量的辅助性方法,断言assert就用于防御式编程,编写代码时,我们总是会做出一些假设,断言就是用于在代码中捕捉这些假设。使用断言是为了验证预期的结果——当程序执行到断言的位置时,对应的断言应该为真;若断言不为真时,程序会终止执行
前言 在CAN协议中,CAN总线除了众多优秀的特点外,还具有错误监测功能、错误通知功能、和错误恢复功能、故障封闭功能。下面系统了解以下CAN总线上的错误帧。 错误检测 所有ECU均有可以检测错误的功能。 错误通知 检测出错误的ECU会立即通知其他ECU 错误恢复 正常发送消息的ECU,一旦检测出错
 摘要:蓝牙模块,是一种集成蓝牙功能的PCBA板,用于短距离无线通讯,蓝牙模块将芯片和外围硬件电路集成到一个PCB上,开发出所需的内置程序实现蓝牙功能的设备。可以通过相关接口和MCU控制设备进行数据传输、可实现蓝牙标准通信和组网。本文从蓝牙模块的不同的分类方式上去梳理蓝牙模块的类型,尽量的从分类方
一、引子         我们都知道对指针( Pointer)的操作,实际上是对计算机内存地址的操作,通过访问内存地址实现间接访问该地址中保存的数据。其实就是CPU的寻址方式中的间接寻址。简单概括正常使用指针时的3个步骤为: 定义指针变量 绑定指针即给指针变量赋值 解引用即间接访问目标变量通过一个
一、块设备简介 块设备驱动是存储设备驱动,块设备驱动相比字符设备驱动的主要区别如下: ①、块设备只能以块为单位进行读写访问,块是 linux 虚拟文件系统(VFS)基本的数据传输单位。字符设备是以字节为单位进行数据传输的,不需要缓冲。 ②、块设备在结构上是可以进行随机访问的,对于这些设备的读写
       关键字union,又称为联合体、共用体,联合体的声明和结构体类似,但是它的行为方式又和结构体不同,这里的行为方式主要指的是其在内存中的体现,结构体中的成员每一个占据不同的内存空间,而联合体中的所有成员共用的是内存中相同的位置。        简单看下区别: 1 struct MyS
概述 find 文件查找 grep 文本搜索 参考资料 概述 Linux 下使用 Shell 处理文本时最常用的工具有: find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk。 find 文件查找 man 文档给出的 find 命令的一般形式为: fi
因为之前的版本中,EF Core无法实现高效地批量插入、修改、删除数据,所以我开发了Zack.EFCore.Batch这个开源项目,比较受大家的欢迎,获得了400多个star。 从.NET 7开始,微软在Entity Framework Core 7内置了对高效地批量修改、删除数据的支持,详细请见
对于提供了MMU(存储管理器,辅助操作系统进行内存管理,提供虚实地址转换等硬件支持)的处理器而言,Linux提供了复杂的存储管理系统,使得进程所能访问的内存达到4GB。   进程的4GB内存空间被人为的分为两个部分--用户空间与内核空间。用户空间地址分布从0到3GB(PAGE_OFFSET,在0x
一、并发与竞争简介 并发:多个“用户”同时访问一个共享的内存。 竞争:多个“用户”同时访问一段共享的内存并对其修改,就会造成数据混乱,甚至程序崩溃,这就是竞争。 二、造成并发与竞争的原因 1、多线程并发访问, Linux 是多任务(线程)的系统,所以多线程访问是最基本的原因。 2、抢占式并发访问,
一、阻塞和非阻塞简介 当应用程序对设备驱动进行操作的时候,如果不能获取到设备资源,那么阻塞式 IO 就会将应用程序对应的线程挂起,直到设备资源可以获取为止。对于非阻塞 IO,应用程序对应的线程不会挂起,它要么一直轮询等待,直到设备资源可以使用,要么就直接放弃。   二、阻塞访问(等待队列) 阻
摘要   HMI 人机界面,已成为嵌入式产品中的重要的一环,为客户带来最直观的体验。一个高效且优质的 HMI 解决方案,能让产品在激烈的竞争中取得巨大的优势。 1. HMI 是什么?   HMI(Human Machine Interface)人机界面,是用户与设备内部系统之间交互信息的窗口。将设
尝试结合STM32F401的ADC, PWM, SPI(NRF24L01)和TIM, 试验了一下音频的无线传输(对讲机原型) 工作机制 音频采样 因为硬件的限制, 包括STM32F401片内存储, 内存大小, PWM频率, 以及之前实际测试NRF24L01得到的经验数据, 采样使用了最基础的8bi
大家好,我是痞子衡,是正经搞技术的痞子。 众所周知,痞子衡主要是在博客园个人主页精心维护文章发布、修改更新以及最重要的目录索引。 个人主页: https://www.cnblogs.com/henjay724/ 其它博客平台文章要么是自动同步,要么是无授权搬运,这些平台里的文章不一定是最新的,也