自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 短代码-字符串检测

任意输入长字符串与需要检测的 短字符串, 找出长字符串中含有多少个短字符串, FPGA里面的码流检测#include #include int main(int argc, char **argv){ char long_char[256]; char short_char[256]; int cnt = 0; int long_i = 0; int cmp_cnt = 0; int long_length, short_length; printf("/n test char string /n"); p

2010-11-04 20:50:00 628

原创 中断与内核定时器

<br />中断<br /> <br /><br />static irqreturn_t  irq_isr(int irq, void *dev_id)<br />{<br /> printk(KERN_ALERT"HAVE COMT INTERRUPT ISR ->->->->->/n/n");<br /><br /> return 1;<br />}<br />/* request irq */<br />static int request_irqs(void)<br />{<br /> int r

2010-11-04 20:44:00 735

原创 touch-screen with Timer

 在触屏驱动的基础上,添加定时器轮询机制,驱动初始化时,一并初始化定时器, 在第一次tc中断里面开启定时器并且关闭了tc中断, 并在定时器函数里面判断按键状态,如确定此时按键还是按下状态,就启动adc, 开始adc记次的中断,在adc次数到达之后,再次启动定时器,并且将触摸屏重新设置成tc等待中断模式,这样在定时器函数里面可以判断按键是否抬起,进而是结束本次按键并开启tc中断还是继续计数所按下的键值。这里一共留下了两个参数可以设置,一个是键按下后间隔多长时间扫描一次,即定时器的间隔时间, 另一个是扫描键值需

2010-10-27 19:24:00 818 1

原创 触摸屏调试bug

以前调试触摸屏很快就搞定了,现在Linux内核下调试还挺繁琐。遇到的问题:   初始化时,注册了tc中断与adc中断。首先进入tc中断, 在tc中断服务程序中,开启启动adc注册中断 if((ret = request_irq(IRQ_ADC, irq_isr_2, IRQF_SHARED|IRQF_SAMPLE_RANDOM, "sharpzou-Adc", ts_devp)) != 0)  printk(KERN_ALERT"irq_adc REQUEST_IRQ  Fail %d ! /n", ret

2010-10-27 13:16:00 976 1

原创 触摸屏驱动

<br />只有简单的描述了,本来写得很详细的。<br /> <br /> ret = request_irq(IRQ_ADC, adcdone_int_handler, IRQF_RANDOM, DEVICE_NAME, &adcdev);<br /><br />注册中返回错误16 ,即EBUSY,说明中断重复定义,内核中可能之前已经申请了中断。<br /> <br />发现两种设置寄存器的方式,值得参考:<br /> <br />static void __iomem *base_addr;<br />

2010-10-25 21:07:00 791

原创 linux 时钟源初步分析

<br />初步概念: 看datasheet的关于时钟与定时器的部分, <br />FCLK供给cpu,<br />HCLK供给AHB总线设备(存储器控制器,中断控制器、LCD控制器、DMA、USB主机控制器等), <br />PCLK供给APB总线上的设备(watchdog、IIS、i2c、 pwm、定时器、ADC、uart、gpio、rtc、spi)<br />上电时 fclk的时钟等于外部时钟fin, 然后等待LOCKTIME后, 依照MPLLCON寄存器的设置,倍频到高频。<br />UPLLCON

2010-10-25 20:12:00 2094

转载 IO静态映射

<br /><br />http://www.cublog.cn/u3/101649/showart.php?id=2276926共享资源,欢迎转载:http://blog.chinaunix.net/u3/99873/showart_2057181.html<br />我们知道默认外设I/O资源是不在Linux内核空间中的(如sram或硬件接口寄存器等),若需要访问该外设I/O资源,必须先将其地址映射到内核空间中来,然后才能在内核空间中访问它。<br />Linux内核访问外设I/O内存资源的方式有两种:

2010-10-19 09:24:00 1489

原创 button 2

<br />        add_timer 启动的定时器在 回调函数被调用时,定时器貌似已经从链表中删除,所以为了能够循环,即实现轮询,可以在回调函数中再一次启动定时器,注意需要更新  timer.expires = jiffies + (HZ/1000)*200 值。<br />附件代码是键盘的测试程序,主要测试了Linux 的中断使用、定时器的使用还有最简单的按键防抖编程。

2010-10-18 20:54:00 660

原创 Linux测试代码—button

贴点测试代码, 只供自己查阅!#include struct button_dev{ struct cdev cdev; unsigned char key_data[KEY_NUM]; //key value struct timer_list timer;};struct  button_dev  *button_devp;dev_t        dev;static struct file_operations dev_fops ={     .owner = THIS_MODULE,      /

2010-10-18 18:40:00 860

原创 博客-从今天开始!

<br />记录自己的技术!

2010-10-18 09:38:00 460

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除