- 博客(575)
- 资源 (53)
- 收藏
- 关注
原创 html表格table导出excel,主从表格式,带样式.自动分列
html的table导出成excel, vue模板项目使用xlsx-js-style源代码从https://github.com/gitbrent/xlsx-js-style/releases/tag/v1.2.0 下载用里面的dist目录下的文件即可. 复制到vue项目的public目录下的XLSX目录下.在index.hml中引入js脚本, 为啥要在这里引入?
2025-01-06 18:15:38
382
原创 zynq调试还是的用SystemDebuger不要用GDB
SystemDebugger可以看到更深的调用堆栈, 而GDB则只能看一部分的调用堆栈. 这将会是一个致命的问题.
2024-11-21 19:09:44
300
原创 zynq7020 PrefetchAbort,DataAbort,UndefinedException,ExceptionNull异常的解决方案
Xil_DataAbortHandler,Xil_PrefetchAbort上面这几个异常的问题都可以用我这个方法解决 .请允许我将这篇文章设置为vip可见了, 最近创业手头紧张. 需要恰饭. 各位见谅. 本文绝对值得你花点钱看. 上面的这4种异常的处理,在zynq裸机开中,如果排查需要耗费大量的时间. 采用本文的方法绝对能节省你大量的时间.首先必须得理解 Prefetch Abort 异常是什么异常. 这种异常是如何引起的.在Zynq中,Prefetch Abort异常是一种与指令预取相关的异常。
2024-11-19 16:58:31
1483
原创 xlinx sdk在window上写普通的c/c++程序
经过测试生成文件没问题, 可以运行. 但是好像不能调试. 感觉不如下载一个eclipse 来的方便 如果只是用来写个简单的小程序验证一下, 可以考虑使用这个. 临时用用.然后右击项目进行build.得到一个exe文件.
2024-11-08 10:53:06
214
原创 C语言野指针
C语言在malloc() 分配到新内存后, 必须对新分配的内容进行初始化, 否则会出现野指针问题. 不然free()的时候会让你左右为难.
2024-11-07 10:19:12
91
原创 ZYNQ7020使用IIC协议读写IO扩展芯片PCF8575
亲测正常, 注意IIC的地址, 有的从0x20开始的, 有的是0x40开始的.IO扩展是个好东西, 占用资源少. 适合用在响应要求不高的场合.PCF8575最大的好处是有个中断反馈引脚, 方便读取状态.Vivado中的配置.
2024-11-04 11:21:39
264
原创 vscode设置特定扩展名文件的打开编码格式
默认只能是gb2312, 与我们国内奉行的统一 utf8 不一致. 所以只能是更改特殊文件的打开方式. 配置方式如下.用vscode 编辑c语言或者Verilog代码, 由于其它开发工具的文件编码格式。
2024-10-16 14:32:06
795
原创 从纯技术角度对推理引擎工作原理的详细讲解
推理引擎是人工智能系统的核心组件,它基于一系列规则和事实,通过模式匹配、冲突解决等机制,自动推导出新的结论或执行相应的动作。推理引擎广泛应用于专家系统、自然语言处理、机器学习等领域,是实现智能化决策的关键技术之一。
2024-10-15 11:19:43
676
原创 zynq中异常处理函数XScuGic_DeviceInterruptHandler与XScuGic_InterruptHandler区别
其它的代码, 功能是一模一样的, (虽然一个是XScuGic_CPUReadReg,一个是XScuGic_ReadReg), 但是从功能上来讲是一模一样的, 由此可知. 这两个函数就是同一个函数的重构.有的异常是注册的XScuGic_InterruptHandler处理函数 , 有的地方需要注册XScuGic_DeviceInterruptHandler处理函数.很明显XIL_EXCEPTION_ID_IRQ_INT 就是等价的. XIL_EXCEPTION_ID_IRQ_INT。
2024-10-13 11:26:06
306
原创 zynq c语言中如果出现bug,进入异常中断如何定位到代码行?
由于某些未知的错误导致程序突然崩溃, 进入了zynq的异常处理程序中. 其它信息没了. 暂停代码执行的时候就只有进入了下面的这个函数. 这个函数进入的可能性非常高. 问题是怎么找到原因定位到有问题的代码行呢?此外,由于编译器优化和代码生成的影响,有时源代码中的一行可能对应多条汇编指令,或者一条汇编指令可能跨越了源代码中的多行。在GDB中,如果你已经知道了引发异常的代码指令行(或者至少是接近该行的地址),你可以在该位置添加断点,然后让程序运行到该断点处继续执行,并在程序中断时进行调试。
2024-10-11 14:47:49
774
原创 zynq sdk裸机开发调试问题汇总
zynq sdk裸机开发总是时不时的就不能进入中断了, 找来找去的找不到原因. 后来我经过多次尝试. 将问题限位到非常小的范围. 只用了最普通的内部定时器, 开启中断也是偶尔会进去偶尔会进不去.图上第4点. 勾上, 每次调试的时候一定要重启系统, 这样就可以解决各种莫名其妙的问题. 只要重启能解决的问题, 勾上这个以后, 以后就不再出现了.zynq的调试使用GDB模式比较稳定, System Debugger模式不行, 不能调试断点. 加了也不会暂停执行,唯有GDB调试是可以的.找了下还真有. 如下图,
2024-10-11 09:18:38
588
原创 grbl移植日志第四天分析grbl数据流向图一
protocol_auto_cycle_start()函数. 这个函数会通过调用plan_get_current_block() 读取前面解析生产的运动规划数据. 然后调用 system_set_exec_state_flag(EXEC_CYCLE_START);经过分析, 是在 protocol.c的主循环中, protocol_main_loop () 内部循环的给状态state_set()进行赋值.然后调用的 state_set()的时候就进行了代码执行.G代码是如何从电脑到执行的?
2024-09-27 11:34:20
987
2
原创 CNC编程G-Code各个指令的执行顺序
这个列表详细列出了在CNC编程(特别是基于RS274-NGC或类似标准的G-code)中,各个指令的执行顺序。这个顺序对于编写有效且准确的数控程序至关重要,因为它确保了机床在执行加工任务时能够按照预期的逻辑和顺序进行操作。理解这些指令的执行顺序有助于编写高效、准确的CNC程序,确保机床能够按照预期完成加工任务。
2024-09-26 15:45:36
764
原创 grbl移植日志第三天移植步进电机控制
如何做到这一点, 不同的单片机有不同的做法, 我采用了fpga, 所以实现这一点比较简单. . 自定义一个ip核. 接收步进信息, 然后直接驱动多个轴的步进电机即可. 至于具体的实现代码这里不方便贴.我用的步进驱动器, 是标准的3个接口分别是enable(使能), pulse(步进脉冲), dir(方向), 3个接口。这里唯一要注意的是, 多轴之间的步进电机的驱动必须是同步的, 不能是先发送X轴, 再发送Y轴, 再发送Z轴.步进电机的控制相对来说比较简单. 点过led灯的基本上都会.
2024-09-25 15:18:28
349
原创 grbl移植日志第二天移植串口数据接收
zynq的串口发送中断总是不能进入中断函数 . . . 看了好几天. 找不到原因了. 后来用了官方的串口中断示例代码也不行…zynq的串口中断示例中, 有些bug. 提供的库也不是很好用. 因为封装好的库里面内置了一些固定的逻辑, 里面默认进行了中断的开启和关闭. 用起来并不是很顺手.因为grbl 有一个循环缓冲队列, 为了实现此数据的上传, 需要在中断中修改此队列的指针.索性摸索了一下zynq的的uart库, 直接基于寄存器自己写了一个. 要简单简洁的多.
2024-09-21 20:17:19
376
原创 eclipse CDT 文件名引起的undefined reference
如果文件名是eeprom.c 那么可能已经与某些文件冲突导致的.C语言真是一言难尽啊.
2024-09-13 13:40:28
182
原创 批量文件编码转换用python实现的utf8转gb2312,vscode设置特殊文件的默认打开编码
使用的时候只需要修改 这几个参数即可.使用前需要安装python 3.8以上.然后使用下面的命令安装chardet 库。
2024-09-06 10:54:55
568
原创 lattice diamond中使用时钟OSCH源demo
我一直以为使用时钟源 OSCH 需要配置ip核什么的, 实际上不需要配置.直接在代码里写 OSCH OSCH_inst(…) 即可. 默认就引用.lattice diamond中使用时钟源demo。参考代码如下. 无需任何额外的配置.
2024-08-08 16:25:15
412
原创 Lattice Diamond中Verilog代码input导线unconnected解决方案
初学Verilog , 辛苦仿真了好久的代码, 等到准备烧写时,发现无法给input 定义的导线分配引脚.在引脚变量的上面加个定义. 告诉综合工具 , 不要把这个变量给优化掉了.自己折腾了1天,最后终于找到了原因 .代码一定要像下面这样写.
2024-08-06 23:40:07
356
原创 grblHAL的代码学习笔记和解读
源代码在 https://github.com/grblHal 目前日期2024/07/09或许几年以后代码会做变更. 仅供参考.grbl是个很好的库. grblHAL是在grbl的基础上改进来的.grbl的板子通过串口或者SD卡或网络与上位机进行通信, 上位机负责查看和人机交互.上位机把CAM软件生成的代码读入以后,转换成grbl的通信代码.grblHAL目前支持的G代码如下上位机与下位机板子之间的通信格式如下:https://github.com/gnea/grbl/wiki/Grbl-v
2024-07-09 15:19:40
1288
3
原创 样本拟合正弦函数? 梯度下降法? NO,比梯度下降还快的算法.
第一步滤波, 把数据滤波成接近正弦曲线的波形. 这里面用到比较牛的算法. 由于牵扯到很多核心技术, 这里就不详细谈我是如何滤波的了.梯度下降算法的原理是通的. 可不知道是哪里的问题, loss先由大变小,然后由小变大. 最后跑飞了. 如此不稳定.代码是人工智能生成的. 跑不通 , 自己改了一下也是跑不通. 因为sin函数的拟合牵扯到求偏导数. .第二步:求频率. 鉴相法,过零法,最大值法. 这里就不详细说了, 各位自己发挥.第四步:求相位. 知道了前2个, 第三个更好求. 代码如下.
2024-05-21 23:40:38
389
1
原创 C语言生成正弦波测试数据易懂版本
以往生成正弦波数据, 各个参数之间的关系总是不明确, 现在这个函数的代码非常明确的区分了各个参数之间的相互关系.
2024-05-19 20:43:57
595
原创 STM32单片机中C语言的一些隐藏bug
这段代码可能未必如你所愿的运行. < 小于号的判断一定要类型一致, 尤其是牵扯到双精度类型的判断…一定要保证符号 两边的数据类型一致才有可能得到你想要的结果. 代码里 -0.4 默认可能是float类型. 有的编译器默认是double类型. 一定要测试过才行.如果是这样的代码, 在PC上基本上是不会出什么问题, 如果是在STM32单片机上. 这么写估计会跑出来一大堆的问题.期初以为是float的精度不一致的问题, 逐行 printf 对比后才发现. 是malloc() 的问题.
2024-05-06 15:33:50
698
原创 单片机代码分层,与接口标准化之梦
写单片机有段时间了. 我现在逐渐的对单片机有了点感觉。我个人认为单片机的代码也是可以分层的.我的代码组织层次结构。
2024-04-20 09:37:46
301
原创 STM32F407 FSMC并口读取AD7606
先贴一下最终效果图.这个是AD7606并口读取数据一个周期后的数据结果. 原始波形用示波器看是很平滑的. AD7606不知为何就会出现干扰, 我猜测可能是数字信号干扰导致的. 因为干扰的波形很有规律. 这种现象基本上可以排除是程序问题. 应该是干扰或者数字信号干扰,或者是数字和模拟共地导致的.是一个宏,实际上是指向的一个内存地址, 这个内存地址是FSMC指定的地址. 使用FSMC接口, 可免于控制引脚, 直接读取某个地址即可, FSMC会自动产生操作时序. 具体请见FSMC相关知识.
2024-04-03 12:46:46
3768
9
原创 python连接mqtt,无法发送大图片的解决方案
其中需要注意的是下面 这段代码必须要, 否则发送大图片的时候会因为时间太长导致发送不完导致超时失败.paho 连接mqtt比较方便和稳定.使用的时候只需要 即可。
2024-03-22 09:25:00
437
原创 Rust无法流行起来
我看了半天这个代码, 也没看懂啥意思. 这个跟程序员的技术能力无关, 写代码的目标不是为了炫技能, 而是能够清晰易懂的描述自己的思想逻辑. . 凡是看半天看不懂的. 不好意思, 再见. 再也不见. 目前我遇到的, 一眼之下看不懂源代码的语言有C++, object-c , 现在又多加了一个Rust.但是我感觉Rust 编译器强制让程序员注意变量作用域的范围. 引入了很多奇奇怪怪的限制. 增加了思考的维度. 这不是一个好的选择.变量范围,确实挺好的, 而且编译器后面增加了自动销毁变量的功能 .
2024-03-21 14:26:23
608
原创 锁相放大器,数字锁相放大器.C和python版的源代码
在这个代码中,digital_lock_in_amplifier函数现在接受两个额外的指针参数amplitude和phase,用于存储计算出的幅度和相位。与传统的模拟锁相放大器相比,数字锁相放大器具有更高的灵活性、精度和稳定性。锁相放大器, 它是一种可以从高噪声环境中提取出特定频率信号的放大器,工作原理主要是利用正弦函数的正交性进行信号的相位检测和幅值测量。如果你对锁相放大器感兴趣,我可以给你更详细的解释。你可以将你的信号数据传递给这个函数,并指定参考频率、采样率和积分时间来获得解调后的幅度和相位。
2024-02-17 22:35:46
1620
1
原创 rknn加载onnx时报错 GLIBC=2.29 no found librknnc.so
上面就是ubuntu 升级GLIBC的一种简单方式。这里我们可以采用安装libc6来升级GLIBC。
2024-01-08 17:16:10
815
原创 vsftpd.confg 常用配置,Beyond Compare 测试可用
vsftpd.confg 常用配置,备份一下, 经常配置好久 , 以后直接粘贴即可.如果要跨越路由器 , 那么路由器要开放一些端口 .vsftpd.confg中设置被动模式的几个端口,这个配置经过测试在局域网环境下是可以使用的.Beyond Compare 测试可用.给文件夹赋予755权限。
2023-12-06 08:20:00
591
原创 STM32 使用HAL库,HAL_Delay()会卡死, 程序一直卡在 HAL_GetTick( ) 函数中(已解决)
今天遇到个很奇怪的问题, 不知道为什么, 单片机运行一会之后, 系统就没反应了, 经过调试发现, 系统卡在HAL_Delay()中了.之前也遇到过这个问题后来把HAL_Delay 去掉了. 然后发现不行, 还是得有它.不然发串口数据发的太快会乱掉. 得慢点发.我跟踪了很久也没有拦截到uwTickFreq 是什么时候更新的. keil工具也拦截不到是什么时候更新的.在循环中不停的停止和开启Tim3. 我估计是因为这个原因导致的. uwTickFreq 重新计算.也就是说, uwTick 不再增加了.
2023-11-02 23:20:00
12536
15
2023年1月份止 FPGA卡算力排行榜
2023-01-28
FilterCAD3.0
2022-06-06
BlenderTools.zip
2021-07-08
Microsoft Rdlc Report Designer for Visual Studio
2020-11-15
上海博通BK2461设计参考资料+硬件+示例.zip
2019-11-18
DroidCam.Client.6.0.FullOffline.zip 电脑端和手机端 真正能用的版本
2019-07-10
Rabbitmq C#的测试代码. 以及使用示例, 包含系统扩展的使用方法和系统集群的扩展方法
2017-05-10
.net 属性值变更自动记录到数据库v2
2015-09-08
.net 属性值变更自动记录到数据库
2015-09-08
谷歌的IE9.js
2015-05-08
AJAX访问PHP函数库AJASON的同步(非异步)版
2011-11-16
Zend Server CE-php-5.3.8-5.5.0-Windows_x86(社区免费)版
2011-11-08
CodePress 是一个完全用 Javascript 写成的 HTML Textarea 增强程序
2011-08-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人