linux在TQ2440上移植9--添加触摸屏
更新时间:2023-04-07 05:56:01 阅读量: 教育文库 文档下载
input子系统方式
1、cd linux-2.6.35.3/drivers/input/touchscreen
2、touch smdk2440_ts.c
3、vi smdk2440_ts.c
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
/* For ts.dev.id.version */
#define S3C2410TSVERSION 0x0101
#define WAIT4INT(x) (((x)<<8) | \
S3C2410_ADCTSC_YM_SEN | S3C2410_ADCTSC_YP_SEN |
S3C2410_ADCTSC_XP_SEN | \
S3C2410_ADCTSC_XY_PST(3))
#define AUTOPST (S3C2410_ADCTSC_YM_SEN | S3C2410_ADCTSC_YP_SEN | S3C2410_ADCTSC_XP_SEN | \
S3C2410_ADCTSC_AUTO_PST | S3C2410_ADCTSC_XY_PST(0))
static char *s3c2410ts_name = "s3c2410 TouchScreen";
static struct input_dev *dev;
static long xp;
static long yp;
static int count;
//extern struct semaphore ADC_LOCK;
DECLARE_MUTEX(ADC_LOCK);
static int OwnADC = 0;
static void __iomem *base_addr;
static void touch_timer_fire(unsigned long data)
{
unsigned long data0;
unsigned long data1;
int updown;
data0 = ioread32(base_addr+S3C2410_ADCDAT0);
data1 = ioread32(base_addr+S3C2410_ADCDAT1);
updown = (!(data0 & S3C2410_ADCDAT0_UPDOWN)) && (!(data1 &
S3C2410_ADCDAT0_UPDOWN));
if (updown) {
if (count != 0) {
long tmp;
tmp = xp;
xp = yp;
yp = tmp;
/*取4次平均值*/
xp >>= 2;
yp >>= 2;
//DEBUG
//printk("x = %4d, y = %4d",(int)(xp),(int)(yp));
#ifdef CONFIG_SMDK2440_TS_DEBUG
{
struct timeval tv;
do_gettimeofday(&tv);
printk(KERN_DEBUG "T: %06d, X: %03ld, Y: %03ld\n", (int)66457a737fd5360cba1adbe2_usec, xp, yp);
}
#endif
/*上报坐标*/
input_report_abs(dev, ABS_X, xp);
input_report_abs(dev, ABS_Y, yp);
input_report_key(dev, BTN_TOUCH, 1);
input_report_abs(dev, ABS_PRESSURE, 1);
input_sync(dev);
}
xp = 0;
yp = 0;
count = 0;
/* 启动AD 转换*/
iowrite32(S3C2410_ADCTSC_PULL_UP_DISABLE | AUTOPST, base_addr+S3C2410_ADCTSC);
iowrite32(ioread32(base_addr+S3C2410_ADCCON) |
S3C2410_ADCCON_ENABLE_START, base_addr+S3C2410_ADCCON); } else {
count = 0;
input_report_key(dev, BTN_TOUCH, 0);
input_report_abs(dev, ABS_PRESSURE, 0);
input_sync(dev);
iowrite32(WAIT4INT(0), base_addr+S3C2410_ADCTSC);
if (OwnADC) {
OwnADC = 0;
up(&ADC_LOCK);
}
}
}
static struct timer_list touch_timer =
TIMER_INITIALIZER(touch_timer_fire, 0, 0);
static irqreturn_t stylus_updown(int irq, void *dev_id) {
unsigned long data0;
unsigned long data1;
int updown;
if (down_trylock(&ADC_LOCK) == 0) {
OwnADC = 1;
data0 = ioread32(base_addr+S3C2410_ADCDAT0);
data1 = ioread32(base_addr+S3C2410_ADCDAT1);
/*updown ==1, 按下OR 弹起???*/
updown = (!(data0 & S3C2410_ADCDAT0_UPDOWN)) && (!(data1 & S3C2410_ADCDAT0_UPDOWN));
if (updown) {
touch_timer_fire(0);
} else {
OwnADC = 0;
up(&ADC_LOCK);
}
}
return IRQ_HANDLED;
}
static irqreturn_t stylus_action(int irq, void *dev_id)
{
unsigned long data0;
unsigned long data1;
if (OwnADC) {
data0 = ioread32(base_addr+S3C2410_ADCDAT0);
data1 = ioread32(base_addr+S3C2410_ADCDAT1);
xp += data0 & S3C2410_ADCDAT0_XPDATA_MASK;
yp += data1 & S3C2410_ADCDAT1_YPDATA_MASK;
count++;
if (count < 4) {
/* 再一次启动AD转换*/
iowrite32(S3C2410_ADCTSC_PULL_UP_DISABLE | AUTOPST,
base_addr+S3C2410_ADCTSC);
iowrite32(ioread32(base_addr+S3C2410_ADCCON) |
S3C2410_ADCCON_ENABLE_START, base_addr+S3C2410_ADCCON);
} else {
mod_timer(&touch_timer, jiffies+1);
iowrite32(WAIT4INT(1), base_addr+S3C2410_ADCTSC);
}
}
return IRQ_HANDLED;
}
static struct clk *adc_clock;
static int __init s3c2410ts_init(void)
{
struct input_dev *input_dev;
adc_clock = clk_get(NULL, "adc");
if (!adc_clock) {
printk(KERN_ERR "failed to get adc clock source\n");
return -ENOENT;
}
clk_enable(adc_clock);
base_addr=ioremap(S3C2410_PA_ADC,0x20);
if (base_addr == NULL) {
printk(KERN_ERR "Failed to remap register block\n");
return -ENOMEM;
}
iowrite32(S3C2410_ADCCON_PRSCEN | S3C2410_ADCCON_PRSCVL(0xFF),\ base_addr+S3C2410_ADCCON);
iowrite32(0xffff, base_addr+S3C2410_ADCDLY);
iowrite32(WAIT4INT(0), base_addr+S3C2410_ADCTSC);
/* Initialise input stuff */
input_dev = input_allocate_device();
if (!input_dev) {
printk(KERN_ERR "Unable to allocate the input device !!\n"); return -ENOMEM;
}
dev = input_dev;
dev->evbit[0] = BIT(EV_SYN) | BIT(EV_KEY) | BIT(EV_ABS);
dev->keybit[BITS_TO_LONGS(BTN_TOUCH)] = BIT(BTN_TOUCH);
input_set_abs_params(dev, ABS_X, 0, 0x3FF, 0, 0);
input_set_abs_params(dev, ABS_Y, 0, 0x3FF, 0, 0);
input_set_abs_params(dev, ABS_PRESSURE, 0, 1, 0, 0);
dev->name = s3c2410ts_name;
dev->id.bustype = BUS_RS232;
dev->id.vendor = 0xDEAD;
dev->id.product = 0xBEEF;
dev->id.version = S3C2410TSVERSION;
/* Get irqs */
if (request_irq(IRQ_ADC, stylus_action,
IRQF_SHARED|IRQF_SAMPLE_RANDOM,
"s3c2410_action", dev)) {
printk(KERN_ERR "s3c2410_ts.c: Could not allocate ts IRQ_ADC !\n"); iounmap(base_addr);
return -EIO;
}
if (request_irq(IRQ_TC, stylus_updown, IRQF_SAMPLE_RANDOM,
"s3c2410_action", dev)) {
printk(KERN_ERR "s3c2410_ts.c: Could not allocate ts IRQ_TC !\n"); iounmap(base_addr);
return -EIO;
}
printk(KERN_INFO "%s successfully loaded\n", s3c2410ts_name);
/* All went ok, so register to the input system */
input_register_device(dev);
return 0;
}
static void __exit s3c2410ts_exit(void)
{
disable_irq(IRQ_ADC);
disable_irq(IRQ_TC);
free_irq(IRQ_TC,dev);
free_irq(IRQ_ADC,dev);
if(adc_clock) {
clk_disable(adc_clock);
clk_put(adc_clock);
adc_clock = NULL;
}
input_unregister_device(dev);
iounmap(base_addr);
}
module_init(s3c2410ts_init);
module_exit(s3c2410ts_exit);
MODULE_LICENSE("GPL");
4、编写Kconfig
config SMDK2440_TS
tristate "Smdk2440's touchscreen test"
depends on ARCH_S3C2440 && INPUT && INPUT_TOUCHSCREEN default y if ARCH_S3C2440
help
---smdk2440's touchscreen test---
config SMDK2440_TS_DEBUG
bool "Smdk2440 ts input debug messages"
depends on ARCH_S3C2440 && SMDK2440_TS
default y if ARCH_A3C2440
help
---Select this if you want debug messages---
配置如下
Devices Drivers--->
Input devices support--->
Touchscreens--->
5、添加Makefile
obj-$(CONFIG_SMDK2440_TS) += smdk2440_ts.o
6、重新编译内核,下载到板子的nandflash 2M处
7、在启动项etc/init.d/rcS中添加如下3行:使得开机就可用触摸屏
<1>添加input子系统设备mkdir dev/input
<2>建立节点mknod /dev/input/event0 c 13 64
<3>打印设置echo 8 > /proc/sys/kernel/printk
8、点击触摸屏打印如下:
T: 760416, X: 309, Y: 173
T: 910401, X: 237, Y: 249
T: 925415, X: 235, Y: 263
T: 940416, X: 235, Y: 270
T: 165402, X: 319, Y: 573
T: 180404, X: 323, Y: 581
T: 395402, X: 621, Y: 554
T: 585402, X: 669, Y: 653
T: 950405, X: 333, Y: 621 T: 965401, X: 333, Y: 621
韦东山老师的视频下载地址2440 .txt
QQ:917603226,danpianjikaifa@66457a737fd5360cba1adbe2
学习视频,电子元件选型指导,PLC 学习指导以及PLC 和DCS 周边产品开发
韦东山老师的视频下载地址2440
66457a737fd5360cba1adbe2/file/f9beed69b0#
.avi QQ:917603226
66457a737fd5360cba1adbe2/file/f9690fdc25#
第2课QQ:917603226_GPIO实验.avi QQ:917603226
66457a737fd5360cba1adbe2/file/f91dd8f3b7#
第3课QQ:917603226_存储管理器实验.aviQQ:917603226
66457a737fd5360cba1adbe2/file/f926fbcd6#
第4课QQ:917603226_MMU实验.aviQQ:917603226
66457a737fd5360cba1adbe2/file/f98ccea8a4#
第5课QQ:917603226_NAND_FLASH控制器.aviQQ:917603226
66457a737fd5360cba1adbe2/file/f9d6474d48#
第6课QQ:917603226_中断控制器.aviQQ:917603226
66457a737fd5360cba1adbe2/file/f9657f8c96#
.aviQQ:917603226
66457a737fd5360cba1adbe2/file/t9aa118d81#
66457a737fd5360cba1adbe2/file/t9e1c4044e#
.aviQQ:917603226
66457a737fd5360cba1adbe2/file/t963cbbde3#
第9课QQ:917603226第2节_u-boot分析之Makefile结构分析.aviQQ:917603226
66457a737fd5360cba1adbe2/file/t9de4dd17f#
第9课QQ:917603226第3节_u-boot分析之源码第1阶段.aviQQ:917603226
66457a737fd5360cba1adbe2/file/t922115ff9#
第9课QQ:917603226第3节_u-boot分析之源码第2阶段.aviQQ:917603226
66457a737fd5360cba1adbe2/file/t9114550f1#
第9课QQ:917603226第4节_u-boot分析之u-boot命令实现.aviQQ:917603226
66457a737fd5360cba1adbe2/file/t99a6e0f29#
第9课QQ:917603226第5节_u-boot分析_uboot启动内核.aviQQ:917603226
66457a737fd5360cba1adbe2/file/t9820a106e#
第10课QQ:917603226第1节_内核启动流程分析之编译体验.aviQQ:917603226
66457a737fd5360cba1adbe2/file/t96fa8dc6f#
第10课QQ:917603226第2节_内核启动流程分析之配置.aviQQ:917603226
66457a737fd5360cba1adbe2/file/t9aa094b45#
第10课QQ:917603226第3节_内核启动流程分析之Makefile.aviQQ:917603226
66457a737fd5360cba1adbe2/file/t9f4a7ca84#
第10课QQ:917603226第4节_内核启动流程分析之内核启动.aviQQ:917603226
66457a737fd5360cba1adbe2/file/t9dee089e3#
第11课QQ:917603226第1节_构建根文件系统之启动第1个程序.aviQQ:917603226
66457a737fd5360cba1adbe2/file/t9d5172739#
第11课QQ:917603226第2节_构建根文件系统之init进程分析.aviQQ:917603226
66457a737fd5360cba1adbe2/file/t9e7c46b97#
第11课QQ:917603226第3节_构建根文件系统之busybox.aviQQ:917603226
第 1 页
韦东山老师的视频下载地址2440 .txt
66457a737fd5360cba1adbe2/file/t921e24b83#
.aviQQ:917603226
66457a737fd5360cba1adbe2/file/f5136718a8#
动程序之概念介绍.aviQQ:917603226
66457a737fd5360cba1adbe2/file/f57b7907fe#
动程序之LED驱动程序_编写编译.aviQQ:917603226 66457a737fd5360cba1adbe2/file/f520effad5#
第12课QQ:917603226第2.2节_字符设备驱动程序之LED驱动程序_测试改进.aviQQ:917603226 66457a737fd5360cba1adbe2/file/f52e270acc#
第12课QQ:917603226第2.3节_字符设备驱动程序之LED驱动程序_操作LED.aviQQ:917603226 66457a737fd5360cba1adbe2/file/f51a13dc93#
第12课QQ:917603226第3节_字符设备驱动程序之查询方式的按键驱
第 2 页
TQ2440开发大全下载.txt
QQ:917603226,danpianjikaifa@66457a737fd5360cba1adbe2
学习视频,电子元件选型指导,PLC 学习指导以及PLC 和DCS 周边产品开发
TQ2440开发大全下载
linux-2.6.35.3在TQ2440上移植1--建立自己的板子.pdf
66457a737fd5360cba1adbe2/source/3227941
linux在TQ2440上移植2--Nandflash驱动,MTD分区.pdf
66457a737fd5360cba1adbe2/source/3227943
linux在TQ2440上移植3--yaffs2+文件系统移植.pdf
66457a737fd5360cba1adbe2/source/3227944
linux在TQ2440上移植4--yaffs2文件系统制作.pdf
66457a737fd5360cba1adbe2/source/3227947
linux在TQ2440上移植5--移植串口传输协议.pdf
66457a737fd5360cba1adbe2/source/3227948
linux在TQ2440上移植6--完善串口驱动.pdf
66457a737fd5360cba1adbe2/source/3227950
linux在TQ2440上移植7--完善实时时钟RTC.pdf
66457a737fd5360cba1adbe2/source/3227951
linux在TQ2440上移植8--启动看门狗+.pdf
66457a737fd5360cba1adbe2/source/3227965
linux在TQ2440上移植9--添加触摸屏.pdf
66457a737fd5360cba1adbe2/source/3227952
linux在TQ2440上移植10--完善网卡驱动.pdf
66457a737fd5360cba1adbe2/source/3227955
linux在TQ2440上移植11--完善声卡驱动.pdf
66457a737fd5360cba1adbe2/source/3227956
linux在TQ2440上移植12--完善SDMMC卡驱动.pdf
66457a737fd5360cba1adbe2/source/3227958
bootloader编写指南.pdf
66457a737fd5360cba1adbe2/source/3227040
第 1 页
TQ2440开发大全下载.txt
U-boot1.1.6的移植step by step(TQ2440).pdf
66457a737fd5360cba1adbe2/source/3227044
U-boot1[1][1][1].1.6的移植(TQ2440).pdf
66457a737fd5360cba1adbe2/source/322704966457a737fd5360cba1adbe2/source/3227049
U-BOOT-2010.06移植到TQ2440.pdf
66457a737fd5360cba1adbe2/source/3227052
uboot讲义.pdf
66457a737fd5360cba1adbe2/source/3227054
uboot阶段1(汇编部分)详细分析.pdf
66457a737fd5360cba1adbe2/source/3227057
uboot使用说明.pdf
66457a737fd5360cba1adbe2/source/3227058
Uboot学习笔记.pdf
66457a737fd5360cba1adbe2/source/3227060
U-boot源代码分析.pdf
66457a737fd5360cba1adbe2/source/3227062
Uboot源码阅读笔记.pdf
66457a737fd5360cba1adbe2/source/3227064
在uboot上制作logo的实验.ppt
66457a737fd5360cba1adbe2/source/3227067
UBOOT之Makefile详解.doc
66457a737fd5360cba1adbe2/source/3227068
基于TQ2440和Qt的Mp3设计.doc
66457a737fd5360cba1adbe2/source/3227074
ARM9硬件接口学习之一_WatchDog.pdf
66457a737fd5360cba1adbe2/source/3229021
ARM9硬件接口学习之二_RTC.pdf
66457a737fd5360cba1adbe2/source/3229025.
第 2 页
TQ2440开发大全下载.txt ARM9硬件接口学习之三_GPIO.pdf
66457a737fd5360cba1adbe2/source/3229026
ARM9硬件接口学习之四_CLOCK.pdf
66457a737fd5360cba1adbe2/source/3229028
ARM9硬件接口学习之五_UART.pdf
66457a737fd5360cba1adbe2/source/3229030
tq2440ARM学习1
66457a737fd5360cba1adbe2/source/3229044
ARM学习3流水灯实验.pdf
66457a737fd5360cba1adbe2/source/3229048
ARM学习4在ADS1.2中新建自己的工程.pdf
66457a737fd5360cba1adbe2/source/3229051
ARM学习5实现电子相框功能及LCD屏显试验中两个问题
66457a737fd5360cba1adbe2/source/3229053
ARM学习6LCD屏显实现科比投篮的动画.pdf
66457a737fd5360cba1adbe2/source/3229057
ARM学习7对于科比投篮实验的轨迹分析.pdf
66457a737fd5360cba1adbe2/source/3229058
ARM学习8对于画线函数Glib_Line算法的研究.pdf
66457a737fd5360cba1adbe2/source/3229059
ARM学习14S3C2440 IO口的总结.pdf
66457a737fd5360cba1adbe2/source/3229060
[原创]自己动手编写嵌入式Bootloader之(1).pdf
66457a737fd5360cba1adbe2/source/3230747
[原创]自己动手编写嵌入式Bootloader之(2).pdf
66457a737fd5360cba1adbe2/source/3230136
[原创]自己动手编写嵌入式Bootloader之(3).pdf
66457a737fd5360cba1adbe2/source/3230137
uC_OS-II实验指导书.pdf
第 3 页
TQ2440开发大全下载.txt 66457a737fd5360cba1adbe2/source/3231958
Ucos_II2.52 源码中文译注.pdf
66457a737fd5360cba1adbe2/source/3231960
UCOS-II API 参考手册.pdf
66457a737fd5360cba1adbe2/source/3231962
第 4 页
TQ2440裸机开发试验大全TQ2440裸机开发试验之ADC
66457a737fd5360cba1adbe2/source/3311703
TQ2440裸机开发试验之ebook
66457a737fd5360cba1adbe2/source/3311704
TQ2440裸机开发试验之interrupt
66457a737fd5360cba1adbe2/source/3311708
TQ2440裸机开发试验之Mmu_Nand
66457a737fd5360cba1adbe2/source/3311761
TQ2440裸机开发试验之Mmu_Nand
66457a737fd5360cba1adbe2/source/3311763
TQ2440裸机开发试验之Nand_1
66457a737fd5360cba1adbe2/source/3311765
TQ2440裸机开发试验之power_stop
66457a737fd5360cba1adbe2/source/3311770
TQ2440裸机开发试验之PWM
66457a737fd5360cba1adbe2/source/3311772
TQ2440裸机开发试验之RTC_LCD
66457a737fd5360cba1adbe2/source/3311777
TQ2440裸机开发试验之Touch_Panel
66457a737fd5360cba1adbe2/source/3311778
TQ2440裸机开发试验之UART
66457a737fd5360cba1adbe2/source/3311780
TQ2440裸机开发试验之write_bios
66457a737fd5360cba1adbe2/source/3311783
第1篇基础篇
第1章Linux简介
1.1 Linux系统概述
1.2 Linux图形界面操作
1.3 Linux字符界面操作
1.4 Shell脚本编程基础
第1章Linux简介.pdf
66457a737fd5360cba1adbe2/source/3312215
新手学linux C编程第1章视频
66457a737fd5360cba1adbe2/v_show/id_XMjcwMDAxNjYw 第2章C语言基础
2.1 C语言概述
2.2 数据类型、运算符和表达式
2.3 基本语句
2.4 数组
2.5 预处理
第2章C语言基础.pdf
66457a737fd5360cba1adbe2/source/3312221
新手学linux C编程第2章配套源码,可成功运行.rar 66457a737fd5360cba1adbe2/source/3312253
新手学linux C编程第2章视频
66457a737fd5360cba1adbe2/v_show/id_XMjcwMDAxODY0
第3章指针、函数及自定义数据类型
3.1 指针
.3.2 函数
3.3 结构体、共用体和枚举
第3章指针、函数及自定义数据类型.pdf
66457a737fd5360cba1adbe2/source/3312229
新手学linux C编程第3章配套源码,可成功运行.rar 66457a737fd5360cba1adbe2/source/3312254
新手学linux C编程第3章视频
66457a737fd5360cba1adbe2/v_show/id_XMjcwMDAyMTAw
第4章数据结构
4.1 线性表
4.2 栈
4.3 队列
4.4 二叉树
4.5 查找
4.6 排序
第4章数据结构.pdf
66457a737fd5360cba1adbe2/source/3312230
新手学linux C编程第4章配套源码,可成功运行.rar 66457a737fd5360cba1adbe2/source/3312255
第5章文本编辑器
5.1 vi编辑器的基本使用
5.2 vi编辑器之程序编辑
5.3 emacs编辑器的基本使用
第5章文本编辑器.pdf
66457a737fd5360cba1adbe2/source/3312231
新手学linux C编程第5章视频
66457a737fd5360cba1adbe2/v_show/id_XMjcwMDA0ODI4
第6章GCC编译器
6.1 GCC简介
6.2 GCC的安装
6.3 GCC常用选项
第6章GCC编译器.pdf
66457a737fd5360cba1adbe2/source/3312234
新手学linux C编程第6章配套源码,可成功运行.rar 66457a737fd5360cba1adbe2/source/3312256
新手学linux C编程第6章视频
66457a737fd5360cba1adbe2/v_show/id_XMjcwMDA1OTA4
第7章调试工具
7.1 GDB简介及安装
7.2 GDB常用命令
7.3 GDB调试实例
第7章调试工具.pdf
66457a737fd5360cba1adbe2/source/3312235
新手学linux C编程第7章视频
66457a737fd5360cba1adbe2/v_show/id_XMjcwMDA2MDI0
第9章LinuxC基本应用
9.1 字符串操作
9.2 数据转换
9.3 内存分配与释放
9.4 时间和日期
9.5 其他应用
第9章Linux C基本应用.pdf
66457a737fd5360cba1adbe2/source/3312239
新手学linux C编程第9章视频
66457a737fd5360cba1adbe2/v_show/id_XMjcwMDA2Mjk2
第10章文件系统缔程
10.1 Linux文件系统简介
10.2 文件的基本操作
10.3 文件的属性
10.4 目录文件的操作
第10章文件系统编程.pdf
66457a737fd5360cba1adbe2/source/3312240
新手学linux C编程第10章配套源码,可成功运行.rar 66457a737fd5360cba1adbe2/source/3312260
新手学linux C编程第10章视频
66457a737fd5360cba1adbe2/v_show/id_XMjcwMDA2NDMy
第11章标准输入输出
11.1 标准输入输出的基本操作
11.2 非格式化输入输出
11.3 格式化输入输出
第11章标准输入输出.pdf
66457a737fd5360cba1adbe2/source/3312242
新手学linux C编程第11章配套源码,可成功运行.rar 66457a737fd5360cba1adbe2/source/3312261
新手学linux C编程第11章视频
66457a737fd5360cba1adbe2/v_show/id_XMjcwMDA2NTYw
第12章进程操作
12.1 进程的概念
12.2 Linux进程
12.3 进程创建与控制
12.4 守护进程
第12章进程操作.pdf
66457a737fd5360cba1adbe2/source/3312246
新手学linux C编程第12章配套源码,可成功运行.rar 66457a737fd5360cba1adbe2/source/3312263
第13章进程间通信
13.1 管道
13.2 信号
13.3 消息队列
13.4 信号量
13.5 共享内存
第13章进程间通信.pdf
66457a737fd5360cba1adbe2/source/3312247
新手学linux C编程第13章配套源码,可成功运行.rar 66457a737fd5360cba1adbe2/source/3312266
新手学linux C编程第13章视频
66457a737fd5360cba1adbe2/v_show/id_XMjcwMDA3NDU2
第14章多线程编程
14.1 线程的基本概念
14.2 线程的基本操作
14.3 线程的同步
第14章多线程编程.pdf
66457a737fd5360cba1adbe2/source/3312248
新手学linux C编程第14章配套源码,可成功运行.rar 66457a737fd5360cba1adbe2/source/3312268
新手学linux C编程第14章视频
66457a737fd5360cba1adbe2/v_show/id_XMjcwMDA3NTU2
第15章网络编程
15.1 网络基础知识
15.2 套接字编程基础
15.3 服务器模型
15.4 域名系统
第15章网络编程.pdf
66457a737fd5360cba1adbe2/source/3312249
新手学linux C编程第15章配套源码,可成功运行.rar 66457a737fd5360cba1adbe2/source/3312269
新手学linux C编程第15章视频
66457a737fd5360cba1adbe2/v_show/id_XMjcwMDA4ODky
第16章Linux GUI编程
16.1 GTK+/Gnome开发简介
16.2 常用GTK+构件
16.3 GUI生成器Glade
第16章Linux GUI编程.pdf
66457a737fd5360cba1adbe2/source/3312250
新手学linux C编程第16章配套源码,可成功运行.rar
正在阅读:
冬天伤感的语句02-11
病区麻醉药品、第一类精神药品使用登记表01-31
濒湖脉学(原文和白话文)06-05
遵纪守法主题班会串词09-04
高二区域地理月考地球地图陆地海洋12-30
法律援助格式文书04-27
助理竞聘演讲稿范文4篇01-01
测绘工程CAD10-地籍图的绘制01-23
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 触摸屏
- 移植
- 添加
- TQ2440
- linux
- 上海某phc桩基(全液压静力压桩)工程施工组织设计
- 2022版生物三年高考两年模拟:专题(2)细胞的结构和功能(含答案)
- 湖南省教育信息技术能力提升工程考试(千页大题库)
- 外研版八年级英语下册教案新部编本M 1 Unit 2
- 2022年贵州财经大学欠发达地区经济发展研究中心801经济学之西方
- 009-湖北大学-20-梁艳萍-美学·审美·美育——大学美学教学的 整
- 2022公务员考试行测试题及答案:图形推理题
- 2022下半年黑龙江省哈尔滨市松北区移动公司招聘试题及解析
- 2022年Noip2014初赛提高组C试题及答案
- 合肥市2022年高一上学期末数学模拟10套试卷合集可编辑
- 建筑施工企业市场开发与经营
- 湖南省茶陵县九年级政治《让世界充满爱》教案
- 2022新版商品房买卖合同模板一
- 基于科技进步的区域科技投入比较分析――以苏、浙、沪、皖为例
- 7矿井防灭火规范正式版
- 掘进安全质量标准化题库
- 2022年华东交通大学中国现代文学三十年复试仿真模拟三套题
- 7-2-5 一次函数与方程、不等式综合.讲义学生版
- 《计算机算法基础》第三版,课后习题答案.docx
- 办公大楼装饰设计合同协议范本模板