- 博客(125)
- 资源 (5)
- 收藏
- 关注
原创 Unity用于项目中的测试用例
Unity 是一个轻量级的测试框架,它使用 C 语言实现, 代码本身很小。其代码中大多数是宏定义,所以实际编译后的代码会更小, 比较适合在嵌入式测试应用。
2025-04-04 04:36:10
96
原创 非阻塞定时器的总结
1、参考江协科技视频:https://m.baidu.com/video/page?2、主要思想是在定时器中对局部counter进行自加,便于移植就把按键和灯的非阻塞,封装成模块函数放入定时器中(假定定时器为1ms定时);然后再分别在两个模块函数中进行counter自加满足定时器需求;3、拓展:思考了这种非阻塞定时,就是单片机多线程的雏形(作者也提及)
2025-02-12 09:12:33
187
原创 通信接口总结
本章中主要讲解的是串口异步通讯,异步通讯中由于没有时钟信号(如前面讲解的DB9接口中是没有时钟信号的),所以两个通讯设备之间需要约定好波特率,即每个码元的长度,以便对信号进行解码,图 21-6中用虚线分开的每一格就是代表一个码元。常见的波特率为4800、9600、115200等。
2025-02-08 08:23:59
80
原创 modbus poll监控抗凝秤通信err提示有crc校验错误等原因
一、CRC错误原因及解决方法CRC(循环冗余校验)错误是数据传输过程中常见的错误类型之一,可能由以下原因引起:噪声干扰:在数据传输过程中,噪声干扰可能导致数据位的改变,从而引发CRC校验错误。通过波形分析,可以快速排查通信故障的原因。逐步排查法:采用逐步排查法,逐一检查通信线路、设备连接、通信参数设置、软件配置等,以确定问题的具体位置。综上所述,解决Modbus poll监控RS485终端设备通信错误和CRC错误等问题需要从多个方面入手,包括硬件连接、通信参数设置、软件配置、环境问题和程序错误等。
2024-10-18 08:11:26
973
原创 电子秤的校零校准原理
校零的原理是通过调整电子秤的内部参数或传感器状态,使得在没有负载的情况下,电子秤的显示值能够归零。在实际操作中,通常需要在秤台上不放任何物品的情况下,按下“零点校准”键或按照说明书进行相应操作,使秤的显示值为零。校准的原理是通过使用标准砝码等已知质量的物体,放置在电子秤上进行称量,并比较显示值与标准值之间的差异。载荷校准:按照从小到大的顺序,依次将标准砝码放置在秤台上,观察显示屏的显示值是否与标准砝码的重量相符。通过正确的校零和校准操作,可以确保电子秤的准确性和可靠性,为生活和工作提供便利和支持。
2024-10-16 12:28:31
708
原创 说说电力或电子设备中的各种“地”
既有数字电路又有模拟电路的系统中,数字电路产生的噪声会影响模拟电路,使模拟电路的小信号指标变差,克服的办法是分开模拟地和数字地。同时,接地也是保护人身安全的一种有效手段,当出现诸如电线绝缘不良,线路老化等某种原因引起相线和设备外壳碰触时,设备的外壳就会有危险电压产生,由此生成的故障电流就会流经PE线到大地,从而起到保护作用。而且随着电子设备的复杂化,信号频率越来越高,因此,在接地设计中,信号之间的互扰等电磁兼容问题必须给予特别关注,否则,接地不当就会严重影响系统运行的可靠性和稳定性。场效应管表示漏极电压。
2024-10-14 08:54:01
304
原创 链表的学习(谭浩强)
链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。链表有一个 头指针 变量,它存放一个地址,该地址指向一个元素,链表中每一个元素称为 结点,每个结点都应包括两个部分,一为用户需要用的实际数据,二为下一个结点的地址。可以看出,头指针 head 指向第一个元素,第一个元素又指向第二个元素,。。。。直到最后一个元素,该元素不再指向其他元素,它称为 表尾,它的地址部分放一个 NULL(表示 空地址)链表到此结束。
2024-10-13 21:05:49
561
原创 如何快速熟悉新公司产品
业务流程图刚刚入职一家新公司,一般肯定是想快速提现自己的价值,让公司知道招聘到自己真是一件赚到的事情,但是往往我们都是接着上个产品的锅,不知道从何下手。如果之前了解一点业务还好说,但是大部分时候我们做产品的工作很多时候都是一个领域横跨另一个领域,很多之前了解的业务就完全用不上了,这个时候就需要重新去了解一个新的领域,怎么快速上手就很重要了。我个人用的最快的方法就是搭建业务流程图,在不完全了解业务的情况下,我想快速熟悉并且明确业务,上手开始画流程是最快的方式。以下是我刚接手一个客服报事系统的业务流程
2024-06-22 08:37:31
1394
原创 文档项目:攻坚克难
解决了转速相对偏差、稳定精度不够高的缺点,现有离心机转速相对偏差%1,稳定精度%0.5(行标:转速相对偏差±2.5%,转速稳定精度±1%),这样的高精度直流电机可用于高精度血液成分分离,减少血液成分污染,如临床用血浆、血小板分离以及对离心机转速稳定精度有更高要求的国家。鉴于交流离心机存在的缺点:转速相对偏差、稳定精度不够高;4、 采用MCU并结合Modbus RTU通信技术,对离心机的速度进行变速控制,实现了离心机在采集过程中,速度动态可调的技术创新,以满足未来产品可能在不同的采浆阶段对不同速度的需求。
2024-06-17 21:00:19
149
原创 单片机串口接收负数的处理方法
如dpm计算的结果,插入dpm后有时候会得到0xFFFFFFFE=-2(从调试界面也可以看到)。dp80中有很多外设处理相关的都是有符号数据。
2024-05-31 20:10:18
514
原创 嵌入式几种常用的滤波算法
在嵌入式开发中经常会用到一些滤波算法,我整理了一些资料把这些算法封装成可以直接调用的函数,方便以后的开发,包括限幅滤波、中位值滤波法、 算术平均滤波法、一阶滞后滤波法、加权递推平均滤波法、消抖滤波法 ,其他的一些包括卡尔曼滤波什么的之后有机会再整理。8、中位值平均滤波法(又称防脉冲干扰平均滤波法)1、限幅消抖滤波法(又称程序判断滤波法)7、递推平均滤波法(又称滑动平均滤波法)1.中值滤波负数时失效,补充一下。2024-01-26修改。5.加权递推平均滤波法。
2024-05-31 15:34:24
335
原创 bldc整机调试问题记录
而HAL_UART_Transmit_()为阻塞发送函数,最后一个参数为超时参数,如果发送批量数据,超时时间到后,未发送完的将不发送。针对问题5.调试发现,while中调用的脉冲输出xx函数里面调用了500ms的延时,总共就大于了喂狗1s时间,所以重启。2.串口发送如果太快(dma发送等),即使MCU端发送完了,终端响应可能会滞后,导致收发冲突。针对问题2.分析是串口接收中断被搞死了,发送正常,所以还能启动控制。针对问题1.结合厂家回复,两种情况,要么是心跳死了,要么是过压。针对问题3.串口接收中断死了。
2024-05-17 21:07:14
235
原创 总结_hal库串口发送问题2_工程案例_一文足
那么, 在发送几千个数据包后, 会出现单个数据包发送不完整的情况(200个字节一个包, 实际上可能只发送了60个字节出去,就没有任何征兆的提前结束了,并开始发送下个数据包)。因此, 在需要使用串口发送大量数据的时候, 建议不要使用HAL库的函数, 而是直接对寄存器操作。近期在开发图传项目的时候,由于需要发送的数据量及其庞大,因此在处理的时候, 发现STM32HAL库的串口函数,在处理海量数据的时候, 存在bug, 导致不能将指定数量的数据全部发送出去。
2024-05-17 07:57:45
194
原创 总结_工程中代码优化的优化问题
后面去搜索了些相关资料发现,因为中断函数的优先级比主函数要高很多,所以当中断产生的时候会优先执行中断,如果在中断里面加延时函数,会导致中断的时间过长,而主函数得不到有效的时间去执行,同时中断处理的要求是即时处理,尽快退出,加了延时就违背了这样的要求。如果是有多个中断处理的系统,中断处理调用了延时,则比它低优先级的中断在延时处理完之后都是无效的啦,这样会拖慢整个系统的执行效率。这可能会对实时性要求较高的系统造成问题。如果在中断处理程序中添加延时,会导致中断处理程序的状态被保留,可能破坏可重入性的要求。
2024-05-16 22:41:12
77
原创 总结_看门狗项目应用解析
总结几个项目:喂狗都是在while中喂狗,如果不喂狗程序跑飞,就会重启系统。思考:如果大型系统,有喂狗,跑飞了。如果有很多状态,变量需要恢复还适应吗。1.机器人上面(保证while循环中的任务能正常运行)2.dp80上面(心跳指示灯)
2024-05-15 20:15:50
157
6
原创 ok_Keil实用小技巧 | Keil定制Hex文件名实现的方法
作者黄工,高级嵌入式软件工程师,分享嵌入式软硬件、AIoT(物联网+人工智能)、单片机、通信技术、开发工具、半导体、芯片、电子、行业资讯等相关内容(关注并回复【1024】查看更多内容)。最后额外说一下:这里主要针对Hex文件名,为了方便查找或追溯bug,最好在应用代码中,能通过某种方式(显示屏、串口输出等)获取当前软件的版本。提示:这里的内容可以根据自己项目情况进行修改,这里只是为了方便说明,整理的一个份简单的bat内容。,可以不用修改,bat文件的语法很简单,看注释,应该比较容易理解。
2024-05-11 18:31:34
1787
6
原创 Stm32cubeide 在指定文件夹中生成以时间命名的文件_时间命名的bin文件
在项目目录下Bin_file文件夹中生成以 项目名称+时间为文件名的bin文件。其实就是在生成文件后 使用命令将文件转换改名并保存在指定文件下。
2024-04-29 21:07:46
230
原创 ok_什么是函数回调注册机制?实现的大致步骤介绍
在函数回调注册机制中,通常会定义一个回调函数类型,用于指定回调函数的参数和返回值类型。函数回调注册机制的基本思想是:将一个函数的指针作为参数传递给另一个函数,然后在需要调用这个函数时,直接调用它的指针即可。函数回调注册机制是一种常见的编程技术,它允许我们在程序运行时动态地注册函数回调,并在适当的时候调用这些回调函数。嵌入式函数回调注册机制是一种常用的解耦技术,它通过在应用程序中注册回调函数的方式来实现模块之间的通信,从而使系统更加灵活、可扩展和易于维护。函数回调注册机制可以通过函数指针和回调函数来实现。
2024-04-29 08:52:51
455
3
原创 问题总结_W25Q256JV读取最近一批数据错误
问题原因:读批量数据的时候,时间比较慢,未读取完成的时候,返回按钮按下,所以W25Q256JV读被中断,导致死机。1.问题一、身份证模块测试的时候,写入存储后,通过读最近一次数据按钮经常死机问题(紧接着按了返回按钮)。修改方案:按下最近一次读取数据后,直接切换到主界面显示,不用再按下返回按键,解决了问题。仔细检查了读写接口函数,发现上传到hmi屏的几个地方写错了(3号系统板)。问题3、待解决,断电再上电偶尔会出现读取的数据全ffff情况。2.问题2、读取出来的数据有些有误。
2024-04-24 21:45:37
378
原创 总结:如果写入Flash前不擦除会发生什么
③第三只小耗子,耗中猛耗,走过了全部8个老鼠夹子,前4个老鼠夹子已经被触发合上了所以没动静,后4个老鼠夹子被触发后,啪啪啪啪,被触发后合上,所以第三只耗子走过后,这8个老鼠夹子变成了“合合合合合合合合”,就是00000000。④然后来了个人类,看到有老鼠夹子被触发合上了,为了下次老鼠夹子能继续抓老鼠,就把老鼠夹子掰开了,而且根据规则,是一次把所有老鼠夹子都掰开了,8个夹子就变成了“张张张张张张张张”,就是11111111,回到了最开始的状态。2,同1,但是本着实事求是的做学问的原则,自己动手验证过的。
2024-04-21 22:57:24
143
原创 80机嵌入式学习240306:
2.串口实现身份证模块的功能(根据自定义协议收发数据),固定USB设备号的方法用脚本实现的好处是什么呢?怎样用串口模拟调试?3.寿命测试工装,上位机手点击的地方,全部自动全流程。1.从svn拉想要的版本,重新编译烧到系统板;
2024-03-06 20:45:19
118
原创 总结zy_不定长数据帧的收发
7E 82 01 06 01 01 01 01 AB 21(4路身份证模块测试完成后,响应的测试结果命令,测试正常为01,测试失败为00);7E 02 01 02 13 7D (对系统板1的开始测试命令,对另4个系统板开始测试子功能码参考表2-1功能码与子功能码);7E 01 02 02 10 71 (对系统板2的查询,对另3个系统板查询子功能码参考表2-1功能码与子功能码);功能码:功能码用于标识执行不同的功能,长度为1个字节,可以根据需要完成的功能来进行相应的定义。数据长度:十六进制表示;
2024-03-05 14:41:42
108
STM32 HAL 库实现乒乓缓存加空闲中断的串口 DMA 收发机制,轻松跑上 2M 波特率
2023-09-01
zy@S3C2440串口FIFO模式的中断机制和处理策略 - Stephen_yu的专栏 - 优快云博客.pdf
2023-08-10
给PDF添加目录给PDF添加目录
2023-08-02
AXU3CG开发板用户手册V1.01.pdf
2020-07-04
RS485总线通信系统的设计与实现 毕业论文.doc
2020-07-04
ZYNQ-7000 MZ702N 核心板(商业级)硬件使用手册20181120_v1.2.pdf
2020-07-04
ALINX黑金AX7010开发板用户手册V1.07.pdf
2020-07-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人