11 2019 档案
摘要:请查看我的博客园文章,比较详细。https://www.cnblogs.com/CodeWorkerLiMing/p/11964258.html ...
阅读全文
摘要:上一篇文章已经讲到,电灯电路比较复杂,以少控多的方式,只能使用串行的方式,因此移位寄存器就发挥功能了。学生时代,很少实际用过,只是理论学习,但是在项目中,真正用上了,的确要复习一番。参考文章:https://blog.csdn.net/k1ang/article/details/80012686 此
阅读全文
摘要:请查看我的博客园文章,比较详细。https://www.cnblogs.com/CodeWorkerLiMing/p/11964046.html ...
阅读全文
摘要:最近因为项目的原因,硬件电路做的比较复杂,使用比较的少的io口控制128个led灯,实际上是6给io口。三个用来选择灯板,38译码器实现,有个用来输入数据ds,另一个用于产生移位寄存器的shcp的clk上升沿,最后一个用于产生stcp的上升沿。 本文说说D触发器,d触发器很简单,功能是用来锁存数据,
阅读全文
摘要:https://www.cnblogs.com/isAndyWu/p/10298695.html这个文章解答了我的一个id使用的疑惑,因此谢谢作者,转载。 CAN总线ID是包含在报文帧中的。 1、主要用作CAN总线的仲裁使用,所以一般来说网络上的每个节点(向总线上发送)的ID应该有所不同。ID值越低
阅读全文
摘要:mcp2515是can控制器,简单的来讲,就是只要配置好寄存器,芯片就能够自动的解析can数据帧,同时保存到接收缓存中,提醒单片机可以读取can的数据字节。 读取的方式是快速spi,可以达到10Mbits/s。当然,调试的时候,可以放低速度。前一篇文章已经分析了spi的调试步骤,这里不再分析。 ca
阅读全文
摘要:1、先查看也硬件电路,一般都是单片机作为master,其他芯片作为slave。单片机的MOSI对应从机的SI,单片机的MISO对应从机的SO,如果两个引脚接反了,那是怎么调试都没有效果的。 2、单片机硬件spi的配置,spi我们有四种模式,模式要和芯片的模式一直,比如:mcp2515,支持高速SPI
阅读全文
摘要:这周因为工作原因,没有写modbus功能码的解析,不过项目空了一定要写下去,做事情要有始有终,把它写成专栏。 最近的项目大致告一段落,期间用到了freertos,modbus(类似),crc16,w5500以太网通信,ads1259+cd4051/cd4052来采集温度电压信号,4-20ma的压力信
阅读全文
摘要:CAN总线采用差分信号传输,通常情况下只需要两根信号线(CAN-H和CAN-L)就可以进行正常的通信。在干扰比较强的场合,还需要用到屏蔽地即CAN-G(主要功能是屏蔽干扰信号),CAN协议推荐用户使用屏蔽双绞线作为CAN总线的传输线。 在“隐性”状态下,CAN-H与CAN-L的输入差分电压为0V(最
阅读全文
摘要:https://zhuanlan.zhihu.com/p/30247549?utm_source=wechat_session&utm_medium=social&utm_oi=28054357278720(如何学习CAN总线?) 致远电子 知乎文章https://www.zhihu.com/peo
阅读全文
摘要:所谓“远程帧”是一个传统翻译上的误区。Remote Frame实际上它的意义是“遥控帧”,发起方发起特定ID的远程帧,并且只发送ID部分,那么与其ID相符的终端设备就有义务在后半段的数据部分接管总线控制权并发送自己的数据。打个比方,中控机需要定时获取某个节点的数据(例如转速计的实时转速、油量计的实时
阅读全文
摘要:转载:http://www.51hei.com/bbs/forum.php?mod=viewthread&tid=168481&page=1#pid737250 本主题由 admin 执行 审核通过 <ignore_js_op> IAR平台建立工程准备文件.rar 34.59 KB, 下载次数: 2
阅读全文
摘要:下图转自https://www.cnblogs.com/luckytimor/p/6747026.html 该系列的结构都是哈佛结构,而且目前可以使用keil来开发,而且keil mdk不能开发R、A两个系列,这两个系列可以用DS-5进行开发。ds-5有免费版本,使用gcc编译的,功能上面有阉割。
阅读全文
摘要:哈佛结构是为了高速数据处理而采用的,因为可以同时读取指令和数据(分开存储的)。大大提高了数据吞吐率。缺点是结构复杂。 通用微机指令和数据是混合存储的,结构上简单,成本低。假设是哈佛结构:你就得在电脑安装两块硬盘,一块装程序,一块装数据,内存装两根,一根储存指令,一根存储数据…… 是什么结构要看总线结
阅读全文
摘要:c 的运算符重载和c++的类似,因此可以联系起来学习。 可以重定义或重载 C 中内置的运算符。因此,也可以使用用户自定义类型的运算符。重载运算符是具有特殊名称的函数,是通过关键字 operator 后跟运算符的符号来定义的,这个和C++是类似的,与其他函数一样,重载运算符有返回类型和参数列表。 运算
阅读全文
摘要:name | age | sex : :|: | : tony|20|男 lucy|18|女 内嵌数学公式$\sum_{i=1}^{10}f(i)\,\,\text{thanks}$
阅读全文
摘要:比较好的crc计算工具,32位64位系统都可以用的。crc的校验方法也很多。推荐使用 "下载地址"
阅读全文
摘要:这个实例比较好,因此特此转载。说明了new和override的区别。
阅读全文
摘要:1、网上看到了赵炯博士的oldlinux的网站,其电子版和《linux0.11内核注释》是很不错的书籍,而且还有配套的实验环境,包括vm虚拟机,bochs虚拟的环境都有的,因此将来需要学习的话,很适合的一本书另外...
阅读全文
摘要:1、网上看到了赵炯博士的oldlinux的网站,其电子版和《linux0.11内核注释》是很不错的书籍,而且还有配套的实验环境,因此将来需要学习的话,很适合的一本书另外,《Linux内核源代码情景分析》也是很不错的书籍,书中说基于linux2.4的,其实对于了解linux的机制是基本相同的,上面的一
阅读全文
摘要:c#的多台方法,大体上和c++的类似,但是有点区别的,我这里刚刚初学,因此把重点记录下。多态是同一个行为具有多个不同表现形式或形态的能力。多态性意味着有多重形式。在面向对象编程范式中,多态性往往表现为"一个接口,...
阅读全文
摘要:c#的继承方法,大体上和c++的类似,但是有点区别的,我这里刚刚初学,因此把重点记录下。1、派生类继承了父类,那么,如果父类的方法和数据都是public,那么派生类都会继承。派生类可以直接调用父类的数据和成员函数...
阅读全文
摘要:功能码2的功能是:读从机离散量输入信号的 ON/OFF 状态。可读取1~2000个连续的离散量输入状态,如果离散输入的数量个数不是8的整数倍,则用0填充最后数据字节的剩余位,功能码2的查询信息规定了要读的输入起始地址,以及输入信号的数量。 功能码2只能读取,不能写入,通常是拨码开关等离散信号。下面通
阅读全文
摘要:1、在框架已经写得比较大的时候,不可能在短期时间内在此基础上将进行修改,这样很容易出bug。2、该代码钱前,看看有没有简单实用的方法,否则要是盲目的修改代码,将有很多意想不到的bug。3、本质上,在写代码之前,应该先画流程图。
阅读全文
摘要:可变参数函数实现的步骤如下: 1.在函数中创建一个va_list类型变量 2.使用va_start对其进行初始化 3.使用va_arg访问参数值 4.使用va_end完成清理工作 1.在函数中创建一个va_list类型变量 2.使用va_start对其进行初始化 3.使用va_arg访问参数值 4.
阅读全文
摘要:hal库中keil5中编译的速度是比较慢的,相同情况下,每次都要编译的时候,比标准库是要慢很多的,因此就hal库编译成lib文件是一种加快编译速度的方法,当然也有其自身的缺点。一、步骤1、使用cubemx4.27做一个简单的系统,clock、rcc、sys、swd等配置好,其他可以不用配置。这里我使
阅读全文
摘要:转载自:https://www.yanbinghu.com/2019/01/20/6807.html?nsukey=kFLEF1Ek4bV4HLe0Dqum%2BJaiMZLqsvyHCf%2Fm%2F1cOp99fzJETfwdsG%2FSU7vq2jiX0Twk3oCAnmutbWO0p3X58
阅读全文
摘要:在pc上面使用这个字符串函数,是没有问题的,但是我在keil中结合rtos来处理字符串的时候,比如char *s = "1.01313;17.2609;17.4875";那么就只能解析到1.01313,后面的数据...
阅读全文
摘要:在pc上面使用这个字符串函数,是没有问题的,但是我在keil中结合rtos来处理字符串的时候,比如char *s = "1.01313;17.2609;17.4875";那么就只能解析到1.01313,后面的数据是错误的,也不知道是啥原因,后来干脆使用了比较简单的方式: 1.01313直接使用ato
阅读全文
摘要:最近在用到字符串处理的函数,c 中的库函数,有的函数还是很有用的,因此,要多多熟悉下,因为很多时候字符串通信是比较常见的,因此熟悉很有必要,上面代码的运行的解释一目了然了,可以查找特定字串在母串中的关系,很有用处的。
阅读全文
摘要:rs485的通信方式看似比较简单,其实通信软件的处理还是有需要注意的。 下图是主机向从机发送信息的示意图,其中485的线都是手牵手相连的,因此主机向下发的时候,其实各个从机都有在接收数据的,只是,从机是根据地址来区分是否是发给自己的, 举例: 1、如果主机发送信息中,带有地址1, 2、则从机1认为是
阅读全文
摘要:using System; namespace CalculatorApplication { public static class ExtensionString { //向 String 类扩展一个统计单词数量的方法 //1、扩展类必须为静态类,扩展方法必须为静态方法。 //2、扩展方法的第1个形参开头必须使用 “this”...
阅读全文
摘要:一个用关键字 ref 标示,一个用 out 标示。 牵扯到数据是引用类型还是值类型。 一般用这两个关键字你是想调用一个函数将某个值类型的数据通过一个函数后进行更改。传 out 定义的参数进去的时候这个参数在函数内部必须初始化。否则是不能进行编译的。ref 和 out 都是传递数据的地址,正因为传了地
阅读全文
摘要:c#的参数传递有三种方式:值传递,和c一样,引用传递,类似与c++,但形式不一样输出参数,这种方式可以返回多个值,这种有点像c中的指针传递,但其实不太一样。值传递不细说,c中已经很详细了引用传递实例如下:需要使用ref关键字 按输出传递参数return 语句可用于只从函数中返回一个值。但是,可以使用
阅读全文
摘要:c#的有5个,比c++多两个public:所有对象都可以访问;private:对象本身在对象内部可以访问;protected:只有该类对象及其子类对象可以访问internal:同一个程序集的对象可以访问;protected internal:访问限于当前程序集或派生自包含类的类型。 后面两个是c++
阅读全文
摘要:“$@”代表目标文件。 “$^”代表所有的依赖文件。 “$<”代表第一个依赖文件。 .c.o:gcc -c $< 这个规则表示所有的 .o文件都是依赖与相应的.c文件的。例如mytool.o依赖于mytool.c,这样Makefile还可以变为
阅读全文
摘要:请移步我博客园的网站基本上是自己的原创,不是网上抄来抄去的,有很多干货,希望一边整理,一边修改~有不对的地方多多指教。https://www.cnblogs.com/CodeWorkerLiMing/p/1183...
阅读全文
摘要:c#的运算符和c的运算符的关系,是c包含于C#,因此C#有更多的运算符。先来学习一下三个是c中没用的:1、typeof() 返回 class 的类型。 ...
阅读全文
摘要:一、数据解析 上一文介绍了modbus工具的基本使用情况,但是还没用说明modbus中的协议的具体意义, 1、左边是slave,id=1,说明地址是1,f=01说明是功能码01,功能码是一个字节,说明理论上最多可以是256个功能码。 2、右边是poll,tx是发送的次数,err是错误数量,id是从机
阅读全文
摘要:在modbus的学习工具中,非modbus-poll和modbus-slave莫属了,在电脑上模拟的过程中,两者缺一不可 ,当然还需要虚拟串口工具:Configure Virtual Serial Port Driver,这样可以创建虚拟的串口,而不是物理串口。 网上都有软件可以使用,当然也可以和谐
阅读全文
摘要:STM32使用Cubemx生成的代码中,用到IIC的驱动,但是始终不能读写,因此使用逻辑分析仪,发现原本地址为0x58的写成了0x20,因此肯定是地址错了。因此,总结如下: 1、需要逻辑分析仪分析IIC协议书很好的,目前使用的工具是:DSView 逻辑分析仪。2、keil在线debug的能够独写一次
阅读全文
摘要:说到低功耗蓝牙模块,少不了要说说低功耗蓝牙模块中最简单、最常见的通讯方式——透传。透传也叫串口透传,就是透明传输的意思,透传是一种工作方式,不是一种功能,一般出现在串口模块中(蓝牙串口透传模块是为了让用户更好的开...
阅读全文
摘要:转载知乎透传:透明传输。就是不管所传输的内容、数据协议形式。只是把需要传输的内容当成一组二进制数据完美地传输到接收端。不对要传的数据做任何处理。就像《非常人贩》里的斯坦森那样,他不管后备箱里送的到底是货物还是毒品...
阅读全文
摘要:GSM/GPRS芯片是手机中负责收发短信、拨打电话以及访问GPRS网络的核心器件。有方M660+为深圳有方公司生产的一款超小封装的GSM/GPRS工业无线模块,可以提供高品质的语音、短信、数据业务等功能,在各种...
阅读全文
摘要:基本上和c语言中的常量类似,但有区别在const关键字的基础上,添加了readonly,readonly关键字在笔记中说明。常量是固定值,程序执行期间不会改变。常量可以是任何基本数据类型,比如整数常量、浮点常量、...
阅读全文
摘要:环境:VS Express 2013 for Desktop 也可以vs社区版,不过学习的话,Express本版做一些小的上位机工具应该是够用了学习的网站:https://www.runoob.com/csharp/c#是微软开发的,面面相对象的编程语言,再加上微软的ide,开发起来效率比较高,适合
阅读全文
摘要:环境:VS Express 2013 for Desktop 也可以vs社区版,不过学习的话,Express本版做一些小的上位机工具应该是够用了学习的网站:https://www.runoob.com/cshar...
阅读全文
摘要:STM32F103 串口-IAP程序升级 通常情况下我们给STM32系列的单片机烧录程序文件的时候,使用SWD、J-link或者通过设置BOOT引脚后,使用串口进行程序下载,这样的方式直接一次性...
阅读全文
摘要:以下参考https://blog.csdn.net/u014563989/article/details/51127519,同时自己实测。1.按如图步骤做,主要是要找到fromelf.exe的路径;(keil4则...
阅读全文
摘要:编译环境:我用的是(Keil)MDK4.7.2 stm32库版本:我用的是3.5.0一、本文不对FLASH的基础知识做详细的介绍,不懂得地方请查阅有关资料。 对STM32 内部FLASH进行编程操作,需要遵...
阅读全文
摘要:在使用stm32自带的flash保存数据时候,如下特点必须知道:1、必须是先擦除一个扇区,才能写入2、读数据没有限制3、写数据必须是2字节,同时写入地址以一定要考虑字节对齐,4、一般都是在最后几页进行数据保存的,...
阅读全文
摘要:http://bbs.21ic.com/forum.php?mod=viewthread&tid=588265&reltid=624002&pre_pos=2&ext=https://www.cnblogs.co...
阅读全文
摘要:最近需要学习iap的功能,因此离不开stm32的启动代码的分析,以前看了很多遍,都看不懂,读书百遍,其义自见,因此我有看了一遍,下面的文章,挺好的,因此转载: 在上电复位后,我们都知道会先运行启动代码,但是启动代...
阅读全文
摘要:最近需要学习iap的功能,因此离不开stm32的启动代码的分析,以前看了很多遍,都看不懂,读书百遍,其义自见,因此我有看了一遍,下面的文章,挺好的,因此转载: 在上电复位后,我们都知道会先运行启动代码,但是启动代码到底使干什么用的呢?下面小弟给大家一一列出来。 1、初始化堆栈指针2、初始化 PC 指
阅读全文
摘要:首先下载官方STM32F10X的IAP Bootloader源码,STM32F10x_AN2557_FW_V3.3.0。用Keil4打开工程代码STM32F10x_AN2557_FW_V3.3.0Project...
阅读全文
摘要:发布时间:2008-09-01 来源:computer00 分享到: 分享到: IAP是In Application Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行
阅读全文
摘要:运行结果: f9=0.111086 和计算机1/sqrt(81)很接近1/9=0.111111 相比 sqrt() 函数,这套算法要快将近4倍,要知道,编译器自带的函数,可是经过严格仔细的汇编优化的啊! 牛顿迭代法的原理是先猜测一个值,然后从这个值开始进行叠代。因此,猜测的值越准,叠代的次数越少。卡
阅读全文