12 2013 档案
摘要:在中国大陆,Windows默认的编码是gb2312,而Linux是UTF8;多数情况下,把Linux上的程序转换至Windows上运行需要进行编码转换才能正常显示;而其实大可以不必的,同样,文件使用的依然是UTF-8,同样可以在Windows上跑起来,不过有一些事件还需要做的:1. 在main.cpp中添加一段内容:#include "QTextCodec"int main(int argc, char *argv[]){... QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8")
阅读全文
摘要:之所以写出来,是由于经常因为这个问题屡屡丢面子..一般情况下,QString转换成(char*),我们一般直接使用: char *str = qstr->text().toLatin1().data();当然这也本身就一点问题也没有,假如得到的str为"123",那么str就点4个字符的空间,最后一个字符是'\0';可就是这么一个'\0',在设定gsoap的server的时候,它并不需要,被坑了好几回了,.. 出错的信息大概都是这样子的:Starting /media/Study/Workspace/Qt/build-zigbeeCli
阅读全文
摘要:一、编写LED灯的Linux驱动程序代码 之所以使用存在HAL层,是为了保护对硬件驱动过程的逻辑与原理; 所以,残留在Linux驱动层的代码,只保留了基本的读写操作,而不含有关键的逻辑思维; 1. leds_hal_define.h (包含对读写寄存器的宏定义)#define S3C6410_LEDS_HAL_WRITE_GPMPUD 1#define S3C6410_LEDS_HAL_WRITE_GPMCON 2#define S3C6410_LEDS_HAL_WRITE_GPMDAT 3#define S3C6410_LEDS_HAL_READ_GPMPUD 4#define S3C...
阅读全文
摘要:1.error: cannot convert ‘int*’ to ‘hostent**’ forargument ‘5’ to.. 原因分析: 缺少的宏定义,导致使用了错误的函数原型。 被调用的函数是: gethostbyname_r(addr,&hostent,soap->buf,SOAP_BUFLEN,&soap->errnum) 正确的调用函数应该是: gethostbyname_r(addr,&hostent,soap->buf,SOAP_BUFLEN,&host,&soap->errnum) 解决方法: 1)修改文件s
阅读全文
摘要:2013年12月11日,Qt发布了其新的Qt版本:Qt5.2.0;利用这个新的版本,我们可以很轻松地制作出Android手机的NDK应用程序。开发环境:Ubuntu13.10 x86_64下载链接:http://download.qt-project.org/official_releases/qt/5.2/5.2.0/下载文件:qt-linux-opensource-5.2.0-android-x86_64-offline.run1. 安装步骤: chmod +xqt-linux-opensource-5.2.0-android-x86_64-offline.run ./qt-linux..
阅读全文
摘要:最近在看一本书,受益匪浅,作者是李宁,下边是编写本次蜂鸣器的全程实录:1. 了解开发板中的蜂鸣器 1) 查看蜂鸣器buzzer在底板中的管脚信息 2) 查看蜂鸣器在总线中的信息 3) 翻看S3C6410芯片手册,查看GPF15相关信息2. 在了解了开发板中蜂鸣器之后,编写代码对它进行控制。 由于蜂鸣器是通过PWM(脉冲宽度调制)进行开关控制的,故也称为PWM。 1) 编写pwm.c(包含Linux驱动模块的主要模型代码)#include "pwm_fun.h"static struct semaphore lock; /* 创建信号量*///文件打开时,自动...
阅读全文