7551|12

71

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

STM32的gpio奇怪失控?? [复制链接]

我用的是keil.
遇到到 PA.15 , PB.4 , PB.5 等无法设置输出状态.
在keil的调试状态就感觉无法正常设置.而引脚设置跟附近的一样,看起来没错.
但无法正常设置.其他的比如PB0~PB3等就没有问题.
初始化的语句:应该没有问题.
  /* Configure PB.0 --, PB.9 as Output push-pull */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | 
              GPIO_Pin_4 | GPIO_Pin_5 |GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 ;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_Init(GPIOB, &GPIO_InitStructure);
此帖出自stm32/stm8论坛

最新回复

                                     详情 回复 发表于 2008-1-6 10:51
点赞 关注
 

回复
举报

77

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

您用的那几个I/O口默认是JTAG的调试口

如果要把他们当普通I/O口用,需要把JTAG关闭才行。

请看STM32技术参考手册的第5.3.4节。
此帖出自stm32/stm8论坛
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

好象这几个引脚都是jtag,呵呵

                                 查资料去了.:D
此帖出自stm32/stm8论坛
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

4
 

ha,香主回的好快!

                                 谢谢!我刚才在看原理图呢.:D
此帖出自stm32/stm8论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

5
 

您的标题太吓人了,哈哈

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

6
 

hehe

香主,我这样做了,您可正确否?
  //初始化GPIO接口
  /* Enable SWJ , Disable JTAG */
  GPIO_PinRemapConfig( GPIO_Remap_SWJ_JTAGDisable , ENABLE );
模拟可以正确的设置AFIO_MAPR, 0x0200 0000 ,正是我想要的。
硬件坊真MAPR没有反应??看来好象有些设置我还没有做.
资料我看的有点囫囵吞枣,:D
此帖出自stm32/stm8论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

7
 

上面的问题已解决,

呵呵,搜了以下资料,然后多试了几次.找到原因,呵呵,希望看到该帖的能省点时间.
是的,在APB2有个AFIO的设置
只要设置Periperal Clock Enable 就ok!!!!
hehe,简单吧??不知道还真费神!!:D

STM32的GPIO预处理过程如下:
  /* Configure the system clocks */
  RCC_Configuration();
  /* NVIC Configuration */
  NVIC_Configuration();

  //初始化GPIO接口
  /* AFIO Periperal Clock Enable */
  RCC_APB2PeriphClockCmd( RCC_APB2Periph_AFIO,ENABLE );
  /* Enable SWJ , Disable JTAG */
  GPIO_PinRemapConfig( GPIO_Remap_SWJ_JTAGDisable , ENABLE );
//后面的代码根据你的需要修改即可.
  /* Enable GPIOC clock */
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);

  /* Configure PA.8, PC.15 as Output push-pull */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_15 ;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
  /* Configure PB.0 --, PB.9 as Output push-pull */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 |GPIO_Pin_4 | GPIO_Pin_5 |GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 ;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_Init(GPIOB, &GPIO_InitStructure);

  /* Configure PC.13, PC.14 as Output push-pull */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14 ;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_Init(GPIOC, &GPIO_InitStructure);

/* 至于如何设置GPIO的输出状态,参考下面这个帖子 */

https://bbs.eeworld.com.cn/club/bbs/list.asp?boardid=49&page=1&t=2809599&tp=%u6211%u8FD9%u6837%u8BBE%u7F6Egpio%u5BF9%u5417%3F%3F
此帖出自stm32/stm8论坛
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

8
 

楼主是个勤奋好学之人,向你学习!

是不是再把完整的程序发上来,供大家参考,免得他人多走弯路。

香版在此替大家先谢谢啦!
此帖出自stm32/stm8论坛
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

9
 

感谢香主夸奖!:D

                                 呵呵,开心ing.....:D
此帖出自stm32/stm8论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

10
 

STM32的任何外设需要开启都是需要先配置时钟

                                 使用ST的库,最小的工程都是需要包含stm32f10x_rcc.h的
此帖出自stm32/stm8论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

11
 

现在看还是Keil自带的脚本文件STM32INIT.C设置简单

                                 IAR要是有此功能该多好呀~~~
此帖出自stm32/stm8论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

12
 

哈哈,GPIO这个sample害人啊

这个sample是教我们用JTAG Port做普通IO用,可惜咱等功力不到家。
我是折腾了一天,主要是怀疑焊接问题,耽搁时间了。


相关链接:https://bbs.eeworld.com.cn/club/bbs/list.asp?boardid=49&page=1&t=2820585&tp=%u5BF9%u4E8E%u751F%u624B%u6765%u8BF4%uFF0CST%u63D0%u4F9B%u7684GPIO%u8FD9%u4E2Asample%u591F%u5BB3%u4EBA%u7684
此帖出自stm32/stm8论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

13
 

哈哈~~~"我们会踏着烈士的足迹继续走下去的"~~~

                                  
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表