- 博客(101)
- 资源 (10)
- 收藏
- 关注
原创 永磁同步电机 开发日志_ 伺服步进驱动
我觉得我应该写点什么了从去年10月,也就是2019年10月15号开始研究永磁同步驱动,一个漫长的学习过程终于理解了 磁场定向控制的基础理论, 实际操作让电机转起来,还是不太容易的.想要转好,难上加难比如:1.现在的有感,弱磁(反向电动势超过母线电压时,调整相电流超前相电压,达到弱磁的目的),母线电压在变,弱磁多少也在变.不能让电机失控2.在超过2倍基速时(...
2020-05-03 17:42:24 591
原创 1US内的同步通讯 有哪些协议和通讯方式?
**特点**:它使用了专用硬件和改进的算法来进一步减少抖动和延迟,适用于对时间同步有极高要求的应用场景,比如粒子物理实验。- **描述**:IEEE 1588 PTP是一种网络时间同步协议,旨在通过以太网等网络提供亚微秒级的时钟同步精度。- **特点**:这类模块往往针对具体应用场景优化,能够在保证一定范围内的移动性的同时保持较高的同步精度。- **特点**:这种方法仍然依赖于NTP协议的基本框架,但是增加了硬件层面的支持以提高时间戳的准确性。### 6. 专用同步模块。### 5. 光纤传输。
2024-09-29 09:35:45 366
原创 Hamming码 ECC错误检测纠正
**错误检测与纠正**:接收端收到编码后的信息后,会重新计算每个校验位,并与接收到的信息中的校验位进行比较。- **数据位与校验位**:假设原始数据包含k个数据位,那么通过添加r个校验位后,整个编码后的字长为n=k+r。校验位的位置通常是2的幂次(即第1, 2, 4, 8, ...位),而其余位置用于存放数据位。- **校验位的计算**:每个校验位负责检查包括它自己在内的特定组的数据位。- 第3个校验位(P4)覆盖4, 5, 6, 7, 12, 13...等位(即二进制下第3位为1的所有位置)。
2024-09-27 11:50:22 158
原创 C++类中采用位域时为什么不能使用字节对齐?
共用体允许你在相同的内存位置存储不同类型的数据,这意味着你可以将位域和非位域的数据放在同一个内存区域中。这样,你可以通过位域来操作数据,同时也能直接访问底层的字节数据,从而方便地进行HEX格式的转换和发送。在C++类中使用位域(bit-fields)时,不能直接应用字节对齐的原因主要是因为位域的布局和对齐是由编译器控制的,并且与具体的实现相关。这样可以绕过位域的对齐问题。通过这种方式,你可以通过位域来设置数据,然后通过共用体中的原始字节数组来访问这些数据的底层表示,从而方便地进行HEX格式的转换和发送。
2024-09-19 09:07:16 364
原创 血氧仪测量原理
血氧仪的测量部位通常是耳垂或指尖,因为这些部位有丰富的末梢循环血液,能够准确反映人体的血氧状况。血氧仪的使用方便、快捷,广泛应用于医院、家庭等场合,特别是在监测呼吸系统疾病、心血管疾病等患者的血氧饱和度时具有重要意义。血氧仪,也称为脉氧仪,是临床上比较常用的一种无创测血氧状况的仪器。其主要通过手指血氧测量血氧饱和度,原理是利用LED光电探测器分辨不同波长的比例,从而计算氧合血红蛋白的含量。
2024-09-13 08:42:01 161
原创 STM32H7 如何使用ITCM DTCM?
STM32H7系列微控制器中的ITCM()和DTCM()是两块高速内存区域,它们通过专用的TCM总线直接与Cortex-M7核心相连,提供了极高的访问速度。
2024-09-10 10:26:49 468
原创 IAR 调试程序进入EXIT_0, 可能是什么问题?
IAR调试程序时进入EXIT_0,通常表示程序在执行过程中遇到了某种异常或错误,导致它提前退出。
2024-09-10 08:54:28 440
原创 CMSIS RTOS2 的主要函数有哪些?
CMSIS-RTOS2(Cortex Microcontroller Software Interface Standard Real-Time Operating System API version 2)是在基于Arm Cortex处理器的设备上运行的实时操作系统内核上指定的通用RTOS接口。它提供了一套丰富的API,以便应用程序和中间件组件能够在不同的RTOS内核上实现更好的代码重用和更简单的集成。
2024-09-06 15:34:49 794
原创 在C++中成员初始化的区别
在你的例子中,m_strCH1m_strCH2等字符串变量和m_nSlider1m_Addr等内置类型变量通过成员初始化列表进行初始化,这是推荐的做法,因为它们避免了不必要的默认构造和赋值开销。而等复杂类型或数组可能需要在构造函数体内使用memset或其他方式进行初始化,因为它们可能需要更复杂的初始化逻辑。
2024-09-05 14:56:55 240
原创 FreeRtos CMSIS V1和V2有什么区别?
CMSIS(Cortex Microcontroller Software Interface Standard)是ARM公司推出的一种基于CORTEX内核微处理器的软件接口标准,它旨在简化微控制器软件开发,为开发人员提供一致且高效的接口。CMSIS分为不同的版本,其中V1和V2是两个重要的版本,它们在多个方面存在区别。
2024-09-03 15:37:00 494
原创 嵌入式是用C++还是用C的架构 怎么选?
综上所述,选择使用 C++ 还是 C 的架构需要综合考虑语言特性、项目需求、开发周期和成本等因素。在实际选择时,可以根据具体情况进行权衡,选择最适合项目的架构。如果项目需要面向对象编程、泛型编程、丰富的标准库等高级特性,并且对性能要求不是特别严格,那么 C++ 可能是更好的选择。如果项目对性能要求极高、可移植性要求高,或者团队对 C 语言更加熟悉,那么 C 架构可能更加合适。
2024-09-02 14:47:41 758
原创 【C++】如何解决“pointer to incomplete class type is not allowed”。
这个错误信息 “pointer to incomplete class type is not allowed” 在 C++ 中通常表示你正在尝试使用一个尚未完全定义的类的指针。总之,这个错误通常是由于类定义不完整或缺少必要的头文件包含引起的。通过检查类的定义和头文件的包含情况,可以解决这个问题。
2024-08-29 14:54:10 298
原创 如何测量空气中的氧含量?
在选择测量方法时,需要考虑的因素包括精度要求、成本、响应时间以及是否需要便携性等。例如,在工业安全、潜水、航空航天和医疗领域,通常使用电化学传感器或顺磁氧分析仪来实时监测氧气水平。而在科研领域,可能更倾向于使用红外吸收光谱法或激光吸收光谱技术来获得更高的精度。测量空气中氧气(O2)的含量通常可以通过几种不同的方法来完成。
2024-08-15 08:59:32 315
原创 深度摄像头 用什么来采集深度?
这些技术各有优缺点,在不同的应用场景中发挥着重要作用。比如,结构光技术在近距离测量中精度较高,ToF 技术适合中远距离和快速测量,双目立体视觉技术则在一些需要较大视场和较高分辨率的场景中表现出色。
2024-07-26 09:51:23 273
原创 STM32中的I2S(Inter-IC Sound)接口和SA接口(Serial Audio Interface)的区别
兼容性:I2S是SAI的一个子集,所有I2S设备理论上都可以通过配置SAI接口来兼容。灵活性:SAI提供更多的配置选项,支持更广泛的音频传输协议,适合更复杂和多样化的音频应用需求。选择依据:如果应用只需要基本的数字音频传输功能,I2S可能已经足够。而对于需要更高级特性和兼容多种音频标准的系统,SAI将是更好的选择。
2024-07-02 15:48:16 1051 1
原创 MOS管的结温估算
MOS管表面温度(𝑇𝑠Ts)的检测可以通过直接粘贴温度传感器如热敏电阻、热电偶或使用红外温度计进行非接触式测量来实现,如前文所述。
2024-07-02 08:58:52 1114
原创 YOLO 在OPENCV QT上如何使用?
YOLO(You Only Look Once)是一种广泛应用于目标检测的任务的算法。.yaml以下是一个简化的代码示例(假设使用PyTorch和YOLOv5):Python。
2024-06-28 09:16:22 1183 1
原创 关于FreeRTOS在MCU(微控制器)和PC(个人计算机)上的源代码的区别
综上所述,FreeRTOS在MCU和PC上的核心源代码是相同的,但配置文件、移植层代码和应用程序代码是不同的。这些不同之处主要是为了满足不同硬件平台的硬件资源、性能特性和实时性要求。在编写和配置FreeRTOS时,需要根据具体的硬件平台和应用需求来选择合适的配置文件和编写相应的移植层代码。
2024-06-27 16:13:02 363 1
原创 EtherCAT 和 UDP 通讯的实时性 区别
EtherCAT 使用主从架构,并采用“加工转发”(Processing on the Fly)技术,即数据帧在通过每个从站时被读取或写入,无需存储和重新传输,大大减少了通信延迟。UDP的设计初衷是为了提供快速、低开销的数据传输,适用于那些能够容忍一定数据丢失或不需要可靠传输的应用场景,如音视频流、在线游戏等。虽然UDP本身不提供实时保证,但在某些实时性要求较高的应用中,通过适当的软件设计和网络配置,UDP可以被用于构建实时通信系统。
2024-06-03 14:42:31 646
原创 UNICODE编码格式读取文件并显示在LIST
UNICODE编码格式读取文件并显示在LIST。提供两种方法,第一种比较简单。第二种根据自己需求定长度。
2024-05-24 14:58:50 208
原创 在 MFC 中 UNICODE 加 _T 与 L 长字符串,有什么区别?
T提供了字符集无关的字符串定义方式,适用于希望代码在不同字符集配置下都能工作的场景。L强制字符串为Unicode宽字符形式,适用于明确需要宽字符串的场景,无论项目配置如何。在处理长字符串时,两者的主要区别在于_T提供了灵活性和兼容性,而L则直接明确地指定了Unicode编码,不考虑项目字符集配置。对于长字符串,选择哪种方式取决于你的具体需求和对代码兼容性的考量。
2024-05-23 14:52:15 582
原创 TCP(Transmission Control Protocol,传输控制协议)如何保证数据的完整性?
当接收方收到数据后,会发送一个包含最新收到数据序列号的ACK报文给发送方,确认数据已收到。:TCP使用三次握手建立连接,确保双方准备好进行数据传输,四次挥手断开连接,确保双方都知晓连接的终止,进一步确保数据传输的完整性。:发送方为每个发送的数据包设置一个计时器。:TCP还实现了拥塞窗口的概念,用于动态调整发送速率以应对网络拥塞情况,防止过多的数据注入到网络中,这有助于减少数据包的丢失。:通过滑动窗口机制,TCP允许接收方告知发送方其缓冲区的可用空间大小,从而控制发送方的发送速率,避免数据溢出导致数据丢失。
2024-05-08 11:06:26 607 1
原创 ZCANPRO的实时曲线真的可以
如果他们再推出一款像freemaster一样的CAN通讯工具,就爽了。不光能看,还能通过MAP和OUT文件设置MCU内部的变量参数。
2024-04-18 08:39:23 1042
原创 非对称加密(Asymmetric Cryptography)
这两把密钥互相关联但不能互相推算得出对方,也就是说,即使知道了其中一个也无法计算出另一个。非对称加密的工作原理主要基于数学上的难解问题,如大数因子分解问题(RSA算法)、离散对数问题(Diffie-Hellman密钥交换、ElGamal加密算法)或椭圆曲线上的运算(ECC,Elliptic Curve Cryptography)等。由于只有知道私钥d的人才能顺利执行解密操作,所以在不知道私钥的情况下,即便知道公钥和加密后的信息,攻击者也无法轻易破解得到原始的明文信息,从而实现了信息的安全传输。
2024-04-10 17:54:16 427
原创 CANFD通讯数据64字节,强制成结构体类型的做法---用C语言
在处理通信数据时,特别是当数据按照特定结构体的布局在网络上传输时,你可能需要将接收到的字节流转换为相应的结构体类型。请注意,如果涉及跨平台通信,还需要考虑字节序问题,尤其是对于非字符类型的数据成员(如uint32_t、double等),可能需要在转换前或转换后做适当的字节序转换(如使用。是为了防止编译器在结构体内部插入额外的填充字节以对齐结构体成员,这对于按固定字节顺序传输的数据非常重要。等函数处理网络字节序和主机字节序的不同)。
2024-04-10 08:45:34 319
原创 Microsoft Windows操作系统中,创建线程
是Windows SDK提供的原生API函数,用于创建一个新的线程。它接受一系列参数,包括线程安全属性、堆栈大小、线程入口地址(即线程开始执行的函数)、传递给线程函数的参数、线程创建标志(如是否立即运行或挂起),以及一个可选的输出参数来接收线程ID。两者都能创建新的线程,但在不同的场景下可能会有不同的优缺点。在大多数情况下,除非需要C运行时库提供的特定功能或者需要控制线程结束后的清理行为,就已经足够满足创建线程的需求。相比,它允许更多的控制,比如线程的存储模型,并且创建的线程句柄可以直接用于。
2024-04-07 10:16:35 292
原创 STM32G系 编程连接不上目标板,也有可能是软件不兼容。
电源脚 VDDA 地线,SWD的四条线,还是不行,浪费了一天,第二天才想起,是不是G系升级了 SWD协议。结果下载最新版STM32 ST-LINK Utility4.60,就OK了。由于一直用的老版本STM32 ST-LINK Utility 4.20 ,找遍了所有问题,SWD就是连不上目标板。
2024-04-01 08:45:03 484
原创 PCB Layout完成后,检查注意事项
特别是用的别人的原理图,要特别检测封装脚位号是否与原理图一致,否则极性反了。是否阻容元件离主元件太远,布置方向反过来,线更短等问题。检查关键芯片电源线和地线是否足够粗,以承受预期的电流。检查对温度敏感元件是否距发热元件太近。是否一致和接对,相关网络是否接通。PCB设计软件中的DRC工具。
2024-03-01 14:27:11 771
原创 VS2019 -nan(ind) 错误
一个函数返回值为-nan(ind), 除数不为0,也没有对负数开方,怎么会呢。但是VS编译的时候没有报错。看来以后警告得全部去掉。定位了很久,结果不是该函数,而是函数之前的。
2023-09-25 17:08:07 335
原创 切线迭代找根的方法 mathematica
FindRoot[x^3 == 10, {x, 1}] (* 直接找根的方法 *)(* 切线迭代找根的方法 *)例: x^3-10 = 0,求x。
2023-09-21 15:46:28 233
原创 VS2019 设置注释和取消注释选选定内容
由于老是忘记,换了电脑就不行了,原来默认的太繁琐。每次都去设置选定内容,老是不行。上面这样就可以按一个组合键实现注释和不注释了。
2023-08-14 10:36:55 182
原创 OPENCV 训练分类器一
第二步,下面是修正过后的Python 将文件夹下面所有的图片转换成灰色小图像,用于存正片用的。第一步,安装OPENCV 见。
2023-06-29 22:57:02 270
二相步进电机细分驱动源码 STM32F103VCT6
2018-08-06
w25n01gv revg 032116.pdf
2018-08-06
w25n01g 源代码
2018-08-06
emWin5_V5.42_cn 中文教程
2017-11-18
ASP网站代码本地调试工具
2010-01-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人