这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » (NRF24L01驱动成功)hanshuyujifen2的 ARM DIY进程贴

共191条 16/20 |‹ 14 15 16 17 18 19 ›| 跳转至
高工
2012-05-27 15:59:37     打赏
151楼
硬件iic弄eeprom,跟踪调试一次,出现问题断电重来。死锁太正常的事情了!断电重新上电就死锁不了了。

高工
2012-05-27 21:05:58     打赏
152楼
完整的FSMC驱动LCD程序

今天本来想把SPI驱动LCD触摸屏整下,搞了半天没眉目。就整理了了下LCD。
一直想把FSMC驱动的程序发出来,今天才有空。比GPIO快不少。
本来想连着SRAM驱动一起发上来,有点事没整完。
实现的功能只是初始化LCD,之后将屏刷成黑色的。
只是演示下LCD的FSMC驱动方法。没别的作用。
至于画点画图什么的,程序中包含这些东西。你可以自己试试
另:我的晶振是12M的,使用8M晶振的童鞋需要改改。方法jobs的帖子里边有,我的帖子里边讲的比较麻烦。

下边是代码链接:
http://share.eepw.com.cn/share/download/id/75286

高工
2012-05-28 21:02:14     打赏
153楼
冰凌科技--STM32开发板光盘 中级教程,15、TSC2046 触摸屏实验,小改就可以用了,参考看下,不知是否对你有帮助

高工
2012-05-28 21:15:47     打赏
154楼
我没他的教程。你发我?

院士
2012-05-28 21:21:25     打赏
155楼

凌阳的教程好像比较好找


高工
2012-05-28 21:29:09     打赏
156楼
不懂触摸屏工作原理。有点困难!
手机上网,你的验证码刷了十几次才刷出来的。

高工
2012-05-28 22:01:49     打赏
157楼

有个贴在115网盘里下载的,很大的,我用了一天一夜色才下载完,里面资料很不错,有我想学的Laview

找不算是那个人的贴了,下拉连接

http://115.com/file/be6xatff
http://115.com/file/be6xaghh
http://115.com/file/be6xad72
http://115.com/file/dpdfs8mm
http://115.com/file/c2urv71j
http://115.com/file/be6xa5i5

 


高工
2012-05-28 22:26:28     打赏
158楼
网盘的啊,我手机没法看!发那个例子到我邮箱吧hanshuyujifen@yahoo.com.cn

高工
2012-05-29 07:29:52     打赏
159楼

不好意思,我都是10点回去的,发给你了,希望不迟


高工
2012-05-29 21:07:30     打赏
160楼
硬件SPI方式读取触屏数据
感谢Rancho的提示。我在弄触屏的时候有一个小错误,片选触屏后没有等待直接就去读数据了。
读出的数据一直都是1006.Rancho提示后,我在片选后给了10us的延时,触屏数据就出来了。
1、SPI初始化
    前面已经给出了,使用的是硬件SPI方式读取数据
2、触屏初始化
完成触屏片选信号初始化,并调用SPI1初始化代码完成SPI初始化
void touchInit(void)
{
    GPIO_InitTypeDef GPIO_InitStructure;
     //初始化LCD_CS(PF10)
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOF, ENABLE);

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOF, &GPIO_InitStructure);               

    SPI1_Init();
}

3、从触屏读数据函数
初始化之后就可以从触屏读出数据了(原始的触屏AD转换值)。
向触屏写写0X90 读x坐标数据,写0xD0 读Y坐标数据
u16 read_trouch (u8 cmd)
{
    u16 temp=0;
    u8 i;

    //片选LCD触屏
    SetTouchCS();
    //片选之后一定要延时。否则读不出数据
    delay_us(10);
    SPI1_ReadWriteByte(cmd);        //SPI写命令

    temp=SPI1_ReadWriteByte(0);    //读数

    i=SPI1_ReadWriteByte(0);
    temp<<=8;
    temp|=i;
    temp>>=3;

    //清楚片选
    ClrTouchCS();
    return temp;
}
//读出数据
 void touch_GetAdXY(u16 *x,u16 *y)
{
    *x=read_trouch(CHX);    //写0X90 读x坐标
    *y=read_trouch(CHY);    //写0xD0 读Y坐标
}
注意:读出的数据并不是对应于LCD像素的。需要进行一定的转换后才能使用。读出的数据没有消抖,不是很稳定


4、主函数中调用
        touchInit();
    printf("触摸屏初始化完成\r\n");
   
    while(1)
    {
        touch_GetAdXY(&x,&y);
        if(x!=0)
        printf("%d,%d \r\n",x,y);
        delay_ms(100);

    }
从LCD触屏读数据的图:


5、触屏校准
    待续

6、将触屏读出的数据转换成与LCD像素对于的数据
    待续

共191条 16/20 |‹ 14 15 16 17 18 19 ›| 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]