草庐IT

cnblogs_Highlighter

全部标签

ADS1256使用心得及其STM32驱动编写 [原创www.cnblogs.com/helesheng]

最近培训学生做大学生电子设计竞赛,有学生用到TI的24位Sigma-delta模数转换器ADS1256。虽然这款芯片在能找到的介绍性文章很多,但大多属于简单翻译手册,很多实际问题没有提及。现在电子设计竞赛结束了,将学生在用STM32调试中遇到各种问题以及我的解决办法总结如下,以方便在未来的工程项目中使用,同时与各位网友共享。以下原创内容欢迎网友转载,但请注明出处:https://www.cnblogs.com/helesheng一、差分驱动电路ADS1256具有差分输入能力,可以产生二进制补码输出,这让很多学生误以为ADS1256支持双极性输入,想从模拟输入端输入±5V范围的模拟电压。其实AD

ADS1256使用心得及其STM32驱动编写 [原创www.cnblogs.com/helesheng]

最近培训学生做大学生电子设计竞赛,有学生用到TI的24位Sigma-delta模数转换器ADS1256。虽然这款芯片在能找到的介绍性文章很多,但大多属于简单翻译手册,很多实际问题没有提及。现在电子设计竞赛结束了,将学生在用STM32调试中遇到各种问题以及我的解决办法总结如下,以方便在未来的工程项目中使用,同时与各位网友共享。以下原创内容欢迎网友转载,但请注明出处:https://www.cnblogs.com/helesheng一、差分驱动电路ADS1256具有差分输入能力,可以产生二进制补码输出,这让很多学生误以为ADS1256支持双极性输入,想从模拟输入端输入±5V范围的模拟电压。其实AD

STM32的SPI口的DMA读写[原创www.cnblogs.com/helesheng]

SPI是我最常用的接口之一,连接管脚仅为4根;在常见的芯片间通信方式中,速度远优于UART、I2C等其他接口。STM32的SPI口的同步时钟最快可到PCLK的二分之一,单个字节或字的通信时间都在us以下,因此大多数情况下我们会使用查询法控制SPI口的传输。但对于大量且连续的通信,再使用查询法就显得有些浪费CPU的时间,DMA控制SPI的读写显然成为一种不错的选择。为DMA控制SPI批量数据读写的功能,参照官方代码编写的DMA控制SPI口在主/从两种模式下,读写数据的的代码,供各位网友直接使用或批评指正。先直接上我得到结论:1、运用STM32的SPI口的DMA的功能,能够提升STM32与外设之间

STM32的SPI口的DMA读写[原创www.cnblogs.com/helesheng]

SPI是我最常用的接口之一,连接管脚仅为4根;在常见的芯片间通信方式中,速度远优于UART、I2C等其他接口。STM32的SPI口的同步时钟最快可到PCLK的二分之一,单个字节或字的通信时间都在us以下,因此大多数情况下我们会使用查询法控制SPI口的传输。但对于大量且连续的通信,再使用查询法就显得有些浪费CPU的时间,DMA控制SPI的读写显然成为一种不错的选择。为DMA控制SPI批量数据读写的功能,参照官方代码编写的DMA控制SPI口在主/从两种模式下,读写数据的的代码,供各位网友直接使用或批评指正。先直接上我得到结论:1、运用STM32的SPI口的DMA的功能,能够提升STM32与外设之间

记录--前端性能监控初步实战

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助前言在当下前后端分离的主流环境下,前端部分的优化变得越来越重要。为了提升前端的性能和用户体验,我觉得可能需要从三个维度采集数据进行分析。前端埋点。通过埋点收集和统计网页的UV/PV、设备型号、浏览器等数据进行分析,比如可以有针对性对使用比较靠前的设备、浏览器等做优化和体验。网页性能收集和监控。采集一个页面从请求开始到完成这个过程中的数据指标。比如收集和监控首屏加载时间、dom渲染时长、响应比较慢的接口等。有了这些数据可以很直观和针对性的对网页的性能进行优化和升级。错误收集和监控。收集网页中的js的报错、静态资源加载报错,保证网页正常访

记录--前端性能监控初步实战

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助前言在当下前后端分离的主流环境下,前端部分的优化变得越来越重要。为了提升前端的性能和用户体验,我觉得可能需要从三个维度采集数据进行分析。前端埋点。通过埋点收集和统计网页的UV/PV、设备型号、浏览器等数据进行分析,比如可以有针对性对使用比较靠前的设备、浏览器等做优化和体验。网页性能收集和监控。采集一个页面从请求开始到完成这个过程中的数据指标。比如收集和监控首屏加载时间、dom渲染时长、响应比较慢的接口等。有了这些数据可以很直观和针对性的对网页的性能进行优化和升级。错误收集和监控。收集网页中的js的报错、静态资源加载报错,保证网页正常访

【Go实战基础】创建并完成第一个可执行的 go 程序

实战需求:创建并完成第一个可执行的go程序。项目目录:go-001具体实战步骤如下:一、进入工程目录cdgo-001/二、创建g001.go文件/**@Author:菜鸟实战*@FilePath:/go110/go-001/g001.go*@Description:第一个go程序*///每个GO语言源代码文件开头都拥有一个package声明,表示源码文件所属的代码包//要生成GO语言可执行程序,必须要有main的package包,且必须在该包下有main()函数packagemain//导入其他包import("fmt""runtime")//主函数funcmain(){//使用内置函数打印p

Golang实现set

背景Golang语言本身未实现set,但是实现了mapgolang的map是一种无序的键值对的集合,其中键是唯一的而set是键的不重复的集合,因此可以用map来实现setEmpty由于map是key-value集合,如果使用map来实现set,则不需要关注value的具体类型和值struct{}是具有零个元素的struct,struct{}的大小为0,不占用空间,因此十分适合作为value使用typeEmptystruct{}Int64HashSetGolang是静态强类型语言,对于int8、uint8、int64、uint64、string基础数据类型的set,均需要实现类似的代码定义typ

【Go实战基础】创建并完成第一个可执行的 go 程序

实战需求:创建并完成第一个可执行的go程序。项目目录:go-001具体实战步骤如下:一、进入工程目录cdgo-001/二、创建g001.go文件/**@Author:菜鸟实战*@FilePath:/go110/go-001/g001.go*@Description:第一个go程序*///每个GO语言源代码文件开头都拥有一个package声明,表示源码文件所属的代码包//要生成GO语言可执行程序,必须要有main的package包,且必须在该包下有main()函数packagemain//导入其他包import("fmt""runtime")//主函数funcmain(){//使用内置函数打印p

Golang实现set

背景Golang语言本身未实现set,但是实现了mapgolang的map是一种无序的键值对的集合,其中键是唯一的而set是键的不重复的集合,因此可以用map来实现setEmpty由于map是key-value集合,如果使用map来实现set,则不需要关注value的具体类型和值struct{}是具有零个元素的struct,struct{}的大小为0,不占用空间,因此十分适合作为value使用typeEmptystruct{}Int64HashSetGolang是静态强类型语言,对于int8、uint8、int64、uint64、string基础数据类型的set,均需要实现类似的代码定义typ