草庐IT

9-bit-serial

全部标签

CANOE错误帧No ACK, Domain Error, bit position=109的分析和解决

错误帧--domainerror,bitposition=109在CANOE导入诊断文件CDD后,通过“DiagnosticConsole”发送诊断报文,在trace上观测都报noack错误帧。 解决思路从错误帧的信息中,错误应该和109位的值有关。查看CANFD报文帧的结构,发现109位是BRS位,BRS:表示位速率转换,该位隐性时,速率可变(即BSR到CRC使用转换速率传输),该位为显性时,以正常的CAN-FD总线速率传输(恒定速率)。CANFD采用了两种位速率:从控制场中的BRS位到ACK场之前(含CRC分界符)为可变速率,其余部分为原CAN总线用的速率,即仲裁段和数据控制段使用标准的通

Xilinx Vivado bit文件和Microblaze elf文件合并的两种方法

    Xilinx使用Microblaze软核进行功能开发时,需要将Vivado生成的硬件bit文件和Vitis生成的软件elf文件进行合并,生成软硬结合的bit文件,然后可以选择将该bit文件烧进FPGA、或者将该bit文件转换成mcs文件/bin文件然后烧录至Flash中。    目前使用到了两种合并Vivadobit文件和Vitiself文件的方法,两种方法亲测均有效:1、使用Vivado进行合并(1)Vivado工程RunSythesis—>RunImplementation—>GenerateBitsteam正常走完,生成硬件bit文件。(2)导入vitis工程编译完成后生成的el

STM32模拟SPI协议获取24位模数转换(24bit ADC)芯片AD7791电压采样数据

STM32模拟SPI协议获取24位模数转换(24bitADC)芯片AD7791电压采样数据STM32大部分芯片只有12位的ADC采样性能,如果要实现更高精度的模数转换如24位ADC采样,则需要连接外部ADC实现。AD7791是亚德诺(ADI)半导体一款用于低功耗、24位Σ-Δ型模数转换器(ADC),适合低频测量应用,提供50Hz/60Hz同步抑制。这里介绍基于AD7791的24位ADC采样实现。AD7791控制协议AD7791的管脚如下所示:AD7791可以工作在2.5V~5.25V供电范围(VDD),而用于模数转换的参考电压可以通过引脚REFIN(+)和REFIN(–)单独设置,从而可以针对

python 读写16bit图像的四种方法

python读写16bit图像的四种方法应对超高清、HDR等图像增强类深度学习任务和专业图片处理任务时,我们需要对16bit图像进行读取、转tensor和保存等操作,这里总结出四种python实现的方法供参考~1.使用imageio,输出图像无压缩fromimageioimportimread,imsaveimportnumpyasnpfromtorchvisionimporttransforms#------------------------------------------------------#图片路径#---------------------------------------

json - 使用 bitly 的 go-simplejson 时,在 simplejson.Json 文字中显示未导出字段 'data' 的隐式分配

当我使用像&simplejson.Json{v}(v是从文件读取的接口(interface),它的实际数据结构是map[string]interface{})时,然后显示此错误。详情:一个名为abcd的json文件{"pids":[{"pid":168043,"target_regions":[40,25,43,299,240]},{"pid":168044,"target_regions":[63,65,68]}]go文件是packagemainimport("fmt""io/ioutil"sjson"github.com/bitly/go-simplejson")typepidIn

json - 使用 bitly 的 go-simplejson 时,在 simplejson.Json 文字中显示未导出字段 'data' 的隐式分配

当我使用像&simplejson.Json{v}(v是从文件读取的接口(interface),它的实际数据结构是map[string]interface{})时,然后显示此错误。详情:一个名为abcd的json文件{"pids":[{"pid":168043,"target_regions":[40,25,43,299,240]},{"pid":168044,"target_regions":[63,65,68]}]go文件是packagemainimport("fmt""io/ioutil"sjson"github.com/bitly/go-simplejson")typepidIn

serialization - Golang 映射/数组(非结构)序列化

我做了很多查询,结果生成了map或map的slice/数组,如下所示://packageMtypeSXmap[string]interface{}typeIXmap[int64]interface{}typeIAXmap[int64][]interface{}typeSAXmap[string][]interface{}typeSSmap[string]stringtypeSFmap[string]float64typeIImap[int64]int64typeIBmap[int64]booltypeSImap[string]int64typeISmap[int64]stringtyp

serialization - Golang 映射/数组(非结构)序列化

我做了很多查询,结果生成了map或map的slice/数组,如下所示://packageMtypeSXmap[string]interface{}typeIXmap[int64]interface{}typeIAXmap[int64][]interface{}typeSAXmap[string][]interface{}typeSSmap[string]stringtypeSFmap[string]float64typeIImap[int64]int64typeIBmap[int64]booltypeSImap[string]int64typeISmap[int64]stringtyp

24Bit Σ-Δ ADC——AD7124的多通道初始化配置

24BitΣ-ΔADC——AD7124的多通道初始化配置一、前言二、ADC寄存器介绍1.配置寄存器2.滤波寄存器3.偏置寄存器4.增益寄存器5.诊断寄存器三、通道与CONFIG_x的映射多对1映射1对1映射混合映射四、实验数据一、前言AD7124是目前常用的一种24位ADC,在全功率模式、9.4SPS的速率、gain=128的状态运行,均方根(rms)可达到23nV;信号误差在±10uV左右,单片价格在¥135~150,对于测控仪器中采集芯片的选型来说,该芯片价位处于中端层面,性价比较高。AD7124的引脚排布、硬件SPI的驱动方式我已经在上一篇文章发布过,这里不再做过多赘述,链接如下:使用s

python - 使用 go-serial 从 arduino 串口读取

我有带有简单固件的arduinouno,它通过串行端口提供简单的API:命令“读取”返回当前状态命令“on”将状态设置为“on”命令“off”将状态设置为“off”现在我想为这个设备实现一个客户端。如果我使用ArduinoIDE串行监视器,此API将按预期工作。如果我将python与pySerial库一起使用,API就可以工作。但每当我尝试使用golang和go-serial从串行端口读取数据时,我的读取调用就会挂起(但可以正常使用socat创建的/dev/pts/X,例如)Python客户端importserials=serial.Serial("/dev/ttyACM0")s.wr