摘要:
/******************************************************************* * 函数库说明:ATMEGA8 T1定时器 CTC模式 方波输出 * 版本: v1.00 * 修改: 庞辉 芜湖联大飞思卡尔工作室 * 修改日期: 2011年08月08日 *... 阅读全文
摘要:
/***************************************************************** * 函数库说明:ATMEGA8 EEPROM使用 * 版本: v1.00 * 修改: 庞辉 芜湖联大飞思卡尔工作室 * 修改日期: 2011年08月08日 * ... 阅读全文
摘要:
GCCAVR中读取Flash区数据定义(只能为全局变量):const int temp PROGMEM = 1;读取:pgm_read_byte(addr);pgm_read_word(addr);pgm_read_dword(addr);字符串:全局定义:const char ss[]PROGMEM = "hello";函数内定义:const char *ss = PSTR("hello");读取同上注意包含:#include <avr/pgmspace.h> 阅读全文
摘要:
今天试试把数组存到flash里,再读出来,就在原先5110的工程上进行修改,能看出来我改在哪里了吗?uint8 Chinese_Font[][25]PROGMEM = { /*-- 文字: 芜 --*/ /*-- 楷体9; 此字体下对应的点阵为:宽x高=12x12 --*/ /*-- 高度不是8的倍数,现调整为:宽度x高度=12x16 --*/ { 0x00,0x48,0x48,0xDE,0xFE,0xF4,0xFE,0x76,0x24,0x04,0x04,0x00,0x00,0x02,0x03,0x03, 0x01,0x03,0x... 阅读全文
摘要:
12864点阵液晶显示模块(LCM)就是由128*64个液晶显示点组成的一个128列*64行的阵列。每个显示点对应一位二进制数,1表示亮,0表示灭。存储这些点阵信息的RAM称为显示数据存储器。要显示某个图形或汉字就是将相应的点阵信息写入到相应的存储单元中。图形或汉字的点阵信息当然由自己设计,问题的关键就是显示点在液晶屏上的位置(行和列)与其在存储器中的地址之间的关系。由于多数液晶显示模块的驱动电路是由一片行驱动器和两片列驱动器构成,所以12864液晶屏实际上是由左右两块独立的64*64液晶屏拼接而成,每半屏有一个512*8 bits显示数据RAM。左右半屏驱动电路及存储器分别由片选信号CS1和 阅读全文
摘要:
一直在看代码,今天准备真正去试试,就拿tiny6410的LED灯开刀,虽说是自己写,但实际上也是参考例程来的。不过还好基本的思路还是蛮清晰的。 定义本次驱动为misc device(杂项设备驱动),包含头文件miscdevice.h,其实所谓的杂项驱动程序就是主设备号为10的字符设备驱动,其实就是用主设备号10调用了函数register_chrdev()。且misc device会自动在/dev目录下建立设备节点,而不需用mkmod手动建立。开发板IO定义:S3C6410 GPK口:#include <linux/miscdevice.h> #include <linux/f 阅读全文
摘要:
他在评阅我们毕设论文时候就经常为计算机学生现状感到痛心疾首,在最后一次论文的 修订中收到老师最长的一封邮件,洋洋洒洒三千字有余。一口气读完,感慨颇多,特别是 读到96级和03级对比之处惊讶之余,心中生出感动的情绪来。在这个时候得到老师宝贵 的“批评”,我想我是幸运的,因为之后的路更长。 在此,我再次谢谢老师,谢谢这段时间在实验室遇到的其它老师和学长,各种教诲和帮 助铭记于心。经过老师同意后转贴于此,希望使更多人获益。 ----------------------------------我是分割线-------------------------------- 在这次论文评审中我要求比较严... 阅读全文
摘要:
前些天不知为啥,我的ubuntu图标缩略图变得非常的小,看着很不爽,今天果断百度一下,找到方法修改了,这下想怎么改就怎么改了,嘿嘿。 变成这样了: Alt + F2 打开运行,输入conf-editor,打开“配置编辑器”,在/apps/nautilus/icon_view下的thumbnall_size就是了,想怎么改都可以,我改成70了,看看效果先。OK,很满意。。。。。。。。。。。。 阅读全文
摘要:
#include <linux/module.h>#include <linux/moduleparam.h>#include <linux/init.h>#include <linux/kernel.h> /* printk() */#include <linux/slab.h> /* kmalloc() */#include <linux/fs.h> /* everything... */#include <linux/errno.h> /* error codes */#include <linux 阅读全文
摘要:
1. 获取内核版本当设备驱动需要同时支持不同版本内核时,在编译阶段,内核模块需要知道当前使用的内核源码的版本,从而使用相应的内核 API。2.4 与 2.6 内核下,源码头文件 linux/version.h 定义有:LINUX_VERSION_CODE ― 内核版本的二进制表示,主、从、修订版本号各对应一个字节;KERNEL_VERSION(major, minor, release) - 由主、从、修订版本号构造二进制版本号。在同时支持2.4与2.6 内核的设备驱动程序中,经常可以看到以下代码段:清单1:判断内核版本的代码段。#include <linux/version.h> 阅读全文
摘要:
因为本身从事存储行业,在工作中多次碰到用户有这样的要求:我的linux系统中原来有一块SCSI硬盘,系统分配的设备文件是/dev/sda。现在新增加了一个外置的磁盘阵列,通过SCSI卡连接。但接上这个磁盘阵列后,/dev/sda变成了磁盘阵列的硬盘了,原来内置的SCSI硬盘变成了 /dev/sdb,我希望将设备文件固定下来。 过去,我总是对用户说,这个比较麻烦,因为/dev/sda等文件都是linux内核自动分配的。很难固定下来,除非你更改加载SCSI卡驱动程序的顺序,让内置硬盘连接的SCSI卡比外接磁盘阵列连接的SCSI卡的驱动模块先加载到内核,这样就能保证/dev/sda总是指向内置的硬盘 阅读全文
摘要:
刚刚make好scull,非常的兴奋,立即使用了一下,本想总结在写一篇文章,不够偶尔发现了一篇很不错的文章,于是就转载过来,偷偷懒,不自己写了,嘿嘿。By: 吴垠1.写在前面: a. 在进行下面的工作之前请先阅读我 的文章《在 Linux 2.6内核下编译可以加载的内核模块》,配 置好可加载内核模块的Linux环境b. 下载《Linux设备设备驱动程序(第三版)》配套的源代 码,在这里可 以下载到,如果无法下载的话可以留言或者给我发邮件索取。c. 本文的工作环境是Fedora ... 阅读全文
摘要:
这两天一直看LDD3,看的很爽,似懂非懂的样子,今天开始编译例程代码scull的时候,悲剧很大,折腾了很久,主要是我Ubuntu11.04的内核版本是2.6.38,而例程编译的内核版本是2.6.10,这中间内核本身已经发生了翻天覆地的变化。说白了,能make过去,那才出鬼了,好吧,一个错误一个错误来,不急。 直接make,第一个问题来了。。。。 根据提示把Makefile里的CFLAGS改成EXTRA_CFLAGS即可,继续……提示: 如果您使用的是vi,可以和我一样一道命令解决:0,$s/CFLAGS/EXTRA_CFLAGS/g 别忘了保存,继续make…… 第二个问题来了。。。。 ... 阅读全文
摘要:
Gedit中文乱码缺省配置下,用 Ubuntu 的文本编辑器(gedit)打开 GB18030/GBK/GB2312 等类型的中文编码文本文件时,将会出现乱码。出现这种情况的原因是,gedit 使用一个编码匹配列表,只有在这个列表中的编码才会进行匹配,不在这个列表中的编码将显示为乱码。您要做的就是将 GB18030 加入这个匹配列表。命令行方式,适用于所有 Ubuntu 用户。复制以下命令到终端中,然后回车即可:gconftool-2 –set –type=list –list-type=string /apps/gedit-2/preferences/encodings/auto_dete. 阅读全文
摘要:
图解电力应用(日)木村博司,(日)粉川昌已著科学出版社2000TM92/4.111图解电机电器(日)饭高成男,泽间照一著科学出版社2000TM3-64/7.431图解晶体管电路(日)雨宫好文,小柴典居主编科学出版社200073.769074/12.3431图解电气电子测量(日)熊谷文宏著科学出版社200073.15074/14.543图解晶体管电路(日)饭高成男等著科学出版社200073.769074/7.431图解运算放大器电路(日)内山明治,村野靖著科学出版社200073.763074/4.222放大电路(日)雨宫好文,小柴典居主编科学出版社200073.763/9.133图解数字电路的计 阅读全文
摘要:
Ubuntu11.04在28号如期发布,为了抢鲜,我也在当天晚上在线升级了一下版本。整个过程下来发现安装的时间达一小时之多,比下载软件包还要久。悲剧也就在此刻上演,据安装结束还剩十多分钟时,学校断电了(学校23点准时熄灯)。第二天开机,虽然内核已经更新到2.6.38,但没法进入系统,甚至无法加载任何系统文件,一直黑屏。只好重启进入旧内核版本2.6.37,发现旧内核也无法正常进入桌面,只能停留在命令模式。解决方法 当意外出现这种情况时,推荐下载离线iso镜像包更新。 首先切换到其他系统下载ubuntu-11.04-alternate-i386.iso,注意这里的发行版是alternate,而不. 阅读全文
摘要:
买的友善的6410板子居然没有送IDE,印象中大家好像都是用的ADS1.2,于是就去下了,结果悲剧的发现了居然不支持ARM11,只支持到ARM10。后来下了RVDS2.2,经过了曲折的破解过程,一切OK。 当然事实永远不可能如此的一帆风顺,编译不通过: 阅读全文
摘要:
下午一直在找一个合适的Linux下的超级终端,我百度来一下,常用的有文本界面的minicom和图形界面的cutecom和gtkterm,毕竟是刚开始在Linux下工作,所以还是倾向于图形界面下的软件。但是经过下午的试用,果断淘汰了所有的图形界面软件,应该都不完美,主要没有了Linux下的tab命令补齐功能,这令我很是不爽,还是minicom吧,用用感觉还是非常舒服的。 首先是安装,输入命令:配置上网上说的很多,我不多说啥了。这是我的配置:因为我用的是USB转串口,所以是ttyUSB0,当然这个还要用命令 dmesg | grep usb查看一下需要注意的是进行配置的时候需要注意一下权限是否拥. 阅读全文
摘要:
在Linux下的串口调试一直使用minicom,虽说Linux的精髓不崇尚图形界面,但有时候图形界面下确实有着不少的好处,而Linux下minicom最好的替代品就算cutecom了。首先在电脑上安装 cutecom:$sudo apt-get install cutecom运行$sudo cutecom而USB转串口线推荐大家使用pl2303,这个Linux是自带驱动的,使用会方便的多。插入usb转串口后,使用dmesg | grep usb,可以查看若有pl2303 converter now attached to ttyUSB0显示表示其已安装成功。这时的设备Device下拉菜单是没. 阅读全文
摘要:
添加分两种:一、临时性添加~$ echo $PATH # 显示当前环境变量 /usr/local/sbin:/usr/local/bin # 显示举例,多个路径中间用“:”隔开 ~$ PATH="$PATH:/home/workdir" # 添加“/home/workdir”目录 /usr/local/sbin:/usr/local/bin:/home/workdir # 显示举例,多个路径中间仍用“:”隔开 则添加成功!(最后当然可以重启或者输出使其即时生效:) ~$ export PATH ~$ cd ~ ~$ source .bashrc #该命令需在主目录下才能运行 阅读全文