打印
[STM32]

不连续引脚控制LCD数据口的问题

[复制链接]
1545|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
李宝萝|  楼主 | 2014-6-13 11:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,本人正在进行项目开发,由于是对原有产品升级,所以原先的GPIO口需保持不变,所以使用了不连续的引脚对LCD的8位数据口进行驱动,例如:液晶数据口DB0--DB2对应的是GPIOA10--A12,液晶数据口DB3--DB5对应的是GPIOC10-C12,液晶数据口DB6对应GPIOD2,液晶数据口DB7对应GPIOB5。使用片子是STM32F103RBT6,不带FSMC,请问有朋友遇到过类似问题么,使用了怎样的编程手法?
PS.问题出在了对LCD_data的写入方式上,因为是不连续的引脚

相关帖子

沙发
hgjinwei| | 2014-6-13 20:50 | 只看该作者
开来只好GPIO模拟出读写时序了

使用特权

评论回复
板凳
原野之狼| | 2014-6-13 21:55 | 只看该作者
是啊,用IO模拟吧,把DATA数据切分后分发到各个IO。

使用特权

评论回复
地板
李宝萝|  楼主 | 2014-6-13 22:59 | 只看该作者
hgjinwei 发表于 2014-6-13 20:50
开来只好GPIO模拟出读写时序了

是的,我现在也是这样弄的,
if(DATA&0x80)
  GPIO_SetBits(GPIOB, GPIO_Pin_5);
else
  GPIO_ResetBits(GPIOB, GPIO_Pin_5);





使用特权

评论回复
5
李宝萝|  楼主 | 2014-6-13 23:00 | 只看该作者
原野之狼 发表于 2014-6-13 21:55
是啊,用IO模拟吧,把DATA数据切分后分发到各个IO。

是的,我现在也是这样弄的,
if(DATA&0x80)
  GPIO_SetBits(GPIOB, GPIO_Pin_5);
else
  GPIO_ResetBits(GPIOB, GPIO_Pin_5);






不知还有无更好的方案

使用特权

评论回复
6
airwill| | 2014-6-16 19:11 | 只看该作者
GPIOA10--A12 象这三个脚, 或许可以一起写. 提高点效率.
编程是没有什么的, 累的是单片机. 数据传输得慢了.
为啥不考虑串行连接的 LCD. 或许简单一些.

使用特权

评论回复
7
dictionary| | 2014-6-19 10:38 | 只看该作者
只是多加了一层而已 问题不大

使用特权

评论回复
8
李宝萝|  楼主 | 2014-6-24 13:46 | 只看该作者
airwill 发表于 2014-6-16 19:11
GPIOA10--A12 象这三个脚, 或许可以一起写. 提高点效率.
编程是没有什么的, 累的是单片机. 数据传输得慢了. ...

好的,谢谢你的提醒,我觉得串口是挺好的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

4

帖子

0

粉丝