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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
#include "STM32f10x_map.h"
; U# ]; G: i0 B- S- L+ kvoid Key_Init(void);
/ t  V1 [7 ~9 evoid Key_Proc(void);
: i; Z( u& f! j: A2 p) |) z- `6 m1 [6 D6 O2 i
   char flag = 1;
# [2 z+ F' \( l* x: ~9 Cint main(void)& D" p. }! W" F5 [, o
{
) j0 @- S' l: ]8 g6 }     Key_Init();1 F. y" Q5 ?' J3 h  \' a
while(1), u7 t) G. d) m  f
   {
0 s$ V) A) z( b: x7 _! ?" R* ]' [
9 i( m- K" F/ c7 \, g, T   Key_Proc();6 p6 k3 `1 s5 l, z
   if(flag) GPIOC->ODR &= 0xffff;
! o/ Y; h' c2 [6 _$ p$ J2 V   if(!flag) GPIOC->ODR &= 0x0000;' m, `& l, H, s( d: m
: z) A2 n( ~9 Z% r5 R: _
   }0 W/ ?9 g# q  }: Z( y/ \& F

& e" E( L: k, E) c3 X- R3 a2 \! s* h" N7 b; J
}
- V" v" Q; d$ c' `* G* Z6 b6 i6 W% f) Z, q3 V
   void Key_Init(void)
6 j3 K2 u- V- y7 e' n0 W, \   {$ T2 e9 m# w$ N5 v) \7 d
    RCC->APB2ENR |= 8; 4 U8 V; d( h1 L+ y
        RCC->APB2ENR |= 0x0010;
6 W; r6 I: D8 y5 y1 [        GPIOC->CRH &= 0xffffff00;
5 d9 L2 Y& M6 N% T; U" N        GPIOC->CRH |= 0x00000033;
3 U6 O- ?8 J& s  n) ~0 `        GPIOC->CRL &= 0x00ffffff;) s5 |$ ^1 O" e) o( a5 Y
    GPIOC->CRL |= 0x33000000;  d; \4 V1 O0 L+ j. S
        GPIOC->ODR = 0xffff;
/ G8 {' j# p- y9 _; d   }
! W3 |) T: F" Z% g
. z3 r) u6 W8 {. @4 A( x- j   void Key_Proc(void)
& Y3 A! o3 f+ i  _; S6 N% m   {5 |: c% }0 L' S- J0 `
   short key = GPIOB->IDR;4 B  Y# x* `- J. I4 L6 Y* T
   if(key & 0x8000)        
' s1 d" V' I) M: k3 [   {7 Q8 E$ Q/ I8 v' @) [1 f
   flag = !flag;
/ h' U6 j. @; n   }   6 N& u: P0 w: g! R# G
   }8 Y$ a/ v9 M& h0 Q( I2 l
" G3 A3 i5 |, r2 f+ i$ t

; j& h6 N# D5 M9 V" u5 \+ p按键只是上电第一次管用,再按就不管用了,调试的时候主函数里的两个if语句貌似直接就跳过去了。, s- O- O- R& e. Q+ n$ u
谁知道这是哪里的问题/ P6 b8 W6 J2 F

该用户从未签到

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-10-12 07:55 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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