嵌入式
文章平均质量分 55
启功
这个作者很懒,什么都没留下…
展开
-
Qt tcp/ip 通信
折腾了很久TCP IP通信机制。 以前虽然看过bsd tcp/ip的so called 基础通信代码。什么bind, listen ,accept , receive, write, read,但是一直没真正理解。 这次由于公司需求,我狠狠地读了代码,并且搬出QT老本行,开始了QT For windows的编程。 这个大体构架是做一个聊天室软件。 每个client都转载 2013-05-30 19:27:02 · 1548 阅读 · 0 评论 -
Linux USB gadget解析(1)
利用Linux USB gadget设备驱动可以实现一些比较有意思的功能,举两个例子: 1、一个嵌入式产品中的某个存储设备,或是一个存储设备的某个分区,可以作为一个U盘被PC;设别,从而非常方便的完成文件交互,这个功能被广泛的应用于手机、数码相机等产品中。2、一个嵌入式设备通过USB连接到你的PC后,在你的PC端会出现一个新的网络连接,在嵌入式设备上也会有一个网卡设备,你可以配置它们的IP地址,并转载 2014-10-30 13:28:47 · 1166 阅读 · 0 评论 -
Linux USB gadget解析(2)
这一节主要把在实现“linux模拟U盘功能”过程中的一些调试过程记录下来,并加以解析。一、背景知识 1、USB Mass Storage类规范概述 USB 组织在universal Serial Bus Mass Storage Class Spaceification 1.1版本中定义了海量存储设备类(Mass Storage Class)的规范,这个类规范转载 2014-10-30 13:43:00 · 1254 阅读 · 0 评论 -
Linux USB gadget解析(3)
Linux USB 设备端驱动有两部分组成。一部分是USB 设备控制器(USB Device Controller, UDC)驱动、另一部分是硬件无关的功能驱动(如:鼠标、u盘、usb串口、usb网络等);也可以分为3层的,分别是:Controller Drivers、Gadget Drivers、Upper Layers,大概意思都差不多。一、控制器(USB Device Control转载 2014-10-30 13:51:01 · 1215 阅读 · 0 评论 -
Linux-USB Gadget(小玩意) API Framework(框架)
Linux-USB Gadget(小玩意) API Framework(框架)Last Modified: 8 June 2005The API makes it easy for peripherals(周边设备) and other devices(装置) embedding(栽种) GNU/Linux system software to act in the USB原创 2014-10-30 13:58:32 · 4776 阅读 · 0 评论 -
Linux USB gadget解析(4)
作者:刘洪涛,华清远见嵌入式学院讲师。一、编写计划通过前面几节的基础,本节计划编写一个简单的gadget驱动。重在让大家快速了解gadget驱动结构。上节中简单介绍了zero.c程序。这个程序考虑到了多配置、高速传输、USB OTG等因素。应该说写的比较清楚,是我们了解gadget驱动架构的一个非常好的途径。但把这些东西都放在一起,对很多初学人员来说还是不能快速理解。那就再转载 2014-10-30 13:53:28 · 1443 阅读 · 0 评论 -
stm32 USB hid设备与PC进行双向数据传输时PC不识别USB设备
stm32 USB hid设备与PC进行双向数据传输时PC不识别USB设备,或者开始时识别,拔出后再插入就没有反应了,就连鼠标U盘也没有反应。我的问题是,我安装了VMware虚拟机,并进行USB设备的分配,使得虚拟机系统也识别USB设备。所以,解决问题的办法如下:在中选择禁用。然后把下面的VMware Workstation Server 也禁用了。重启电脑就OK了。原创 2014-11-25 22:54:44 · 6560 阅读 · 0 评论 -
Raspberry Pi 上的 Pidora 中文化
剛安裝完的 Pidora 介面是英文的,底下把它改成中文的1. 安裝中文字形# yum install cjkuni-ukai-fonts cjkuni-uming-fonts taipeifonts wqy-bitmap-fonts wqy-microhei-fonts2. 安裝中文輸入法 gcin 或 scim# yum install gcin或# y转载 2015-04-05 11:08:56 · 1715 阅读 · 0 评论 -
Qt数据库 QSqlTableModel实例操作(1)(2)
2、进入“撤销修改”按钮单击事件槽函数,并更改如下:void Widget::on_pushButton_2_clicked() //撤销修改 { model->revertAll(); } 它只有简单的一行代码。我们需要在widget.cpp文件中添加头文件:#include QMessageBox> #include QSqlError> 此时运转载 2015-04-05 11:11:14 · 1112 阅读 · 0 评论 -
Qt数据库 QSqlTableModel实例操作(1)(3)
第三,排序操作。我们分别进入“按id升序排列”和“按id降序排列”按钮的单击事件槽函数,更改如下:void Widget::on_pushButton_5_clicked() //升序 { model->setSort(0,Qt::AscendingOrder); //id属性,即第0列,升序排列 model->select(); } void Widget:转载 2015-04-05 11:12:36 · 1778 阅读 · 0 评论 -
Qt数据库 QSqlTableModel实例操作(1)
Qt数据库 QSqlTableModel实例操作是本文所介绍的内容,我们先来看内容。在上一篇我们讲到只读的QSqlQueryModel也可以使其可编辑,但是很麻烦。Qt提供了操作单表的QSqlTableModel,如果我们需要对表的内容进行修改,那么我们就可以直接使用这个类。相关联文章:Qt数据库 QSqlQueryModel实例操作 上篇Qt数据库 QSqlQueryMo转载 2015-04-05 11:10:11 · 1574 阅读 · 0 评论 -
Linux Gadget的一点研究之U盘和USB虚拟串口
Linux kernel2.6以上的版本中,USB设备驱动的接口改为了gadget,在kernel/driver/usb/gadget目录下主要包含了平台USB UDC驱动和gadget接口驱动。 kernel/driver/usb/gadget目下的serial.c是一个常用的驱动文件,它可以配置为bulk传输驱动或CDC ACM驱动(USB转串口驱动)。配置的方式有两种,转载 2014-10-30 14:01:15 · 8885 阅读 · 1 评论 -
孙其功陪你学之——重装系统后配置原有的虚拟机
由于系统出现了问题,就一键还原到了刚刚购机时的系统状态,但是其他盘还保留了之前安装的虚拟机Vmware和虚拟机系统。安装好了之后,打开VMware后发现,提示让填写注册码,填写完了,怎么都不成功。准备重新安装,提示:failed to create the requested registry key key installer error 1021。这就是注册表有问题了,新装的系统里对于原来的软原创 2014-09-25 00:24:30 · 1856 阅读 · 0 评论 -
QDataStream类提供了二进制数据到QIODevice的串行化
QDataStream类提供了二进制数据到QIODevice的串行化。 #include 所有成员函数的列表。 公有成员QDataStream ()QDataStream ( QIODevice * d )QDataStream ( QByteArray a, int mode )virtual ~QDataStream ()转载 2013-05-30 14:47:04 · 2886 阅读 · 0 评论 -
QTcpSocket类 客户端/服务器模式
TCP即Transmission Control Protocol,传输控制协议。与UDP不同,它是面向连接和数据流的可靠传输协议。也就是说,它能使一台计算机上的数据无差错的发往网络上的其他计算机,所以当要传输大量数据时,我们选用TCP协议。TCP协议的程序使用的是客户端/服务器模式,在Qt中提供了QTcpSocket类来编写客户端程序,使用QTcpServer类编写服务器端程序。我们在服务器转载 2013-05-30 22:02:52 · 3839 阅读 · 0 评论 -
ComboBox控件介绍(有用啊)
ComboBox控件1.控件位置Input Widgets→ComboBox2.控件介绍ComboBox控件(组合框)的样式如图3-63所示。Qt Creator的ComboBox和Qt Designer的ComboBox样式有些不同。 图3-63 ComboBox控件3.控件设置选项在ComboBox控件的propertie转载 2013-06-01 10:42:14 · 5099 阅读 · 0 评论 -
孙其功陪你学之--fedora9 安装qt-sdk* 时出现错误
fedora9 安装qt-sdk* 时出现错误:./dp-linux.run: /lib/tls/libc.so.6: version `GLIBC_2.9' not found (required by ./dp-linux.run)./dp-linux.run: /lib/tls/libc.so.6: version `GLIBC_2.10' not found (required b原创 2013-05-29 12:41:25 · 956 阅读 · 0 评论 -
孙其功陪你学之--QT界面程序经过网路与普通的linux应用程序进行数据传送的情况(UDP协议,非TCP协议):
有时候会遇到QT界面程序经过网路与普通的linux应用程序进行数据传送的情况:(UDP协议,非TCP协议)个人感觉比管道、共享内存、信号量、消息队列好用Qt udp_client1.我们新建Qt4 GuiApplication,工程名为“udpSender”,选中QtNetwork模块,Base class选择QWidget。2.我们在widget.ui文件中,往界面上添加一个Pu原创 2013-05-30 23:07:44 · 1326 阅读 · 0 评论 -
孙其功陪你学之--linux网络编程之UDP协议
一、下图是典型的UDP客户端/服务器通讯过程下面依照通信流程,我们来实现一个UDP回射客户/服务器 #include #include ssize_t send(int sockfd, const void *buf, size_t len, int flags); ssize_t sendto(int sockfd, const void *bu转载 2013-06-15 10:28:09 · 1218 阅读 · 0 评论 -
孙其功陪你学之--解决QT Creator交叉编译提示make:arm-linux-g++:Command not found 命令找不到
解决QT Creator交叉编译提示make:arm-linux-g++:Command not found 命令找不到终端执行arm-linux-g++ -v可正常获得版本号终端执行which arm-linux-g++ 可正常显示路径QT Creator编译时候提示make:arm-linux-g++:Command not foundmake:leaving directory '/原创 2013-05-28 21:26:39 · 3632 阅读 · 0 评论 -
孙其功陪你学之--虚拟机突然掉电或者死机后,虚拟机不能正常启动
虚拟机突然掉电或者死机后,虚拟机不能正常启动的情况。虚拟机会提示信息是: Cannot open the disk 'D:/ubuntu/ubuntu.vmdk' or one of the snapshot disks it depends on.Reason: The specified virtual disk need repair. 方法入下: 解决方法原创 2013-05-29 13:19:24 · 3235 阅读 · 0 评论 -
孙其功陪你学之--linux内核2.3.38版本里面没有gpio-bank-m.h这个头文件
linux内核2.3.38版本里面没有gpio-bank-m.h这个头文件,在linux-2.6.38\arch\arm\mach-s3c64xx\include\mach找不到,gpio-bank-a.h等其他口的头文件却都在,在linux-2.6.38\arch\arm\plat-samsung\include\plat也没有找到 但还要使用GPIOM,我使用GPIOM只是当普通的I原创 2013-06-12 10:19:45 · 1651 阅读 · 0 评论 -
孙其功陪你学之——ubuntu与windows文件共享
本人安装的是VM虚拟机,在虚拟机安装的是Ubuntu12.10版本。如果想ubuntu与windows文件共享,一般需要先配置虚拟机共享文件。然后再终端输入:sudo mount -t vmhgfs .host:/ /mnt/hgfs 进入/mnt/hgfs/文件夹,就会看到共享的文件。如果你不想每次都在终端输入命令,想直接开机之后就自动挂载,可以配置如下:1、原创 2014-09-23 14:59:45 · 1051 阅读 · 0 评论 -
孙其功陪你学之——如何将shell命令的返回值赋值给应用程序的变量
如何将shell命令的返回值赋值给应用程序的变量。博主最近做了个路由器的项目,需要得到路由器现在网络状态和参数,使用UCI get 获得,但是使用了system(“UCI get ****”),之后,获得的参数直接在终端打印输出了,应用程序中无法获得返回的参数。以下是我的解决方案。#include #include #include char buf[512];ch原创 2015-04-16 14:52:47 · 1610 阅读 · 0 评论