OpenEdv-开源电子网

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

stm32F103zet6程序下载后,给入信号后不能正常使用(以前可以)

[复制链接]

2

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2018-3-26
在线时间
7 小时
发表于 2018-7-24 08:41:40 | 显示全部楼层 |阅读模式
1金钱
程序下载完成后,程序不运行,更改初始化库函数的时候他可以改变引脚电平,但是在程序中修改电平,引脚电平不改变

初始化引脚

初始化引脚

主程序

主程序

宏定义

宏定义

最佳答案

查看完整内容[请看2#楼]

既然知道问题出在这里了,就仔细排查吧,你可以看最后程序停在哪里了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

796

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2038
金钱
2038
注册时间
2017-8-2
在线时间
522 小时
发表于 2018-7-24 08:41:41 | 显示全部楼层
游丝易牵 发表于 2018-7-26 12:52
主要是程序太大了,怕粘起来太多

既然知道问题出在这里了,就仔细排查吧,你可以看最后程序停在哪里了
猪猪熊呢?
回复

使用道具 举报

9

主题

796

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2038
金钱
2038
注册时间
2017-8-2
在线时间
522 小时
发表于 2018-7-24 08:47:49 | 显示全部楼层
你确定。。while1里套while1
猪猪熊呢?
回复

使用道具 举报

39

主题

535

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1065
金钱
1065
注册时间
2018-3-27
在线时间
378 小时
发表于 2018-7-24 08:55:14 | 显示全部楼层
有没有使能GPIOD的时钟
回复

使用道具 举报

2

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2018-3-26
在线时间
7 小时
 楼主| 发表于 2018-7-24 08:57:21 | 显示全部楼层
323232 发表于 2018-7-24 08:47
你确定。。while1里套while1

因为第一个while下面还有其他程序,我只是试试其中一个引脚,因为整个程序都不运行了
回复

使用道具 举报

2

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2018-3-26
在线时间
7 小时
 楼主| 发表于 2018-7-24 08:59:15 | 显示全部楼层
qiuzhicheng 发表于 2018-7-24 08:55
有没有使能GPIOD的时钟

        GPIO_InitTypeDef  GPIO_InitStructure;
       
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE | RCC_APB2Periph_GPIOD| RCC_APB2Periph_GPIOF, ENABLE);         //使能PB,PE端口时钟
回复

使用道具 举报

39

主题

535

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1065
金钱
1065
注册时间
2018-3-27
在线时间
378 小时
发表于 2018-7-24 09:03:47 | 显示全部楼层
初始化函数调用了吧?PD9是led灯吗?
回复

使用道具 举报

2

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2018-3-26
在线时间
7 小时
 楼主| 发表于 2018-7-24 09:09:22 | 显示全部楼层
qiuzhicheng 发表于 2018-7-24 09:03
初始化函数调用了吧?PD9是led灯吗?

我做的PD9是给机器人供电的(用光耦)只是一个电平输出,高则导通给电,低则断电
,初始化函数调用了,在主程序里调用的】
回复

使用道具 举报

2

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2018-3-26
在线时间
7 小时
 楼主| 发表于 2018-7-24 09:11:44 | 显示全部楼层
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "timer.h"
//#include "motor.h"
#include "sensor.h"
#include "usart2.h"
#include "rssi.h"       
#include "contorl.h"
#include "hmi.h"
#include "myiic.h"
#include "24cxx.h"
#include "usart3.h"
#include "adc.h"
#include "action.h"
#include "stmflash.h"
#include "stm32f10x_it.h"
#include "servo.h"
#include <string.h>

u8 i=0;
void action(void);
void Move(u8 dir,uint16_t left,uint16_t right);
void send_motor_speed(u16 left,u16 right);
void Stop(void);
void delay_s(u8 s);
void yao_shaizi(void);
void Steering_engine_sends(u8 first,u8 second);
void uart4_send_str( char *str );
void connect_f4(void);
//舵机板命令发送 first 舵机板0  second 舵机板1
u8 sing_song=0;
u8 ready=1;
u8 talklength = 0;
u8 talkbuf[10];
u8 Morra_buf[10];
u8 Morralength=0;
u8 Bluetooth=0;
u8 speak_flag=0;
extern u8 time_num,tim6_s_use1,tim6_s_use2;
extern int my_timer1_count;
extern u8 USART4_RX_BUF[USART_REC_LEN];     //接收缓冲,最大USART_REC_LEN个字节.
extern u16 USART4_RX_STA;       //接收状态标记       
_Bool low_power_flag;
_Bool connect_f4_flag;  //与舵机控制板建立连接标志
int main(void)
{
//    Stm32_Clock_Init(9);//系统时钟设置
        delay_init();             
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
    servo_init();       
        Adc_Init();
        uart_init(9600);       
//        TIM_Cmd(TIM3, DISABLE);
        LED_Init();             
        Sensor_Init();//传感器接入
        Contorl_Init();
        USART2_Init(115200);
        USART3_Init(9600);//语音
        AT24CXX_Init();
        HMISendstart();          //为确保串口HMI正常通信
        TIM6_Base_Init(10);   //定时1秒作为动作基数      //1ms中断
        All_clear();
        Show_rom_num();
//        action();
   connect_f4(); //与舵机控制板建立连接
        while(1)
        {
    while(1)
                {
                        GPIO_SetBits(GPIOD,GPIO_Pin_9);delay_ms(1000);
                        GPIO_ResetBits(GPIOD,GPIO_Pin_9);delay_ms(1000);
                        GPIO_SetBits(GPIOD,GPIO_Pin_9);delay_ms(1000);
                        GPIO_ResetBits(GPIOD,GPIO_Pin_9);delay_ms(1000);
                }
回复

使用道具 举报

9

主题

796

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2038
金钱
2038
注册时间
2017-8-2
在线时间
522 小时
发表于 2018-7-24 09:45:10 | 显示全部楼层
调试看看程序有没有进去
猪猪熊呢?
回复

使用道具 举报

2

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2018-3-26
在线时间
7 小时
 楼主| 发表于 2018-7-24 09:57:31 | 显示全部楼层
323232 发表于 2018-7-24 09:45
调试看看程序有没有进去

应该是进去了,因为程序里面更改库函数,是好使的
回复

使用道具 举报

7

主题

47

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1982
金钱
1982
注册时间
2013-3-27
在线时间
200 小时
发表于 2018-7-24 10:07:51 | 显示全部楼层
单步调试看看,应该是程序卡死在某个地方了,比如某个初始化函数中有while等待语句,导致程序没有进入主程序
回复

使用道具 举报

9

主题

796

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2038
金钱
2038
注册时间
2017-8-2
在线时间
522 小时
发表于 2018-7-24 11:06:56 | 显示全部楼层
不是不要说应该 啊...在你那个主函数里的 GPIO_SetBits(GPIOD,GPIO_Pin_9);delay_ms(1000);这里设个断电  全速执行看看能不能到这里
猪猪熊呢?
回复

使用道具 举报

2

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2018-3-26
在线时间
7 小时
 楼主| 发表于 2018-7-24 11:37:11 | 显示全部楼层
323232 发表于 2018-7-24 11:06
不是不要说应该 啊...在你那个主函数里的 GPIO_SetBits(GPIOD,GPIO_Pin_9);delay_ms(1000);这里设个断电   ...

好的,谢谢,我试一下
回复

使用道具 举报

2

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2018-3-26
在线时间
7 小时
 楼主| 发表于 2018-7-24 16:05:47 | 显示全部楼层
323232 发表于 2018-7-24 11:06
不是不要说应该 啊...在你那个主函数里的 GPIO_SetBits(GPIOD,GPIO_Pin_9);delay_ms(1000);这里设个断电   ...

试了,里面有个   connect_f4();  把他屏蔽了,就能正常运转,但是现在需要他,加上他后把F4和它连接上,就不能运行了
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-7-25 02:03:43 | 显示全部楼层
游丝易牵 发表于 2018-7-24 16:05
试了,里面有个   connect_f4();  把他屏蔽了,就能正常运转,但是现在需要他,加上他后把F4和它连接上, ...

仿真找问题
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

9

主题

796

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2038
金钱
2038
注册时间
2017-8-2
在线时间
522 小时
发表于 2018-7-25 10:51:58 | 显示全部楼层
游丝易牵 发表于 2018-7-24 16:05
试了,里面有个   connect_f4();  把他屏蔽了,就能正常运转,但是现在需要他,加上他后把F4和它连接上, ...

你看不是找到问题了么              你可以把程序贴出来 大家给你找找问题     你也可以自己在这个函数里调试 看看问题根本所在
猪猪熊呢?
回复

使用道具 举报

2

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2018-3-26
在线时间
7 小时
 楼主| 发表于 2018-7-26 12:52:26 | 显示全部楼层
323232 发表于 2018-7-25 10:51
你看不是找到问题了么              你可以把程序贴出来 大家给你找找问题     你也可以自己在这个函数里 ...

主要是程序太大了,怕粘起来太多
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-17 22:50

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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