搜索
bottom↓
回复: 20

KE02Z64 IO模拟SPI 驱动液晶 共享代码

[复制链接]

出0入0汤圆

发表于 2014-9-14 23:26:11 | 显示全部楼层 |阅读模式
本帖最后由 laotui 于 2014-9-15 08:29 编辑

使用IO模拟SPI驱动液晶,向坛友请教单独控制一位IO什么办法好,我在8位机上用位域,32位感觉用位域太臃肿了。暂时用宏定义也挺方便。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出100入101汤圆

发表于 2014-9-14 23:42:38 | 显示全部楼层
看了下LZ的源码,貌似也没有什么麻烦的。挺易懂、简单,如下:
#define SDA_0                        GPIOA_PCOR = (1<<16)
#define SDA_1                        GPIOA_PSOR = (1<<16)

出0入0汤圆

 楼主| 发表于 2014-9-14 23:45:57 | 显示全部楼层
本帖最后由 laotui 于 2014-9-15 08:30 编辑
fengyunyu 发表于 2014-9-14 23:42
看了下LZ的源码,貌似也没有什么麻烦的。挺易懂、简单,如下:
#define SDA_0                        GPIOA_PCOR = (1 ...


用的这几个寄存器应该是飞思卡尔加的,用起来也方便但要是能一位一位的控制更好。

出0入0汤圆

发表于 2014-9-15 08:13:23 | 显示全部楼层
谢谢分享!           

出0入0汤圆

发表于 2014-9-15 08:39:58 | 显示全部楼层
神速啊,就已经打样回来用上了,屏的顶部空的一片是图标 ?

出0入0汤圆

 楼主| 发表于 2014-9-15 08:41:36 | 显示全部楼层
holts2 发表于 2014-9-15 08:39
神速啊,就已经打样回来用上了,屏的顶部空的一片是图标 ?

最小系统不打样了,又申请了KE02的板子焊上排针直接用了,最上面是图标。

出0入0汤圆

发表于 2014-9-15 08:51:32 | 显示全部楼层
楼主,这个工程是用PE生成的吗?直接用SPI控制器,在编译出来的尺寸上是不是会小一些

出0入0汤圆

发表于 2014-9-15 08:54:08 来自手机 | 显示全部楼层
这个IO口操作是不是有改动其它IO口的风险?

出0入0汤圆

 楼主| 发表于 2014-9-15 08:56:09 | 显示全部楼层
bbstr 发表于 2014-9-15 08:51
楼主,这个工程是用PE生成的吗?直接用SPI控制器,在编译出来的尺寸上是不是会小一些 ...

我没用PE工程是用官方的例程改的,没用硬件SPI的原因:1.对寄存器还不熟只看了手册IO的部分。2.液晶能写不能读有硬件SPI浪费。
至于代码尺寸IO模拟也不大,不知道PE产生的代码尺寸如何。

出0入0汤圆

 楼主| 发表于 2014-9-15 08:57:38 | 显示全部楼层
西施糖葫芦 发表于 2014-9-15 08:54
这个IO口操作是不是有改动其它IO口的风险?

用的都是连续的几个IO,飞思卡尔加的几个寄存器都是只能写回读都是0,暂时还没发现IO互相影响。

出0入0汤圆

发表于 2014-9-16 20:02:11 | 显示全部楼层
laotui 发表于 2014-9-15 08:57
用的都是连续的几个IO,飞思卡尔加的几个寄存器都是只能写回读都是0,暂时还没发现IO互相影响。 ...

GPIOA_PCOR = (1<<16) 这句话应该也会把GPIOA其它的IO口改掉吧,改成GPIOA_PCOR =GPIOA_PCOR| (1<<16) 是不是会好点,0或上去不会影响其它位,只会把16位改成1.如果要置为0的话就GPIOA_PCOR =GPIOA_PCOR&( ~(1<<16))酱紫。

出0入0汤圆

 楼主| 发表于 2014-9-16 20:45:16 | 显示全部楼层
GPIOA_PCOR|=1<<16;
GPIOA_PCOR &=~(1<<16);
我的习惯是这样写,现在调IIC,这个程序是可用的,没有问题,至于有没有影响其他IO没有验证。

出0入0汤圆

 楼主| 发表于 2014-9-16 21:46:28 | 显示全部楼层

刚才验证了一下是不影响的,不加逻辑运算IO没有互相影响。
    GPIOB_PCOR=1<<25;
    GPIOB_PSOR=1<<26;
    GPIOB_PSOR=1<<7;
    delay();
    GPIOB_PSOR=1<<25;
    GPIOB_PCOR=1<<26;
    GPIOB_PSOR=1<<7;
    delay();
    GPIOB_PSOR=1<<25;
    GPIOB_PSOR=1<<26;
    GPIOB_PCOR=1<<7;
    delay();  

出0入0汤圆

发表于 2014-9-16 22:10:23 | 显示全部楼层
下载看看

出0入0汤圆

发表于 2014-9-16 23:17:09 | 显示全部楼层
这种IO操作方法倒是也挺方便的。

出0入0汤圆

发表于 2014-9-17 10:38:57 | 显示全部楼层
LZ用的什么环境?  CW, KEIL, IAR?

出0入0汤圆

发表于 2014-9-17 11:21:48 | 显示全部楼层
ke02貌似就没有spi接口

你的屏是shanyan那个送的小屏吗,都有底板了啊,你自己打样的么

出0入0汤圆

发表于 2014-9-17 11:45:38 来自手机 | 显示全部楼层
laotui 发表于 2014-9-16 21:46
刚才验证了一下是不影响的,不加逻辑运算IO没有互相影响。
    GPIOB_PCOR=1 ...

有点奇怪,你这样整体赋值的话理论上是会改掉其它IO口的电平状态的。我还是比较建议加上与或操作,比较稳妥。

出0入0汤圆

发表于 2014-9-17 11:51:04 来自手机 | 显示全部楼层
laotui 发表于 2014-9-16 20:45
GPIOA_PCOR|=1

恩你这样写和我的是一个意思,我也习惯这样子写

出0入0汤圆

 楼主| 发表于 2014-9-17 14:01:20 | 显示全部楼层
myxiaonia 发表于 2014-9-17 11:21
ke02貌似就没有spi接口

你的屏是shanyan那个送的小屏吗,都有底板了啊,你自己打样的么 ...

是自己打样的PCB在我另一个帖子里共享了。http://www.amobbs.com/thread-5594142-1-1.html

出0入0汤圆

发表于 2014-9-17 22:23:24 | 显示全部楼层
你好,你那个屏幕是从哪里能的,自己做的吗?有多大呢,谢谢,最近有个项目需要个屏幕,但是一直找不到合适的
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 11:21

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表