智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2630|回复: 6
打印 上一主题 下一主题

求助,STM32好像不工作

[复制链接]

1

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
383
威望
224
贡献
111
兑换币
95
注册时间
2012-9-22
在线时间
24 小时
毕业学校
sysu
跳转到指定楼层
1#
发表于 2013-5-9 10:25:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
自己做的PCB,用万用表测得单片机电源3.3V,晶振2V。设置GPIOB0为高电平,但用万用表测得是0V,其他IO口的情况也是一样,程序如下
#include "stm32f10x.h"   
GPIO_InitTypeDef GPIO_InitStructure;  
int main()  
{  
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB , ENABLE);     
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;     
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  
    GPIO_Init(GPIOB, &GPIO_InitStructure);   
    GPIO_SetBits(GPIOB, GPIO_Pin_2);  
    while(1);  
}  


用Keil  download时输出的信息如下:
Target info:
------------
Device: STM32F103C8
VTarget = 3.313V
State of Pins:
TCK: 0, TDI: 1, TDO: 1, TMS: 1, TRES: 1, TRST: 1
Hardware-Breakpoints: 6
Software-Breakpoints: 8192
Watchpoints:          4
JTAG speed: 2000 kHz

Erase Done.
Programming Done.
Verify OK.



不知道问题的原因,恳求各位大神帮帮忙!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

16

主题

1037

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5076

优秀会员奖章活跃会员奖章论坛元老奖章在线王奖章

威望
1956
贡献
2072
兑换币
679
注册时间
2012-2-24
在线时间
524 小时
2#
发表于 2013-5-9 14:20:28 | 只看该作者
你自己再系统时钟初始化一次,试试,我认为应该是时钟初始化出的问题
回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
383
威望
224
贡献
111
兑换币
95
注册时间
2012-9-22
在线时间
24 小时
毕业学校
sysu
3#
 楼主| 发表于 2013-5-10 13:27:25 | 只看该作者
1006110218 发表于 2013-5-9 14:20
你自己再系统时钟初始化一次,试试,我认为应该是时钟初始化出的问题

我按你的说法试了还是不行,请问硬件电路有问题吗?
回复 支持 反对

使用道具 举报

16

主题

1037

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5076

优秀会员奖章活跃会员奖章论坛元老奖章在线王奖章

威望
1956
贡献
2072
兑换币
679
注册时间
2012-2-24
在线时间
524 小时
4#
发表于 2013-5-10 20:17:05 | 只看该作者
yejiaan 发表于 2013-5-10 13:27
我按你的说法试了还是不行,请问硬件电路有问题吗?

你的复位电路接上按键,你下载程序时,按下复位键就好使了,再下载程序,应该就好使了

回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
383
威望
224
贡献
111
兑换币
95
注册时间
2012-9-22
在线时间
24 小时
毕业学校
sysu
5#
 楼主| 发表于 2013-5-11 15:49:49 | 只看该作者
1006110218 发表于 2013-5-10 20:17
你的复位电路接上按键,你下载程序时,按下复位键就好使了,再下载程序,应该就好使了

谢谢你的解答,但我还没找到问题所在!用以下的程序试了一整天,试着试着今天下午突然可以了,测到PB14、15有高电平了

#include "stm32f10x.h"
GPIO_InitTypeDef GPIO_InitStructure;
int main( void )
{  
         //SystemInit();
       
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB , ENABLE);

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_6 | GPIO_Pin_14 | GPIO_Pin_15;  
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;

    GPIO_Init(GPIOB, &GPIO_InitStructure);
    while(1)
                {
                        //GPIO_SetBits(GPIOB, GPIO_Pin_0 |GPIO_Pin_1 | GPIO_Pin_6 | GPIO_Pin_14 | GPIO_Pin_15);
                }
}



回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
383
威望
224
贡献
111
兑换币
95
注册时间
2012-9-22
在线时间
24 小时
毕业学校
sysu
6#
 楼主| 发表于 2013-5-11 16:05:56 | 只看该作者
1006110218 发表于 2013-5-10 20:17
你的复位电路接上按键,你下载程序时,按下复位键就好使了,再下载程序,应该就好使了

我发觉用while(1)时不行,用for(;;)时可以,感觉好诡异
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

注册会员

Rank: 2

积分
45
威望
17
贡献
24
兑换币
9
注册时间
2013-7-30
在线时间
2 小时
7#
发表于 2013-7-31 10:48:25 | 只看该作者
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-27 05:02 , Processed in 0.057320 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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