OpenEdv-开源电子网

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

相同的程序,不同型号单片机,结果不一样

[复制链接]

19

主题

88

帖子

0

精华

初级会员

Rank: 2

积分
184
金钱
184
注册时间
2013-7-15
在线时间
0 小时
发表于 2013-11-10 23:47:49 | 显示全部楼层 |阅读模式
  在做一个红外程序,相同的程序,一个使用的是STM32F103C8,一个是STM32F103ZE,相同的IO口设置,前者可以正常使用,后着就不能使用,我都换了接收头,也换了不同的IO口,结果就是STM32F103ZE的不行,用示波器看了,IO信号输入正常......这种情况,谁能告诉我什么原因???
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

22

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2012-12-4
在线时间
0 小时
发表于 2013-11-11 01:31:20 | 显示全部楼层
GPIO 或 AFIO 配置问题... 
1. 你用到了外部中断 ?
2. 你用到了某个复用功能,而stm32f103c8与stm32f103ze的复用功能引脚位置不一样?
3. stm32f103ze那块电路板上,某个外部元器件把引脚拉低? (经常容易被忽视问题)。 用KEIL ARM+JTAG 调试stm32f103ze电路板,在调试模式下检查 (输入)引脚初始电平值是否正确?
回复 支持 反对

使用道具 举报

19

主题

88

帖子

0

精华

初级会员

Rank: 2

积分
184
金钱
184
注册时间
2013-7-15
在线时间
0 小时
 楼主| 发表于 2013-11-11 08:05:03 | 显示全部楼层
回复【2楼】odleio:
---------------------------------
    我使用的就是外部中断,在stm32f103ze可以进入中断,但是进去之后就不行了,stm32f103ze的板子和我的红外接收头相连接的IO没有连接其他的芯片,我使用示波器看了和红外接收头连接的那个IO口,符合红外的那个波形,也就是说有这个波形输入单片机的(在stm32f103ze中使用的是PC0口,在stm32f103c8中使用的是PA8端口)
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-11-11 11:37:17 | 显示全部楼层
仿真看看
回复 支持 反对

使用道具 举报

19

主题

88

帖子

0

精华

初级会员

Rank: 2

积分
184
金钱
184
注册时间
2013-7-15
在线时间
0 小时
 楼主| 发表于 2013-11-11 11:53:10 | 显示全部楼层
回复【4楼】正点原子:
-----------------------------
没有仿真器....
回复 支持 反对

使用道具 举报

1

主题

22

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2012-12-4
在线时间
0 小时
发表于 2013-11-11 14:38:49 | 显示全部楼层
回复【3楼】和平清风:

回复【2楼】odleio:
---------------------------------
    我使用的就是外部中断,在stm32f103ze可以进入中断,但是进去之后就不行了,stm32f103ze的板子和我的红外接收头相连接的IO没有连接其他的芯片,我使用示波器看了和红外接收头连接的那个IO口,符合红外的那个波形,也就是说有这个波形输入单片机的(在stm32f103ze中使用的是PC0口,在stm32f103c8中使用的是PA8端口)

---------------------------------
JTAG仿真,在Keil仿真模式下检查那一个中断引脚的初始电平。
回复 支持 反对

使用道具 举报

19

主题

88

帖子

0

精华

初级会员

Rank: 2

积分
184
金钱
184
注册时间
2013-7-15
在线时间
0 小时
 楼主| 发表于 2013-11-11 14:46:59 | 显示全部楼层
回复【6楼】odleio:
---------------------------------
中断引脚的初始电平是3.3V
回复 支持 反对

使用道具 举报

1

主题

22

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2012-12-4
在线时间
0 小时
发表于 2013-11-12 19:40:08 | 显示全部楼层
回复【7楼】和平清风:
---------------------------------

在void EXTI_Configuration(void) , 设置如下:

 //在stm32f103ze中使用的是PC0口,在stm32f103c8中使用的是PA8端口
GPIO_EXTILineConfig(GPIO_PortSourceGPIOC,GPIO_PinSource0);

EXTI_InitStructure.EXTI_Line = EXTI_Line0;                  
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; 
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);


在stm32f10x_it.c里,则是:
void EXTI0_IRQHandler(void)


在void GPIO_Configuration(void)里,则是:
GPIO_InitTypeDef GPIO_InitStructure;
 
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_AFIO, ENABLE);   
  
 /* Configure C0 as VSYNC interrupt */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOC, &GPIO_InitStructure);


以上配置程序没错话,我觉得还是硬件问题.
回复 支持 反对

使用道具 举报

19

主题

88

帖子

0

精华

初级会员

Rank: 2

积分
184
金钱
184
注册时间
2013-7-15
在线时间
0 小时
 楼主| 发表于 2013-11-13 12:08:12 | 显示全部楼层
回复【8楼】odleio:
---------------------------------
配置没有错,我找到问题了,是使用串口的时候,占用了时间,谢谢你了
回复 支持 反对

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2018-12-7
在线时间
11 小时
发表于 2018-12-17 11:20:27 来自手机 | 显示全部楼层
楼主问一下,请问串口占用时间是什么意思,该怎么改啊
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-30 01:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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