找回密码
 注册
关于网站域名变更的通知
查看: 204|回复: 2
打印 上一主题 下一主题

主函数的语句直接跳过,麻烦帮忙看下程序是哪里出错了

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-2-14 10:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
#include "STM32f10x_map.h"1 N& x% A) v# p* c8 L# `' @
void Key_Init(void);
7 |5 p5 I9 S: ~) a9 z# Xvoid Key_Proc(void);) K" p" z9 f3 B1 {' s0 w  y6 V

) p; s  g; _1 K" y" a: v  H& N   char flag = 1;
% z" B2 d  ~/ H, Tint main(void)
  ?5 h, w7 ?4 b; D/ K" }- z* E{
1 `! N6 u3 b% s1 W# h" _     Key_Init();
4 L9 o, n3 z8 K8 [' B& _while(1)' Q% K$ j  x7 s- N- U
   {
! o3 z3 W1 g. M7 a& _2 }, y! e# w) f+ k( Q/ F
   Key_Proc();
! \3 b, b1 d% S   if(flag) GPIOC->ODR &= 0xffff;$ B  r# }) P" c) W
   if(!flag) GPIOC->ODR &= 0x0000;
: |+ E8 z% `4 ?8 v5 @$ @; R3 W( z0 ~! U
   }
+ }5 {/ j" \- A% L3 I$ @7 V9 Y: t: e% A
. [# q5 _$ u% L2 H  @/ U& U* E" L; P* ^+ S! q
}
/ L! m+ I* ^; F3 _- ^
: J" Y* }  D) B1 j! S7 u: s% t. B   void Key_Init(void)# a. y9 J2 K; E8 P
   {
" A3 D( n/ f+ s. s    RCC->APB2ENR |= 8; ) x# o/ J9 {5 n1 ?
        RCC->APB2ENR |= 0x0010; " g8 ]  r# w  }2 i( ~
        GPIOC->CRH &= 0xffffff00;( Q' z# f" z$ ^# g" t* |
        GPIOC->CRH |= 0x00000033;* J- S" L9 ?2 y' U, D
        GPIOC->CRL &= 0x00ffffff;
- G3 V8 u6 \" w0 j. G0 ~    GPIOC->CRL |= 0x33000000;
4 j0 b8 ]1 [' b5 D. Y/ \0 T        GPIOC->ODR = 0xffff;3 y7 O" Q+ T- H" v" j2 v* Q. g
   }
9 y9 N1 j+ S& \. ]0 E6 U! M& @( }7 \
   void Key_Proc(void)* _5 P% r2 p5 X7 _# v. a( X
   {
6 k0 S/ u" ^6 s& O   short key = GPIOB->IDR;
) D* T$ v5 b, }+ u   if(key & 0x8000)        $ t3 e# x' W5 y' b/ @1 ~3 }/ b* C
   {- m$ U6 a' w  e: T& R4 A1 V/ v
   flag = !flag;" R; ]( k3 W' ]& ~2 J
   }   
4 G* c  [8 ]- C) [4 S& ?( a' w   }6 d- T$ p. d+ |% F5 \- Q
4 B" k8 r3 O* z) g0 }

# O1 j. v. \# S. ^9 E$ U- p按键只是上电第一次管用,再按就不管用了,调试的时候主函数里的两个if语句貌似直接就跳过去了。  d, K8 ^# L+ q# r+ A! a- F1 y
谁知道这是哪里的问题
4 T/ _$ Q7 ^' s) g( L

该用户从未签到

2#
发表于 2022-2-14 10:08 | 只看该作者
STM32不用库函数?你将flag设置为char类型是不对的,程序运行后,flag和!flag都是非零。将flag设置为bit看看。

该用户从未签到

3#
发表于 2022-2-14 10:16 | 只看该作者
主函数最好加延时。否则IO的变化肉眼是看不出来的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 22:01 , Processed in 0.140625 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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