OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4367|回复: 4

OLED数据口顺序打乱的情况如何改代码点亮OLED呀?

[复制链接]

22

主题

105

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2012-8-24
在线时间
0 小时
发表于 2013-11-13 15:33:07 | 显示全部楼层 |阅读模式

我的OLED数据口是混乱的,D7(PB7)、D6(PB6)、D5(PB5)、D4(PB9)、D3(PB8)、D2(PB1)、D1(PB0)、D0(PC5)。
如何改代码才能点亮OLED呢?
在oled.h里面,我找到对应D7~D0
//PB0~7,作为数据线
#define DATAOUT(DataValue) {GPIO_Write(GPIOB,(GPIO_ReadOutputData(GPIOB)&0xff00)|(DataValue&0x00FF));}
大概是在这个地方改吧?但是怎么改才对呢?
把括号里面改成这样后,编译都编不过去了。
GPIO_Write(GPIOB,(GPIO_ReadOutputData(GPIOB)&0xff1f)|(DataValue&0x00e0));//取D765给PB765
GPIO_Write(GPIOB,(GPIO_ReadOutputData(GPIOB)&0xfcff)|(DataValue&0x0300));//取D43给PB98
GPIO_Write(GPIOB,(GPIO_ReadOutputData(GPIOB)&0xfffc)|(DataValue&0x0003));//取D21给PB10
GPIO_Write(GPIOC,(GPIO_ReadOutputData(GPIOC)&0xffdf)|(DataValue&0x0020)); //取D0给PC5 
该如何改?
指点指点思路!!多谢各位大神了!!!

有进步就好!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-11-13 20:51:11 | 显示全部楼层
简单说,就是一个个IO赋值。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

22

主题

105

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2012-8-24
在线时间
0 小时
 楼主| 发表于 2013-11-14 00:10:43 | 显示全部楼层
回复【2楼】正点原子:
简单说,就是一个个IO赋值。
---------------------------------
能更具体点么?
我之前放在oled.h里面的时候编译不过去,是因为宏定义的问题。
后来我干脆把define DATAOUT(DataValue) {GPIO_Write(GPIOB,(GPIO_ReadOutputData(GPIOB)&0xff00)|(DataValue&0x00FF));} 注释掉了,然后把我的那些语句放到使用DATAOUT的地方。
之后能编译过去,但是还是点不亮。。。。。
有进步就好!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-11-14 11:16:28 | 显示全部楼层
做成函数
假设要传输数据u8 data;

GPIO_Write(u8 data)
{
if(data&0X80)接D7的IO=1;
else 接D7的IO=0;
if(data&0X40)接D6的IO=1;
else 接D6的IO=0;
if(data&0X20)接D5的IO=1;
else 接D5的IO=0;
if(data&0X10)接D4的IO=1;
else 接D4的IO=0;
。。。
if(data&0X01)接D0的IO=1;
else 接D0的IO=0;
}
这很难么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

22

主题

105

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2012-8-24
在线时间
0 小时
 楼主| 发表于 2013-11-15 13:29:05 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
太感激了!终于点亮了!
我还有太多基础的东西需要补,多谢原子老师的耐心指点!
有进步就好!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-9 03:05

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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