杂技
weifengLD
嵌入式爱好者
展开
-
DMA引起数组越界
今遇到了内存越界问题很隐蔽的问题原创 2014-10-28 22:44:02 · 1072 阅读 · 0 评论 -
示波器测量晶振有没有起振
表笔打到10x示波器打到10x然后measure 频率即可得出原创 2016-05-30 16:16:23 · 708 阅读 · 0 评论 -
PPP、TCP/IP、UDP协议之间的关系
PPP工作于第2层,TCP/IP工作于3-7层PPP(Point to Point Protocol)点对点协议 它是用于串行接口的两台计算机的通信协议,是为通过电话线连接计算机和服务器而彼此通信而制定的协议。网络服务提供商可以提供您点对点连接,这样提供商的服务器就可以响应您的请求,将您的请求接收并发送到网络上,然后将网络上的响应送回。PPP是使用IP协议,有时它被认为是TCP/IP转载 2016-04-22 10:06:06 · 10714 阅读 · 0 评论 -
TCP/IP四层模型和OSI七层模型的概念
TCP/IP四层模型TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。TCP/IP协议簇分为四层,IP位于协议簇的第二层(对应OSI的第三层),TCP位于协议簇的第三层(对应OSI的第四层)。 TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为: 应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、转载 2016-04-22 10:10:11 · 343 阅读 · 0 评论 -
几种开放源代码的TCPIP协议栈分析
1、BSD TCP/IP协议栈 BSD栈历史上是其他商业栈的起点,大多数专业TCP/IP栈(VxWorks内嵌的TCP/IP栈)是BSD栈派生的。这是因为BSD栈在BSD许可协议下提供了这些专业栈的雏形,BSD许用证允许BSD栈以修改或未修改的形式结合这些专业栈的代码而无须向创建者付版税。同时,BSD也是许多TCP/IP协议中的创新(如广域网中饿拥塞转载 2016-04-22 10:17:53 · 4245 阅读 · 0 评论 -
STM32位带操作----待更
1.位带(Bit-Band):如1M的地址都可以用bit访问,然后用32M的地址对应这1M的地址。其中这32M地址的每个字的最低位对应那1M可bit寻址的每个位。原创 2016-05-07 11:36:32 · 313 阅读 · 0 评论 -
中兴ME3620模块,作为无线上网卡用
第一步初始化MODEMAT+CGDCONT=1,“IP”,“CMNET”APN处:CMNET,移动上公网,UNINET,联通上公网3GNET:3G业务上网卡及上公网,3GWAP:3GCMWAP:移动上内网,UNIWAP:移动上内网 第二步:设置新的连接 第三步:进行拨号移动:*99#联通:???? 第四步:拔掉网线,可以上网了,速度贼快原创 2016-04-22 17:01:55 · 2529 阅读 · 4 评论 -
原码补码反码
原码, 反码, 补码 详解本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希望本文对大家学习计算机基础有所帮助! 一. 机器数和真值在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念.1、机器数一个数原创 2016-09-18 16:26:05 · 642 阅读 · 1 评论 -
IEEE的浮点数表示
IEEE浮点标准用V=(-1)^s*M*2^E由符号,尾数,阶码表示32位单精度单精度二进制小数,使用32位存储。1 8 23 位长+-+--------+-----------------------+|s| exp | fraction |+-+--------+-----------------------+31 30 23 22 0 位编号 (从右边开始为0原创 2016-09-18 19:50:35 · 622 阅读 · 0 评论 -
ISO/OSI七层模型和TCP/IP模型的关系
1. ISO/OSI的参考模型共有7层,由低层至高层分别为:物理层、数据链路层、网络层、传输层、会话层、表示层、 应用层。各层功能分别为:(1)物理层 提供建立、维护和拆除物理链路所需的机械、电气、功能和规程的特性;提供有关在传输介质上传输非结构的位流 及物理链路故障检测指示。在这一层,数据还没有被组织,仅作为原始的位流或电气电压处理,单位是转载 2016-10-07 21:27:43 · 9124 阅读 · 0 评论 -
java自动补全如何取消空格确认
注意:下载的是elipse-sdk版本的,才可以加载plug源代码我们都知道,我们在开启了eclipse的自动提示功能之后,可以方便我们更快的进行编码,但是eclipse的自动提示设计的不那么人性化。 比如: 你洋洋撒撒的自认为敲出了String str=new String(“fuck”); 结果一看,敲出来的变成了String string=new String(“fuck”)转载 2017-05-29 13:16:07 · 4373 阅读 · 3 评论 -
端口被占用
好久没写博客了,今天更新几篇这几天心血来潮 想学学PHP和shell编程,安装完Wampserver后修改apache端口,查看是否启动成功,具体步骤如下:1、win+R打开cmd窗口2、netstat -ano列出所有端口的情况,找到被占用的端口3、输入命令netstat -aon|findstr "8080" 找对应的PID4、输入命令tasklist|findstr "21548" 查找...转载 2018-05-05 20:46:48 · 168 阅读 · 0 评论 -
git仓库删除所有的提交记录,成为一个新的仓库(用户clone代码,然后上传成为自己的代码)
把旧项目提交到git上,但是会有一些历史记录,这些历史记录中可能会有项目密码等敏感信息。如何删除这些历史记录,形成一个全新的仓库,并且保持代码不变呢?1.Checkout git checkout --orphan latest_branch2. Add all the files git add -A3. Commit the changes git commit...转载 2018-05-22 19:52:27 · 2122 阅读 · 0 评论 -
微信文章
case class Record(word:String)object sqlNetWordCount { def main(args: Array[String]): Unit = { val sparkConf = new SparkConf().setAppName("ForeachRDDApp").setMaster("local[2]") val ssc = ...原创 2018-08-28 20:54:30 · 186 阅读 · 0 评论 -
_no_init的作用
__no_init用于禁止系统启动时的变量初始化,什么情况下需要用这个关键字使系统禁止变量的初始化,禁止变量初始化用在什么场合,为什么要这样做,有什么意义吗?1、看门狗复位的现场恢复,如果初始化了就完全不可恢复了2、使用nvram保存数据,需要连续记录的。 我有个变量,需要在系统意外复位时,这个变量值能保留,所以采用__no_init来实现,只是上电的时候这个值不原创 2016-05-27 08:35:42 · 14278 阅读 · 1 评论 -
Altium Designer-Net has no driving source警告消除的方法
1.其实这个警告原因是: 你图中有一个器件的管脚有属性(如I/O),并且这个管脚设定了驱动源, 你先从元件库中,找到这个管脚,把管脚的属性 改成下面图片 的这个样子 就好了.————————————————————————————————————————————————2.下面这种方法,只是快速 逃避警告,也是可以通过编译的:转载 2016-04-16 14:40:24 · 24311 阅读 · 2 评论 -
嵌入式linux概览
事物总有个核心,复杂的事物总可以模块化、层次化, 嵌入式Linux也如此。学习嵌入式Linux困难,主要因为涉及知识和概念过多,即比较复杂,所以学习嵌入式Linux的就需要找到核心,需要模块化,需要进行层次划分。 嵌入式Linux系统做模块化处理就是可划分为Bootloader(引导程序),Kernel(内核),fs(文件系统),Shell(命令行界面),Gui(图形库)和 Embe转载 2014-12-13 17:23:39 · 380 阅读 · 0 评论 -
警惕memcpy()函数越界
在维护一个工程师的代码时,发现memcpy()导致越界原创 2014-12-12 11:13:58 · 6509 阅读 · 0 评论 -
3.3V数字信号转5V信号(低成本)
在调一次LED屏驱动的时候,用到了一款LED驱动芯片TM1629,供电5V,如何将单片机高电平3.3v的数字信号,转换成5V高电平的数字信号给LED屏呢?采用低成本的方案考虑。 1:硬件上,单片机引脚输出端外加5V上拉,上拉电阻10K(可选)2:单片机输出高电平:将引脚配制成输入模式,因为输入状态单片机处于高阻输出状态,5V上拉,确保给LED驱动芯片的信号为5V高电平 单片机原创 2015-01-21 19:46:33 · 9287 阅读 · 0 评论 -
LDO(低压差线性稳压器)和LM25XX.L78XX
LDO即low dropout regulator,是一种低压差线性稳压器,是相对于传统的线性稳压器来说的。传统的线性稳压器,如78xx系列的芯片都要求输入电压要比输出电压高出2v~3V以上,否则就不能正常工作。但是在一些情况下,这样的条件显然是太苛刻了,如5v转3.3v,输入与输出的压差只有1.7v,显然是不满足条件的。针对这种情况,才有了LDO类的电源转换芯片散热问题:LDO有个降压的原创 2016-04-05 10:29:22 · 1995 阅读 · 0 评论 -
Secure CRT键盘自我习惯
清屏:ctrl+s复制:ctrl+c粘贴:ctrl+v全选:ctrl+a复位:ctrl+r连接:shift+c断开:shift+d重连:shift+r原创 2016-04-11 22:35:57 · 708 阅读 · 0 评论 -
作为一个新人,怎样学习嵌入式Linux?(韦东山)
作为一个新人,怎样学习嵌入式Linux?被问过太多次,特写这篇文章来回答一下。在学习嵌入式Linux之前,肯定要有C语言基础。汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会)。C语言要学到什么程度呢?越熟当然越好,不熟的话也要具备基本技能。比如写一个数组排序、输入数字求和什么的。学C语言唯一的方法是多写程序多练习,编译出错没关系,自己去解决;执行出错没关系,自己去分析。以前我转载 2016-04-12 00:05:06 · 793 阅读 · 0 评论 -
USB device和USB host
USB,英文全称:Universal Serial Bus,即通用串行总线。常常各种USB芯片同时具有host和device两种接口。host就是主的,可以起控制作用;device(slave)就是从,是被控制的。比如PC机的USB口,可以识别U盘或者其他USB设备,起到控制的作用,就是host;而U盘是被控制的,是device(slave)。只有一个host和一个device(s转载 2016-04-25 11:14:47 · 7892 阅读 · 1 评论 -
STM32如何查找hardfault原因
STM32出现HardFault_Handler故障的原因主要有两个方面:1、内存溢出或者访问越界。这个需要自己写程序的时候规范代码,遇到了需要慢慢排查。2、堆栈溢出。增加堆栈的大小。 出现问题时排查的方法:发生异常之后可首先查看LR寄存器中的值,确定当前使用堆栈为MSP或PSP,然后找到相应堆栈的指针,并在内存中查看相应堆栈里的内容。由于异常发生时,内核将R0~R3、R12、转载 2016-04-13 09:54:30 · 5278 阅读 · 0 评论 -
一个电脑双显示屏,用于画板子(有待更新)
一个电脑双显示屏,用于画板子(有待更新)原创 2016-04-14 09:35:46 · 431 阅读 · 0 评论 -
STM32使用SWD下载
找到一篇比较好的 关于stm32 SWD模式 下载 调试 配置文章 整理如下: 我们比较常用的是Jlink下载器 ,这种下载器有一个缺点就是使用的Jtag 20PIN接口,太多的PIN会导致一些小型的PCB板很拥挤,也会增加布线的难度。 而使用SWD接口下载调试,只需要要使用4个PIN: GND, RST, SWDIO, SWDCLK ,而且下载速度可以达到10M/s,优势显而易转载 2016-04-14 15:37:47 · 33427 阅读 · 1 评论 -
keil编译优化-One ELF per function
使用了ST的库,感觉体积有点大,点亮个 LED 使用了 2.5K flash 了。一个简单的瘦身办法,也就是,将不使用的函数剔除,不连接进去最终的烧写文件,有用的函数连接进去,没用的函数不要。只需要2步设置项目属性1,在 Linker 页的 Misc contrrols 那里添加 --remove作用是将不使用的输入段(input sections)移除。转载 2016-04-11 20:47:50 · 1590 阅读 · 0 评论 -
keil中micro lib
在keil (我用的是realview mdk3.11)建立ARM的工程时其中有一项是选 use MicroLIBMicroLIB是干什么的" style="margin:0px; padding:0px; border:none; list-style:none; width:580px; height:394px">由于对KEIL不是很熟悉,于是就查了查,得到了转载 2016-04-11 21:05:01 · 6605 阅读 · 0 评论 -
STM32 - Keil中启动文件的选择和固件库宏定义
STM32 - Keil中启动文件的选择和固件库宏定义● 启动文件的选择1. Low-density devices (STM32F10nx4 = 16k, STM32F10nx6 = 32k)- startup_stm32f10x_ld_vl.s: 小容量超值型。STM32F100xx系列,闪存16k~32k字节。- startup_stm32f10x_ld.s: 小容量型。ST转载 2016-04-15 23:23:56 · 6151 阅读 · 0 评论 -
java classpath笔记
javac -classpath的使用:javac: 如果当前你要编译的 java 文件中引用了其它的类(比如说:继承),但该引用类的 .class 文件不在当前目录下,这种情况下就需要在 javac 命令后面加上 -classpath 参数,通过使用以下三种类型的方法 来指导编译器在编译的时候去指定的路径下查找引用类。 (1).绝对路径:javac -classpath c:/junit...原创 2018-12-11 20:07:21 · 196 阅读 · 0 评论