OpenEdv-开源电子网

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

关于在mini32上一直emwin的一个问题

[复制链接]

4

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2015-7-6
在线时间
0 小时
发表于 2015-7-17 11:50:31 | 显示全部楼层 |阅读模式
5金钱
论坛里有人把emwin放到了战舰上,不知道mini32有人成功过没有,我在这卡住了
static void LcdWriteReg(U16 Data) {
  // ... TBD by user
LCD_REG_ADDRESS=Data;
}

static void LcdWriteData(U16 Data) {
  // ... TBD by user
LCD_DATA_ADDRESS=Data;
}
这两个函数是emwin往LCD写指令跟数据,但是战舰的LCD控制器是连到FSMC上面的,所以这里只要往预先定义好的总线地址进行读写就好了,可是mini32上LCD我记得是并口通信,那这里要怎么处理呢?

最佳答案

查看完整内容[请看2#楼]

解决啦,很简单,哈哈。 static void LcdWriteReg(U16 Data) {   // ... TBD by user //LCD_REG_ADDRESS=Data; LCD_WR_REG(Data);  //modfied by lu } /******************************************************************** * *       LcdWriteData * * Function description: *   Wri ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2015-7-6
在线时间
0 小时
 楼主| 发表于 2015-7-17 11:50:32 | 显示全部楼层
解决啦,很简单,哈哈。
static void LcdWriteReg(U16 Data) {
  // ... TBD by user
//LCD_REG_ADDRESS=Data;
LCD_WR_REG(Data);  //modfied by lu
}

/********************************************************************
*
*       LcdWriteData
*
* Function description:
*   Writes a value to a display register
*/
static void LcdWriteData(U16 Data) {
  // ... TBD by user
  //LCD_DATA_ADDRESS=Data;

LCD_WR_DATA(Data);   //modfied by lu
}

/********************************************************************
*
*       LcdWriteDataMultiple
*
* Function description:
*   Writes multiple values to a display register.
*/
static void LcdWriteDataMultiple(U16 * pData, int NumItems) {
  while (NumItems--) {
    // ... TBD by user
LCD_WR_DATAX(*pData++);  //modfied by lu
  }
}

/********************************************************************
*
*       LcdReadDataMultiple
*
* Function description:
*   Reads multiple values from a display register.
*/
static void LcdReadDataMultiple(U16 * pData, int NumItems) {
  *pData = LCD_DATA_ADDRESS;
while (NumItems--) {
    // ... TBD by user

*pData++= LCD_ReadReg( 0x0000);   //modifed by lu; 
  } 
}
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-7-17 23:59:59 | 显示全部楼层
帮顶....
回复

使用道具 举报

4

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2015-7-6
在线时间
0 小时
 楼主| 发表于 2015-7-19 10:30:01 | 显示全部楼层
哦,对了,读GRAM时也就是LcdReadDataMultiple(),不能用原子哥写的LCD_ReadReg(?)这个函数,应该这样
static void LcdReadDataMultiple(U16 * pData, int NumItems) 
{
     LCD_WR_REG(0x2e);  //写入要读的寄存器号 ,即 GRAM   
while (NumItems--) {
    *pData++= LCD_RD_DATA();   //modifed by lu
             } 
}
另外记得Config.NumDummyReads = 2,因为第一次读的值是垃圾值,要从第二次开始读,否则光标会有残影哦。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-7-19 23:16:52 | 显示全部楼层
回复【4楼】卢平光同志:
---------------------------------
谢谢分享
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

9

主题

54

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
285
金钱
285
注册时间
2015-4-19
在线时间
75 小时
发表于 2015-7-29 10:07:53 | 显示全部楼层
楼主,你移植触屏没?我移植的触屏需要长按屏幕才能触屏,是不是ram太小了。。
学习学习。。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 15:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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