OpenEdv-开源电子网

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

MINISTM32 实验10 TFTLCD显示实验的一些问题

[复制链接]

23

主题

58

帖子

0

精华

初级会员

Rank: 2

积分
170
金钱
170
注册时间
2014-3-3
在线时间
0 小时
发表于 2014-3-21 16:56:06 | 显示全部楼层 |阅读模式
这是寄存器版LCD_Init初始化的一段代码
  RCC->APB2ENR|=1<<3;
  RCC->APB2ENR|=1<<4;

RCC->APB2ENR|=1<<0;    //开启辅助时钟
JTAG_Set(SWD_ENABLE);  
 
//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;
再来看看库函数版LCD_Init初始化的一段代码
        GPIO_InitTypeDef GPIO_InitStructure;

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO, ENABLE); 
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10|GPIO_Pin_9|GPIO_Pin_8|GPIO_Pin_7|GPIO_Pin_6;  
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure); //GPIOC
GPIO_SetBits(GPIOC,GPIO_Pin_10|GPIO_Pin_9|GPIO_Pin_8|GPIO_Pin_7|GPIO_Pin_6);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; //  
GPIO_Init(GPIOB, &GPIO_InitStructure); //GPIOB
//GPIO_WriteBit(GPIOC,GPIO_Pin_All,Bit_SET); 
GPIO_SetBits(GPIOB,GPIO_Pin_All);

有几个小问题:
1、为什么要
开启辅助时钟?
2、寄存器版PORTC6~10是复用推挽输出,而库函数版的是推挽输出,两者有什么区别?
3、库函数中对GPIOB的初始化只设置了引脚,那其他配置是不是有默认值?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2014-3-21 17:05:22 | 显示全部楼层
1.因为后面用到了remap,所以必须要开AFIO
2.不知
3.库函数有默认值的。
回复 支持 反对

使用道具 举报

23

主题

58

帖子

0

精华

初级会员

Rank: 2

积分
170
金钱
170
注册时间
2014-3-3
在线时间
0 小时
 楼主| 发表于 2014-3-21 17:09:33 | 显示全部楼层
哦,还有一个问题:
4、快速IO和普通IO有什么区别,是怎么配置的
回复 支持 反对

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2014-3-21 17:09:57 | 显示全部楼层
回复【3楼】52feima:
---------------------------------
快速IO?
回复 支持 反对

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2014-3-21 17:13:11 | 显示全部楼层
回复【3楼】52feima:
---------------------------------
http://www.openedv.com/posts/list/1677.htm
回复 支持 反对

使用道具 举报

23

主题

58

帖子

0

精华

初级会员

Rank: 2

积分
170
金钱
170
注册时间
2014-3-3
在线时间
0 小时
 楼主| 发表于 2014-3-21 17:13:40 | 显示全部楼层
回复【2楼】ricefat:
---------------------------------
哦,我看到了
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);
如果我把这个注释了(我不用JLink调试),其他地方应该用不到AFIO了吧
回复 支持 反对

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2014-3-21 17:14:47 | 显示全部楼层
回复【6楼】52feima:
---------------------------------
如果没有用外部中断,AFIO应该就不用开了
回复 支持 反对

使用道具 举报

23

主题

58

帖子

0

精华

初级会员

Rank: 2

积分
170
金钱
170
注册时间
2014-3-3
在线时间
0 小时
 楼主| 发表于 2014-3-21 18:12:31 | 显示全部楼层
回复【5楼】ricefat:
---------------------------------
我看了一下还是不明白什么是快速IO
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-17 05:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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