- 博客(24)
- 收藏
- 关注
原创 VC++编程过程中的一点杂记
好久没用MFC了,上一次使用还是在7、8年前,那时候用的还是VC6.0,Windows XP还占据着主流市场。之后一直做的嵌入式方向,用QT用习惯了,前两天忽然用到MFC,觉得很不顺手。现在记录一点杂项,备忘。 鸡啄米是个查阅VC++不错的网站 http://www.jizhuomi.com/software/232.html在MFC中,想在文本框等控件中显示文字,有专门的函数SetDlgIt
2016-09-18 20:32:12 631
原创 WebService 安卓客户端调用和服务器端搭建
这段时间做了一个小程序,想通过WebService来供安卓客户端调用。先说一下安卓端的程序。之前没有进行过安卓+Java的编程,就先找网上的一个查询手机号码归属地例子来测试WebService。在Android平台调用Web Service需要依赖于第三方类库ksoap2,它是一个SOAP Web service客户端开发包,主要用于资源受限制的Java环境。在Android平台中我们并不会直接使用
2016-03-21 20:43:19 3661
原创 address already in use
在Linux中使用socket进行网络编程的时候,发现修改了代码之后,再次运行,在bind时会出现address already in use的错误。可是程序明明是正常运行完毕退出的,退出前也关闭了对应的socket。看到《bind出现Address already in use解决方法 》,原来由 TCP 套接字状态TIME_WAIT 引起。该状态在套接字关闭后约保留 2 到 4 分钟。在 TIM
2016-02-01 17:47:56 843
转载 Linux下靠谱的获取本机IP的C代码实
正在做一个网络编程的任务,多台设备向服务器发送图片,发送图片的时候同时告诉服务器自己的IP。服务器根据IP来区分不同的设备,将图片存到不同的文件夹下。正好看到一段代码,在linux下获取本机IP的C代码实现,验证好用。之前看到其他的,只能 获得lo的IP。
2016-01-30 16:40:26 796
原创 File,fopen, fclose 和 read的奇怪现象
File,fopen, fclose 和 read的奇怪现象下午一个同学做一个小程序,一个服务器程序发送一串字符,一个客户端程序接收字符,并且把接收到的字符存到文件中。他发现一个问题,使用fopen打开文件,在fclose的时候出现了segmentation fault的错误。File *fp;void main(void){ fp=fopen("abc.txt", w+); .
2016-01-12 17:08:35 2641
原创 Windows 和 VMware 中Ubuntu之间的文件共享
做嵌入式开发常常需要进行交叉编译,在虚拟中安装Linux来搭建开发环境是常见做法,这就必要在Windows中和虚拟机中设置文件共享。文件共享有两种方式,一个是直接拖拽文件,这样Windows和Ubuntu中就各自有一个文件。此方式的好处是操作简单方便直观,VM9和Ubuntu12.04之后的版本默认已经安装了此功能。还有一个是设置一个共享文件夹,Windows和Ubuntu都可以读写,好处是节省空间
2015-11-04 11:01:45 977
转载 Altium Designer 14 安装完整元件库
http://www.cnblogs.com/emouse/p/3483774.htmlAltium Designer 14安装后看到在目录结构上有些变化,元件库和示例文件从原来的安装根目录调整到C:\Users\Public\Documents\Altium\AD14文件夹中,而且元件库也默认只安装了一部分,包含常用的库和FPGA库。更多的库可以在线下载(需要自己申请账号)http://desig
2015-09-23 20:06:02 14679
原创 Linux shell脚本执行提示错误[[: not found
在脚本中实现在一个字符串中查找一个子串wifistate=$(iwconfig wlan0)if [[ "$wifistate" =~ "unassociated" ]];then echo no elif [[ "$wifistate" =~ "associated" ]];then echo yes else echo hello fi以上的程序在命令行中一行一
2015-09-17 15:17:28 31432 2
原创 Ubuntu安装谷歌中文输入法
ubuntu自带的中文输入法不好用,打算自己下载一个googlepinyin,查找的时候发现googlepinyin有很多种,比如ibus-googlepinyin,fcitx-googlepinyin,还有scim-googlepinyin。ibus,fcitx,scim是一个输入法的框架,各自支持多种输入法。所以前面的三个就是不同框架下的googlepinyin,我的系统自带ibus框架,那就用
2015-09-15 16:15:54 925
原创 Linux开发板中安装WIFI驱动
嵌入式开发板用的是Cubieboard2,linux版本3.4.60+(linux-sunxi3.4)。WIFI用的是水星USB网卡,型号MW150US。 1.Cubieboard2支持的驱动首先查了一下Cubieboard2自身支持的驱动,官方系统自带rtl8192cu和bcm4330的驱动,所以只要只这两个芯片的wifi都可以用直接用。其他的需要编译驱动,如 rtl8188,rtl
2015-02-02 09:45:42 3955
原创 RGB24转jpeg
我的摄像头不支持直接取jpeg图片,读取的原始数据是YUYV格式,要在内存中转换成RGB24后,再存为jpeg图片。可以到www.ijg.org网站下载libjpeg的源码。 一、准备工作 下载好源码之后编译之后可以得到libjpeg的静态链接库(.a)和动态链接库(.so),如图: 使用的时候把源代码里面的jconfig.h,jmorecfg.h,jpegli
2015-02-01 20:05:41 3177 2
转载 linux下c语言select函数用法
select系统调用是用来让我们的程序监视多个文件句柄的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有一个或多个发生了状态改变。关于文件句柄,其实就是一个整数,我们最熟悉的句柄是0、1、2三个,0是标准输入,1是标准输出,2是标准错误输出。0、1、2是整数表示的,对应的FILE*结构的表示就是stdin、stdout、stderr。 int select(intn,fd
2015-01-27 19:27:58 2872
原创 用V4L2采集图像经常卡死在VIDIOC_DQBUF
最初写了一个小程序,循环采集10次图像,在PC机ubuntu12.4(在虚拟机里)中运行,没有发现问题,后来把采集次数改成100次后,发现经常会卡死在ioctl(fd, VIDIOC_DQBUF, &queue_buf)这里。一开始怀疑采集间隔太短了,设备没有准备好,就把采集间隔调到1s,但是仍然会卡死,而卡在第几次采集中则不是固定的。百度了一下,发现这个问题不算罕见,有几个论坛中有过讨论
2015-01-25 20:59:11 12210 2
原创 友善之臂6410开发板搭建开发环境
1. 让开发板动起来 先要找到开发板的COM0(串口0),然后和电脑的串口连起来。几乎所有开发板的COM0都是115200波特率,8位数据位,1位停止位,1位起始位,无奇偶校验,无数据流控制。 开发板的串口0如下图位置,是位置靠右的那个串口。 打开电脑上的超级终端(或者别的串口软件),按照上面的参数设置串口。开发板上电后就可以看到超级终端中的输出信息了。2. 在
2014-12-08 16:19:03 3843
原创 采用V4L2读取的USB摄像头
Video4linux2(简称V4L2),是linux中关于视频设备的内核驱动。在Linux中,视频设备被视为设备文件,可以像访问普通文件一样对其进行读写,摄像头在/dev/video0下。 使用read读取摄像头一帧最初参考了华恒提供的摄像头例程,采用V4L2方式来读取视频,设置了framebuffer并用read来读取视频,非常简洁,顺序为open, ioctl, read。其中
2014-12-08 15:28:00 7568
原创 在Ubuntu12.04和14.04用root用户登录
Ubuntu 12.04默认是不允许root登录的,在登录窗口只能看到普通用户和访客登录修改步骤:1、执行:sudo passwd root----->输入root登录用户密码 2、执行:gedit /etc/lightdm/lightdm.conf会打开这个文件(有些同学熟悉linux的可能习惯用vi,不过我总是懒得去记住vi的指令,所以喜欢用gedit。不过linux新
2014-12-08 15:24:52 1038
原创 U盘中文件复制到ARM开发板
将U盘中的hello文件复制到ARM开发板中(绝大多数操作系统是linux的开发板都适用)。将U盘插到开发板上,会打印出一段信息:sda: sda1 sd 1:0:0:0: Attached scsi generic sg0 type 0sd 1:0:0:0: [sda] Attached SCSI removable disk 查看/dev下会多出来sda和sda1,这就是你
2014-10-30 16:23:45 7462
原创 串口传输工具sz和rz的安装与使用
超级终端和SecureCRT支持Zmodem方式来进行文件的收发(当然是通过串口线),使用他们在个人电脑(Host)和开发板(Target)之间传文件,要确保开发板已经安装了sz和rz这两个工具。使用方法很简单:# rz (回车)超级终端会弹出对话框让你选择文件,你选择之后就Host->开发板自动开始传输。# sz 文件名(回车)开发板->Host开始传送文件,Host中的具体位置
2014-10-30 15:59:59 5689 1
原创 给嵌入式ARM+Linux的初学者
本文写给已经听过或接触过嵌入式并对此产生兴趣,可是对于嵌入式觉得无从下手的初学者。 0. 为什么要写这篇我以前读研的时候选过一门嵌入式ARM的选修课,课程在实验室中进行,每个同学一个ARM开发板,老师一边讲,学生一边进行操作。课程的内容大致有,硬件、ARM和linux简介,编写并编译一个C文件,下载到开发板中运行,搭建qt开发环境,编写一个qt的程序,下载到开发板上运行。期末的时候再自
2014-10-30 14:43:38 17154
原创 ubuntu12.04打开终端方法
新安装的ubuntu12.04在左边的快捷方式里默认是没有终端图标的,可以使用如下方法打开终端(右键点击终端运行时的图标,选择“Lock to Launcher”,则下次就可以点击快捷方式运行。): 1. 在Dash里搜索。打开Dash,在里面搜索“terminal”,就可以找到终端应用序。
2014-10-28 15:05:43 1017
原创 虚拟机VMware9上网设置
VMWare提供了三种工作模式,它们是bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)。本文仅仅介绍NAT方式。NAT(网络地址转换模式),使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说,使用NAT模式可以实现在虚拟系统里访问互联网。NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NA
2014-10-28 14:24:20 892
原创 VM9中安装vmware tools来实现Ubuntu12.04与Win7的文件拖拽
1.首先在虚拟机中点击菜单VM-InstallVMware Tools,接下来Ubuntu中会自动弹出一个文件夹,里面有VMwareTools-9.2.0-799703.tar.gz,直接把它复制到/opt下。(使用cp或者鼠标右键都行,看自己习惯了)2.解压tar -xzvfVMwareTools-9.2.0-799703.tar.gz3.进入到加压出来的目录,执行。root@ubu
2014-10-24 10:36:25 1370
原创 VM9中的ubuntu12.04的/mnt下没有hgfs
其实这个不是大问题,因为原本的hgfs就是为了设置WINDOWS和Ubuntu的共享文件夹而存在的(我猜的,没有找文章论证。不过确实hgfs我只用于访问共享文件夹),现在WINDOWS和Ubuntu之间可以直接拖动文件和文件夹,所以没有hgfs倒是完全不影响使用。但问题是我就想知道hgfs到哪里去了。隐约记得当初貌似安装了vmware tools然后就有共享文件夹了,所以我先安装下vmware
2014-10-24 10:08:16 3831
原创 YUV到RGB565的转换
前一阵买了一个USB的摄像头接在cubieboard2上打算进行图像采集并存储图片,在解决了驱动以及V4L2摄像头编程等问题之后发现采集到的图像数据是YUYV格式的,因为我有一个现成的写BMP文件(RGB565)的函数,所以就将YUYV转换成RGB565格式写入BMP文件来看看cubieboard2的图像采集效果(其实可以利用libjpeg直接将YUYV转JPEG[5],这样写文件传文件还能快点,
2014-10-24 08:58:45 8872
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人