- 博客(92)
- 资源 (17)
- 问答 (1)
- 收藏
- 关注
原创 LINUX驱动之矩阵键盘
/* butt_drv.h *///……typedef struct _st_key_info_matrix /* 按键数据结构 */{ unsigned char key_id; /* 按键ID */ unsigned int irq_no; /* 对应的中断号 */ unsigned int irq_gpi
2013-01-14 08:39:15
4965
原创 LINUX驱动编程之LED驱动
/* gpio_drv.c */#include #include #include #include #include /* printk() */#include /* kmalloc() */#include /* everything... */#include /* error codes */#include /* size_t */#include
2013-01-14 08:37:43
1091
原创 linux驱动注册的相关函数
register_chrdev() //早期版本的设备注册使用函数,调用该函数后就可以向系统申请主设备号unregister_chrdev() //解除原先的注册,主设备号和次设备号都不大于255dev_t //高12位表示主设备号,低20位表示次设备号MAJOR,MINOR //宏,分别获取主次设备号MKDEV //实现主次设备号组合register_chrd
2013-01-14 08:30:53
1184
原创 关于QT中控件聚焦方式更改问题
QT/E中聚焦显示仅仅是一个虚线边框,对于恶劣环境下的机器来说,这样的虚线简直就可以忽略不记.谁看得见这么细的线啊.所以为了聚焦的控件更好显示.只有将聚焦控件的颜色换成其他颜色来区别.找了很久都没找到合适的方式,我想有很多做QT/E的人有同感吧,现在看了这篇文章你应该感到幸福了.因为我这种方式只需要几行代码就可以解决这个问题.其实类似的方式网上已经有了,只是写得不是很详细,我这里就提供出来
2012-12-20 16:35:39
2812
原创 关于QT/E中doublespinbox的问题
前几天在工地里面调试板卡,QT/E中添加微调的功能我使用doubleSpinbox的控件.此空间在window版本下运行正常.可是编译添加到LINUX环境下,程序总是卡在new doubleSpinbox的位置,百思不得其解.我只能挨个的调试板卡上的代码,最后锁定在了spinBox_1->setMaximum(9.9);这个位置.我将函数里面的数值改为9.99,编译添加到开发板,启动成
2012-12-20 16:27:40
4270
转载 在嵌入式Linux系统上安装打印机
1.简介: 在Linux环境中安装打印机,通常是cups, ghostscript等,但体积通常很大,几十兆在我应用的环境,要求打印模块不大于5M,在网上搜索的方案是将cups的一部分提取出来,即 imagetoraster, rastertohp, rastertoepson. 经过精简,最后我把后两者合并,去掉其他图片格式支持,只保留BMP,并静态编译,生成两个文件ima
2012-12-04 14:55:30
1523
转载 提高Qt SQLite读写性能
SQLite数据库本质上来讲就是一个磁盘上的文件,所以一切的数据库操作其实都会转化为对文件的操作,而频繁的文件操作将会是一个很好时的过程,会极大地影响数据库存取的速度。例如:向数据库中插入100万条数据,在默认的情况下如果仅仅是执行query.exec("insert into DataBase(......) values(......)");就会打开和关闭文件100万次,所以速度当然会很慢。S
2012-12-04 10:55:11
3223
转载 用dd测试SD卡的读写速度
注:会造成SD卡分区的丢失..SD卡的读速度:time dd if=/dev/mmcblk0 of=/dev/null bs=4096k count=20 conv=syncSD卡的读速度:time dd if=/dev/zero of=/mnt/sd/speed_test bs=4096k count=20 conv=sync
2012-11-29 09:18:01
4137
转载 如何比较两个算法的效率
在学算法的时候,经常会涉及分析算法的复杂度和效率的问题,按照书本上的理论通常也能够大概推出个结论。通常都是根据算法中重要的语句去推算,例如for 循环语句等。那么有没有可以用程序去真正上机实验的办法呢? 其实方法也是很简单,如果我们用的是C语言,可以利用#include 文件中的ftime()函数完成。具体举例如下: 程序1:#include #i
2012-11-28 10:14:27
6671
1
转载 如何制作串口线!!!
RS-232接口又称之为RS-232口、串口、异步口或COM(通信)口。"RS-232"是其最明确的名称。 在计算机世界中,大量的接口是使用串口进行数据连接的,连接的硬体就是RS-232九芯电缆。要制作RS-232串口线首先要了解RS-232串口的引脚说明。RS-232串口分为9针串口(俗称:公头)和9孔串口(俗称:母头)。各自的引脚说明: 1.RS-232端口(DB9母头/孔型)引脚定义:(
2012-11-05 09:59:46
1226
1
转载 51单片机定时器初值的计算
一。10MS定时器初值的计算:1.晶振12M12MHz除12为1MHz,也就是说一秒=1000000次机器周期。10ms=10000次 机器周期。65536-10000=55536(d8f0)TH0=0xd8,TL0=0xf0 2.晶振11.0592M11.0592MHz除12为921600Hz,就是一秒921600次机器周期,10ms=9216次机器周期。65536-
2012-11-01 23:47:37
3930
转载 程序员才能理解的笑话
1、栈和队列的区别是啥? 吃多了拉就是队列;吃多了吐就是栈 2、世界上最遥远的距离不是生与死,而是你亲手制造的BUG就在你眼前,你却怎么都找不到她。。。 3、《c++程序设计语言》比《c程序设计语言》厚了几倍。。。果然有了对象就麻烦很多。。。 4、怎么使用面向对象的方式变得富有?继承。 5、为什么程序员总是分不清万圣节和圣诞节?因为 Oct 31 == Dec 25。
2012-10-24 16:49:38
895
转载 QT打印
在Qt中,打印与在QWidget,QPixmap或者QImage绘图很相似,一般步骤如下:1、创建绘图设备的QPrinter;2、弹出打印对话框,QPrintDialog,允许用户选择打印机,设置属性等;3、创建一个QPrinter的QPainter;4、用QPainter绘制一页;5、调用QPrinter::newPage(),然后绘制下一页;6、重复步骤4,5,直到打印
2012-10-16 09:00:40
4180
转载 Qt进行小票打印
QString htmlString = QString("") + str1 + str2 +str3 + finerysInfo + str5 + str6 + QString("%1%2").arg(separateString) + QString(""); printString(htmlString);
2012-10-16 08:49:05
2917
转载 简单配置让您的无线小路由变成无线交换机
文档编号:969浏览:2734 评分:52 很多企业用户有些由于布线问题,很多地方无法布置有线接入,进而通过接无线设备实现上网管理。但是由于市面上AP比普通无线路由贵很多,所以一般都是购置无线路由,但是由于如果启用NAT会导致上层管理路由器无法管理无线接入用户,造成不必要的麻烦。 如下教程就是如何让无线路由配置成无线AP:步骤一:首先把一级路由LAN口出来的线接无线小路
2012-10-05 21:20:51
887
1
转载 简单配置让您的无线小路由变成无线交换机
文档编号:969浏览:2734 评分:52 很多企业用户有些由于布线问题,很多地方无法布置有线接入,进而通过接无线设备实现上网管理。但是由于市面上AP比普通无线路由贵很多,所以一般都是购置无线路由,但是由于如果启用NAT会导致上层管理路由器无法管理无线接入用户,造成不必要的麻烦。 如下教程就是如何让无线路由配置成无线AP:步骤一:首先把一级路由LAN口出来的线接无线小路
2012-10-05 21:20:31
887
转载 S3C2410 MMU_Init函数简要分析
void MMU_Init(MMU_Table table[]){ //========================== IMPORTANT NOTE ========================= //The current stack and code area can't be re-mapped in this routine. //If you want memo
2012-09-29 13:40:54
1459
转载 S3C2440 测试程序(一)PWM控制蜂鸣器Beep(2000, 100)
while(1){U8 idx;Uart_Printf("\nPlease select function : \n");for(i=0; CmdTip[i].fun!=0; i++)Uart_Printf("%d : %s\n", i, CmdTip[i].tip);idx = Uart_GetIntNum_GJ() ;if
2012-09-29 10:42:49
2976
转载 关于串口的初始化Uart_Init(0, 115200)
void Uart_Init(int pclk,int baud){ int i;if(pclk == 0) 因为Main.c中定义了GLOBAL_CLK=1,所以PCLK在option.h中定义 在Main.c中的设置,FCLK:HCLK:PCLK=1:4:8,所以PCLK=3200MHz pclk = PCLK;在UART模块中
2012-09-28 17:07:53
20875
原创 QTE风格改变和Linux下快速查找字符串
QTE中风格改变 ./NW-III -qws -style QWindowsXPStyleQMotifStyle,QWindowsStyle,QCDEStyle,QCleanlooksStyle,QPlastiqueStyle,QWindowsXPStyle等等样式还可在执行app.exec();之前用app.setStyle(new QCleanl
2012-09-27 10:23:59
824
转载 关于MPLL和UPLL的学习
S3C2440有两个PLL(phase locked loop)一个是MPLL,一个是UPLL。MPLL用于CPU及其他外围器件,UPLL用于USB。用于产生FCLK, HCLK, PCLK三种频率,这三种频率分别有不同的用途: FCLK是CPU提供的时钟信号。 HCLK是为AHB总线提供的时钟信号, Advanced High-performance Bus,主要用于高速外设,比如内
2012-09-26 17:03:48
8067
转载 C语言“可变参数”的研究
首先在介绍可变参数表函数的设计之前,我们先来介绍一下最经典的可变参数表printf函数的实现原理。一、printf函数的实现原理在C/C++中,对函数参数的扫描是从后向前的。C/C++的函数参数是通过压入堆栈的方式来给函数传参数的(堆栈是一种先进后出的数据结构),最先压入的参数最后出来,在计算机的内存中,数据有2块,一块是堆,一块是栈(函数参数及局部变量在这里),而栈是从内存的高地址向低地
2012-09-26 16:30:55
880
转载 GPFUP上拉使能寄存器的作用
以GPFUP为例,上拉使能的作用如上,但是这里的上拉电阻指的是芯片内部寄存器的上拉电阻,并不是与外部设备上所接的上拉电阻(如key上的上拉电阻)。这里使能上拉电阻的作用为:“端口的驱动能力,比如你这个端口需要5V的电压才能正常工作,而传过来的电压没到5V,上拉电阻可以将小于5V的这个电压拉上去,从而达到要求。”;“2440的逻辑电平是3.3V,所以驱动不了一些CMOS电路的芯片。加
2012-09-26 15:53:39
2224
转载 宏中"#"和"##"的用法
宏中"#"和"##"的用法 一、一般用法 我们使用#把宏参数变为一个字符串,用##把两个宏参数贴合在一起. 用法: #include #include using namespace std; #define STR(s) #s #define CONS(a,b) int(a##e##b) int main() { pr
2012-09-26 09:54:03
720
转载 bootloader中关于Image$RW$Limit的讨论
类似这样Image$RW$Limit的变量,是编译器自动生成的,即此变量,是特定的编译器所支持的,编译过程中,会自动生成这些变量,因此,你C语言源码中,就可以定义extern此变量,然后拿过来使用了。目前来说,好像只看到ARM的编译器中,会有这种变量。转个ARM官方的解释:http://infocenter.arm.com/help/t ... 206ic/Chdcgijf.htm
2012-09-26 09:52:19
849
转载 #ifdef __cplusplus extern "C" { #endif 的解释
#ifdef __cplusplus extern "C" { #endif 的解释在看代码时看到如下的代码:#ifdef __cplusplusextern "C" {#endif 时常在cpp的代码之中看到这样的代码:#ifdef __cplusplusextern "C" {#endif//一段代码
2012-09-24 09:12:30
775
at91sam9g45的pwm驱动
2012-07-19
数字信号处理实验 MATLAB实验程序 图片
2010-05-31
Tms320c6455 mcbsp1无法正常使用,求大神解答。
2015-08-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人