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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
#include "STM32f10x_map.h"4 z" o+ L$ Z' m! F/ {9 n; Z5 ~
void Key_Init(void);
9 X& F  W6 A3 \void Key_Proc(void);
' ]% l  e- X$ l- h
- }" M( f  H7 F' H   char flag = 1;
1 E9 ]! d( Z+ ~+ `7 Y6 m0 jint main(void)8 f' z5 S; q% Q& E7 [- o, H6 J5 G
{& K0 E* x  E$ l& V# s
     Key_Init();
$ ^. w& ~: ~1 P+ Gwhile(1)  Z$ N% d! {) x
   {: ^! I) \9 A  F3 I" b! g

+ b6 t# f- R0 O3 p' P/ m1 W/ K0 T   Key_Proc();1 o1 T6 E5 I$ |( {: N5 M6 W
   if(flag) GPIOC->ODR &= 0xffff;
5 _% Q) H# J1 s' v, `2 }9 K   if(!flag) GPIOC->ODR &= 0x0000;
# r% P; ^- E6 }. t* r" r# U0 t0 Z/ Z% r) t7 A( w+ u+ y5 ?; ]
   }: a: {7 z& \2 R& H
  H' l# @' P* z5 A8 k

" Z3 }. u) \+ G}
6 Q  H) s$ o; v( L& o; a3 b& ?* A1 r. y& g$ Z# A
   void Key_Init(void)% u9 N! w9 x2 z5 [# m
   {; I$ [, u# @: M. |3 e. A
    RCC->APB2ENR |= 8;
" i9 o  ^  s3 K/ l  {* q  \        RCC->APB2ENR |= 0x0010; 1 l) `8 o3 i$ M& u6 ]3 ]
        GPIOC->CRH &= 0xffffff00;
3 Y- \$ g& Y, c8 H; U        GPIOC->CRH |= 0x00000033;
- ~3 L" m. p# v, ?! ^" i/ L        GPIOC->CRL &= 0x00ffffff;
$ R& \8 v& q5 n  T9 O2 C0 X$ D- B    GPIOC->CRL |= 0x33000000;9 w0 y, m/ b: d0 v! v2 i+ K3 G
        GPIOC->ODR = 0xffff;9 e4 u5 X8 J9 e
   }
, o: I* s" z. b( o' J. g5 |2 l& Z0 F: v& a9 q$ ^# u% F7 B
   void Key_Proc(void)7 w0 T: `& _6 i! O
   {
: u" Z, L) [% {9 N  B- G1 Y" l   short key = GPIOB->IDR;7 Z2 S8 U: @* H- J! W  U
   if(key & 0x8000)        " g# w0 B- d- W% B: H
   {
- y' y1 b4 P/ I$ \; z+ Y4 M   flag = !flag;; E. A' O+ `$ z( i+ Q7 F# v5 j& m
   }   
9 A( x/ f- g4 a" b7 u   }# L% q9 b8 q' \1 z+ E% A

' C" q5 [( Z% U1 L/ K4 G. V# E
2 K. ]% ^6 f- _7 Y按键只是上电第一次管用,再按就不管用了,调试的时候主函数里的两个if语句貌似直接就跳过去了。
8 O' H: o( e% P+ M( Z1 R& F谁知道这是哪里的问题
' s; S" {/ k, E' b

该用户从未签到

3#
发表于 2022-2-14 10:16 | 只看该作者
主函数最好加延时。否则IO的变化肉眼是看不出来的

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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