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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
#include "STM32f10x_map.h"- i+ }* K  m$ Y$ x
void Key_Init(void);
4 K. T. K) B+ Fvoid Key_Proc(void);' }% q! Y& g+ Z1 @% |* {" }
0 M) \4 J) o: ~: J% w
   char flag = 1;
, n5 v( u/ |4 P0 {int main(void)
5 u! E6 V1 T. Y$ f& M. {8 @# n{- c8 G8 n* h  {; ]
     Key_Init();
- r0 |. q2 j" ^9 A! Iwhile(1)- q4 ?/ U/ I7 |8 ]% [
   {
1 z& S: n  p+ q& ]. g- F' Z( k+ t9 s  k+ Q7 _2 M6 d0 R7 ], D
   Key_Proc();, \  i3 L. V1 I8 p; B3 p2 b; j  Z
   if(flag) GPIOC->ODR &= 0xffff;
* I2 Y, {/ B3 _/ K6 M9 k4 C   if(!flag) GPIOC->ODR &= 0x0000;
, h/ a4 E6 o8 [5 [$ W0 I+ y- d$ K" A' Y* ]+ O# m( Q
   }5 ^$ i  C. f% a6 ^4 x2 b

: c+ S& [  ?7 K9 C. R  ~. |
) [! N( y9 z; w  U}
* r  S9 z+ [+ {! Q
. j# r+ F) G2 e  t& I   void Key_Init(void)
0 J- K0 s* [4 S7 f   {1 H  m" i& M2 @# T/ a
    RCC->APB2ENR |= 8; - |+ s$ H4 l% n6 a$ |/ K0 ~
        RCC->APB2ENR |= 0x0010;
/ q7 l) x0 s" w8 Y        GPIOC->CRH &= 0xffffff00;
1 l  ?; A1 Q0 H6 Q* J9 A        GPIOC->CRH |= 0x00000033;
) M" B0 w5 Z( o0 B        GPIOC->CRL &= 0x00ffffff;# I" G) h, Z; P
    GPIOC->CRL |= 0x33000000;! N* v4 \  U& Y; S, M' V, `  G
        GPIOC->ODR = 0xffff;
! n, M6 v& H6 u3 s   }
  @6 B6 g1 f* M# l" ~5 E6 T
$ m% v3 a" o% C) q+ p- a3 G   void Key_Proc(void)% f% W% {+ S1 @% B
   {
0 J# t5 e& w: F' [7 E3 F! x- y   short key = GPIOB->IDR;; p  P0 c' W) H( r
   if(key & 0x8000)        
1 p% ?+ i9 l+ _- R   {' I: L: G& L! q3 R* g- _4 C+ Y
   flag = !flag;
! c" R; ^6 y8 e' }   }   7 _1 ^8 d2 P, I& @
   }. s2 w% C5 ~, t) ~" F3 [1 O$ G

2 ?4 _6 W! r. C9 V+ |5 C- C* \3 C
- C2 ^8 b! Q& I+ G% @, V0 ^% \按键只是上电第一次管用,再按就不管用了,调试的时候主函数里的两个if语句貌似直接就跳过去了。
# M' w) P$ A0 a6 c# e; U5 h谁知道这是哪里的问题
5 U& H! n0 Z( D( G

该用户从未签到

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-6-21 00:04 , Processed in 0.062500 second(s), 23 queries , Gzip On.

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

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

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