OpenEdv-开源电子网

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

请原子帮忙,看看这个代码如何改才能在我们的板上跑。

[复制链接]

4

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
247
金钱
247
注册时间
2011-3-22
在线时间
66 小时
发表于 2011-3-29 10:09:26 | 显示全部楼层 |阅读模式

这个代码是原子09年在ouravr坛上发的,我想改到能在我们的板上跑,但改了几天还是不能工作,只能点亮了屏灯,请原子帮个忙。
由于硬板不相同,所以我以按我们的板重新定义了IO口。
原代码定义如下:
//-----------------TFT端口定义----------------
#define TFT_RS (1<<4)  //数据/命令选择端口 C4
#define TFT_CS (1<<5)  //片选端口       PC5
#define TFT_LED (1<<8)  //TFT背光      B8
#define TFT_RST (1<<7)  //硬复位   B7
#define TFT_RD (1<<6)  //时钟端口   B6
#define TFT_WR (1<<5)  //数据端口   B5


#define TFT_RS_SET(x)   GPIOC->ODR=(GPIOC->ODR&~TFT_RS)|(x ? TFT_RS:0)
#define TFT_CS_SET(x)   GPIOC->ODR=(GPIOC->ODR&~TFT_CS)|(x ? TFT_CS:0)                
#define TFT_LED_SET(x)  GPIOB->ODR=(GPIOB->ODR&~TFT_LED) |(x ? TFT_LED:0)
#define TFT_RST_SET(x)  GPIOB->ODR=(GPIOB->ODR&~TFT_RST)|(x ? TFT_RST:0) 
#define TFT_RD_SET(x)   GPIOB->ODR=(GPIOB->ODR&~TFT_RD) |(x ? TFT_RD:0)
#define TFT_WR_SET(x)   GPIOB->ODR=(GPIOB->ODR&~TFT_WR)|(x ? TFT_WR:0) 
 
#define DATAOUT(x) GPIOA->ODR=(GPIOA->ODR&0xffffff00)|(x&0xff);  

*/

我根据我们的板重新定义如下:
//-----------------TFT端口定义----------------
#define TFT_RS (1<<8)  //数据/命令选择端口 C8
#define TFT_CS (1<<9)  //片选端口       PC9
#define TFT_LED (1<<10)  //TFT背光      C10
//#define TFT_RST (1<<7)  //硬复位   C7//////这句已屏蔽
#define TFT_RD (1<<6)  //时钟端口   C6
#define TFT_WR (1<<7)  //数据端口   C7


#define TFT_RS_SET(x)   GPIOC->ODR=(GPIOC->ODR&~TFT_RS)|(x ? TFT_RS:0)
#define TFT_CS_SET(x)   GPIOC->ODR=(GPIOC->ODR&~TFT_CS)|(x ? TFT_CS:0)                
#define TFT_LED_SET(x)  GPIOC->ODR=(GPIOC->ODR&~TFT_LED) |(x ? TFT_LED:0)
//#define TFT_RST_SET(x)  GPIOB->ODR=(GPIOB->ODR&~TFT_RST)|(x ? TFT_RST:0) //////这句已屏蔽
#define TFT_RD_SET(x)   GPIOC->ODR=(GPIOC->ODR&~TFT_RD) |(x ? TFT_RD:0)
#define TFT_WR_SET(x)   GPIOC->ODR=(GPIOC->ODR&~TFT_WR)|(x ? TFT_WR:0) 
 
#define DATAOUT(x) GPIOB->ODR=(GPIOB->ODR&0xffffff00)|(x&0xff);  

/*

然后再修改了void TFT_Init(),原代码如下:
void TFT_Init()
{
/*     
    //液晶接口初始化   
  RCC->APB2ENR|=0X0000001C;//先使能外设IO PORTA,B,C时钟
 
 GPIOA->CRL=0X33333333; //PA0-7 推挽输出
 GPIOA->ODR|=0X00FF;    //全部输出高
 
 GPIOB->CRL&=0X000FFFFF;//PB5-7 推挽输出
 GPIOB->CRL|=0X33300000;
 GPIOB->CRH&=0XFFFFFFF0;//PB8   推挽输出
 GPIOB->CRH|=0X00000003;
 GPIOB->ODR|=0X01E0;    //5-8 输出高

 GPIOC->CRL&=0XFF00FFFF;//PC4,5 推挽输出
 GPIOC->CRL|=0X00330000;
 GPIOC->ODR|=0X0030;    //4,5 输出高
 
   
 TFT_RST_SET(0);//硬件复位
 delay_ms(200);
 TFT_RST_SET(1);
 delay_ms(200);
。。。。。以下略
*/ 

我改为:
void TFT_Init()

 RCC->APB2ENR|=1<<3;//先使能外设PORTB时钟
  RCC->APB2ENR|=1<<4;//先使能外设PORTC时钟

 RCC->APB2ENR|=1<<0;    //开启辅助时钟
 //JTAG_Set(SWD_ENABLE);  //开启SWD
           
 //PORTC6~10复用推挽输出  
 GPIOC->CRH&=0XFFFFF000;
 GPIOC->CRH|=0X00000333;
 GPIOC->CRL&=0X00FFFFFF;
 GPIOC->CRL|=0X33000000; 
 GPIOC->ODR|=0X07C0;  
 //PORTB 推挽输出  
 GPIOB->CRH=0X33333333;
 GPIOB->CRL=0X33333333;  
 GPIOB->ODR=0XFFFF;
        
 delay_ms(50); // delay 50 ms
。。。。。以下略
编译后提示两个错误,生成了HEX文件,


下载到板上运行,只能点亮灯和显示白屏,请原子帮忙修改下。附件是在原贴下的。
原贴:
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3253051&bbs_page_no=1&search_mode=4&search_text=lcmdw&bbs_id=9999

JPEG解码实验.rar

755.78 KB, 下载次数: 363

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2011-3-29 10:21:00 | 显示全部楼层
回复【楼主位】lcmdw:
-------------------------------
必须点不亮.
我09年用的那个LCD是8位数据格式的.
现在这个是16位的,如何用?

jpeg解码,可以看开发板的例程.一样的.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

4

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
247
金钱
247
注册时间
2011-3-22
在线时间
66 小时
 楼主| 发表于 2011-3-29 10:33:12 | 显示全部楼层
例程上的是基于文件系统的,那部份不懂,我想象单片机那样直接读代码显示,我主要是想做个简单的介面。

请问原子有没有想关的例程或应如何修改板下的例程?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2011-3-29 10:53:53 | 显示全部楼层
回复【3楼】lcmdw:
-------------------------------
暂时没有,你可以在老版本的基础上改改,问题不大的.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

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

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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