IP与MAC--ARP及W5500超时机制,非阻塞
1.今天客户反馈了个问题:使用UDP通信,在电表(类服务器)不断电的情况下,更换集中器(类客户端)(IP不变,MAC变了),通信会失败,前提条件:由交换机组成的网络。
按照理论上来讲,应该是会有问题的。后面就补习了下ARP相关的知识。每个主机和路由器都会有ARP cache,无论主机是跑的是软件协议栈(如Lwip等),还是硬件协议栈(w5500)。ARP是为上层的协议服务的。
在不断电的情况下,电表中缓存着前一个集中器的IP和MAC映射关系,如果更换集中器之后且IP不变,电表进行UDP通信使用的还是之前的映射关系,所以会通信异常。
2.另一个客户反馈的W5500的TCP连接问题,connect。如果服务器断了,客户端会一直死在连接的while里面不断请求连接。很明显,使用的是类似阻塞模式,但是超时中断未发生。A,改为非阻塞方式,立即返回状态。B,设置中断及合理的超时时间(TCPto)。SIMR,SIR及RTR, RCR
while ( IINCHIP_READ(Sn_SR(s)) != SOCK_SYNSENT )
{
if(IINCHIP_READ(Sn_SR(s ...
Lofter搬家到WordPress
差不多折腾了一天,终于写了个脚本可以把Lofter的文章搬到WordPress了,主要就是将Lofter的备份文件转成WordPress的备份文件格式。基本上可以搬文章主体,标签,日期,标题。评论没写,因为基本上俺的博客评论为0 ,O(∩_∩)O哈哈~,这也省事多了。功能的实现纯粹是体力活啦,主要就是XML的解析与重构啦,用的是python的类库xml.dom,还是挺方便的。主要遇到了一个时间的转换问题,也就是datatime,time,字符串之间的游戏,其他的真的就没啥了。
代码就不放了,个人觉得应该没啥人要用的,如果真的谁有需要的话,可以@我,Email,留言等都行。
DD初学Linux系列--1.环境安装搭建及启动过程
DD初学Linux系列–环境安装搭建及启动过程
一、PC版:   前段时间生日,自己入手了一块三星的SSD作为生日礼物。具体型号:(840EVO,mSATA接口),因为刚好我的本本有mSATA接口,就不需要拆原来的硬盘了。上周末,给自己的本本重装了下系统,SSD上装win8.1,原来硬盘装系统和软件的盘来装Ubuntu麒麟版。先装了win8.1,再装Ubuntu,接下来就是引导了,用了EasyBCD来设置。于是顺便了解了下Linux引导(LILO和Grub)—来源于网络 如果想要在同一机器上运行 Windows 和 Linux,那么应该先安装Windows OS,然后再安装 Linux OS,这样,在 Linux 安装中所选择的引导加载程序就不会被 Windows 引导加载程序所覆盖。与 Linux 引导加载程序不同,多数 Window 引导加载程序不支持引导 Linux。如果已经先安装了 Linux,那么只需要自己创建一张 Linux 引导盘,这样就可以在安装完 Windows 之后,回到 Linux 安装中并重写 MBR二级引导 ...
用pelican在github上创建自己的博客
今天在网上查用Python生成静态网页,偶然中发现了这个pelican好东东,而且发现可以自己用它在github上创建博客,经过一段的折腾,终于基本上会用了。
MarkdownPad2编辑.md的文章代码,当然也可以用.rst。然后用pelican生成静态网页,通过Github上传到我的Git仓库,今天终于知道了Git的另一个用途,真是太强悍了。MarkdownPad2也感觉挺好用的。
串口上位机(接收同步显示FFT波形) 问题Mark!
消除: warning C4996:’sprintf’: This function or variable may be unsafe. Consider 的方法: http://blog.csdn.net/lllxy/article/details/6859289 最简单的可以用的方法: 选项Project -> Configuration Properties -> C/C++ ->Preprocessor -> Preprocessor Definitions 添加_CRT_SECURE_NO_DEPRECATE和_SCL_SECURE_NO_DEPRECATE 或用sprintf_s(char *buffer,size_t sizeOfBuffer,const char *format [argument]...);替换
vc2008错误:不能将参数 1 从“const char []”转换为“LPCTSTR” http://90chuanlin.blog.163.com/blog/static/4042992920114233169866/ 是因 ...
FM3应用笔记调试+串口上位机(大数据量,高波特率,保存到WAV文件) 问题Mark!
//————————————————————————
9.2 使用富士通驱动库,启动文件要统一用驱动库的启动文件
FM3
//------------------------------------------------------------------------
1.FM3使用串口printf打印调试信息步骤
A.keil
打开串口头文件(pdl_user.h文件里ON)--》添加UART驱动库文件(uart_fm3.c,mfs_fm3.c)到工程driver --》添加自己定义的UserUART.c和UserUART.h到工程(里面有重定向printf和包含stdio.h头文件),并包含进去 --》勾选option的Target的Use MicroLIB --》添加串口初始化函数UserUART_Init(USER_UART_CH1);对应的串口号要根据重定向里的串口号修改。
B.IAR
将Library Configuration 中的Library 设置由"Normal"改为"Full" ...
FM3和FSL(M0+)问题Mark
7.15
以下是我今天的一些笔记或是值得注意不懂的 一个小结:
1.资料,平台,工具的发放,准备
2,总线地址。寻址
3.内核+外设,内核的概念。
4.内存保护单元的利用。比如故意出错等。
5.nm工艺(成本)与EMC的权衡。
6.看内存
7.两种keil,IAR开发环境的配置,驱动库的移植。
8.启动文件不要公用
9.hex bin文件烧写的区别
10.flash的擦除,主要是flash的分块,有些型号的是不同的
11.时钟配置, 启动代码 SysTick内核定时器, GPIO ,bit band 存储器映射。
技术培训的第一天 ,确实就开始感受到了这次培训的强度,学习的内容多,时间紧,所以技术培训开始的第一天就开始加班了,可能这才进入节奏,虽然一天下来高强度地接收一大堆东西,有点小累,但是很有收获很充实。
-------------------------------------------------------------------------------
...
毕设Mark!
虽然被批没得工作量,但还是把一些调试问题Mark一下,留点记忆。快点坑完,开店走人。。。
以前都能正常工作的一个函数,今天突然不行了,纠结了大半个下午这个问题,重启下电脑就好了。。。。无语了。。
串口异步通信非阻塞。一般使用多线程,,读操作和写操作在不同的线程里面,执行操作后会立即返回,而不管读写有没有成功,
在同步执行时,函数直到操作完成后才返回。这意味着在同步执行时线程会被阻塞
最好还是用中断写串口,调了一两天的乱码的问题,从无线模块到串口,要么是最前面多个字符要么是最后少个字符,或是经常乱码(重复最后一个字符),但是奇怪的是两个程序的串口的可以,另外一个不行,都是用的查询方式,最后都改成中断的方式就行了
看来不是啥东西高级就好,以前的代码现在用就不行了,Vs2010默认的是unicode编码,好多东西都要先处理成宽字节,今天调了一天发现又是编码的问题,以前就遇到了很多的编码问题,包括Vs,python 等等,调试助手可以调通,自己写的就不行,不是不行,只是最多开始能发一两次正确的,之后就Over了
WideCharToMultiByte //unico ...
Python之编码问题
好久没在点点上活动了,没想到dongblog的访问量已经突破10000了!
最近遇到了个很纠结的问题,Python的问题,可能这对新手来说,是个普遍的问题了。但谁要Python是外国人发明的呢!我们中国人也来弄个只能用中文编码的来瞧瞧,哈哈。
在程序调试的时候,可能这个问题很容易解决,就一句# --coding:utf-8-- 搞定!
但是在直接用python.exe或打包成.exe的时候就头疼了,始终报错,编码问题!我也知道是代码中有中文的问题,因为中文在里面看起来就很别扭!呵呵,最后google之,终于在http://www.cnblogs.com/WebClerk/archive/2012/09/29/2708672.html找到了成功解决的办法!虽然之前十六很多种 都没成功!(ps.还是google强大!百度不知道的问题google知道,可惜啊,google经常被潜了,要不是打不开就是很慢,连个googlegroup都打不开!)
具体就是在 程序开头设置编码:
## 编码处理
import sy ...
菜鸟学Android(1)
一、环境配置相关:
adb forward tcp:6100 tcp:7100
Android 模拟器加载 SD:
http://www.cnblogs.com/jerrychoi/archive/2009/09/12/1565281.html
好像不支持中文文件名。。。(4.1的)
Android requires compiler compliance level 5.0 or 6.0. Found ’1.7’ instead. Please use Android Tools >
Fix Project Properties.
解决方法:
1.项目右键 ->android tools->Fix Project
2.如果不可以,检查Project->Properties->Java Compiler
确认JDK compliance被设置为1.6,并且enable specific seetings.
经过这两步问题基本解决。
修改AVD的路径
xml文件名是不能有大写的
eclipse中绑定android源码
http://eagle0824.ite ...
菜鸟学Python(1)
学语言从写播放器开始!写个播放器,很多语法,用法。。。都会用到
自己写的Lrc解析终于能用了,至此播放器终于有了个雏形了,Python也开始上手了。
贴上自己遇到的诸多问题及解决方法,以此纪念,也留下个记号。(为了尊重版权,只贴上相应的链接)
wxpython
pydev 断点 ctrl + F10
pydev运行和调试
http://hi.baidu.com/chjj910/item/8f90b688fb4824c098255f96
python format string (转)
http://www.cnblogs.com/end/archive/2012/06/20/2556008.html
用python+wxpython写的闹钟程序
http://blog.csdn.net/cfeibiao/article/details/6754618
PYTHON对文件及文件夹的一些操作
http://www.cnblogs.com/phoebus0501/archive/2011/01/19/1939646.html
http://my.oschina.ne ...
关于Python
最近发现Python 很不错,以前我的同学弄的时候没怎么注意,面向对象。
于是开始在自己的电脑上搭建环境。环境搭建感觉都有点复杂。。。。
开始在VS上的环境搭建成功(PTVS工具)
eclipse + Pydev搭建完成不久,纠结了很久的是版本的问题,看来有些东西不是最新版本越好,特别是对于那种需要多种东西来配置环境的 就如在eclipse配置Python的环境,要eclipse+Pydev+Python+JAVA…
后来又纠结Python基于GUI编程,选项很多,框架也很多,但感觉网上都说不咋好的,就发现了新的好玩的kivy(不支持中文路径)
感觉中国玩Python不是很多,kivy就更少了,资料少得可怜!有都是英文的。。。