自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 问答 (3)
  • 收藏
  • 关注

原创 LL库STM32SPI+DMA接收数据发生偏移

等下一次再次开始接收,被关在门外的这2字节多余的数据如果没有被抛弃,就会第一时间进来,占据原本应该是data0的位置,新的data0就会往后推,但dma觉得自己还是接收满了8*2字节后,就会再次进入中断,于是,第二次接收,DMA得到的数据就变成了data0(旧),data0(新),data1,data2...data6。另外,第一次接收,CLK的数量不是2*8*8,而是2*9*8.没错,佐证的关键就在于抓到第一次接收的CLK波形,为了验证中断处理的时间点,用一个IO,进出中断的时候分别操作其置低和置高。

2024-04-19 10:25:52 734

原创 通过C++将dll中的qml动态加载到指定qml中

3 qml本质上就是个脚本,通过QQmlComponent的create或者其他的一些方法建立一个与之对应的QQuickItem的实体,这个QQuickItem的实体本质可以理解为发芽自engine的树状结构。现实中经常需要根据需要(譬如不同的配置文件),装载不同的dll,然后将dll中的qml显示在UI上。对于已有的实体,通过findChild找到,对于需要新建的,通过QQmlComponent的create方法,当然,别忘了把engine的指针也传过去供QQmlComponent使用。

2024-03-15 16:13:42 644 2

原创 SOEM协议栈代码研读笔记(二)

类比 一下单片机,ARM,对外设的操作 ,主要便是通过寄存器,地址空间的读写,至于对应的外设如何根据寄存器的数据去工作,则被隐藏在黑盒子中。现在,把EtherCAT Master想象成ARM内核,slave想象成类似uart之类的外设。地址映射,FMMU便是将其细节包装起来的黑盒子

2023-01-11 15:26:56 3144 6

原创 SOEM协议栈代码研读笔记(一)

对EtherCAT开源协议栈SOEM的源代码进行分析和解读

2022-08-20 16:32:59 5246 1

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除