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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
#include "STM32f10x_map.h"
1 Z; B" L1 h. q1 ~2 avoid Key_Init(void);, ~& d1 M# d# ~  \1 d. E& U: w2 f
void Key_Proc(void);$ A) V& g& Y. `" J

+ j" z+ Y1 ]9 H/ V/ J+ s! }   char flag = 1;9 L, N' \9 S) d1 ?. r+ c" c* q1 }
int main(void)( \( H) [9 k  A( |
{
8 C3 N# x/ V2 o) g! x& ?- s     Key_Init();
/ T, n: K8 ?) s( X8 ^% ?& t  T; }while(1)
# V% v$ i" `/ O   {
$ w# p1 U! _& }; C, b0 G, M: H8 c2 J
   Key_Proc();
# W8 d$ _; y3 v2 n% }' R8 y   if(flag) GPIOC->ODR &= 0xffff;
. a! H3 _4 m- m' p! M   if(!flag) GPIOC->ODR &= 0x0000;
) v  K; P, i1 s- Z) t; u$ ~) j; z
. o' r. Y- W/ K; X   }
! a0 J2 S0 f2 o6 C& B6 r
7 x! H7 q2 Z8 p4 V- a9 n' N% Q1 q) |9 }; X5 O
}7 G7 ?; {( F( l, g* Y

% l# U- o; q- u" u   void Key_Init(void)
! @) w; w( [8 |7 y4 t! u# M   {
! t! w) _, R. w. b$ ]4 S' t    RCC->APB2ENR |= 8; - f, c! }  |9 f1 B$ b; C
        RCC->APB2ENR |= 0x0010; . A. a7 i& C, @7 V
        GPIOC->CRH &= 0xffffff00;! [. s, w1 g0 q& h, D
        GPIOC->CRH |= 0x00000033;
" }5 k) ]# J# O. C        GPIOC->CRL &= 0x00ffffff;
, ?( I9 q/ l; F( \" Z: P    GPIOC->CRL |= 0x33000000;
" q9 ~$ S" V5 R) `9 C8 z. ~6 V. ~        GPIOC->ODR = 0xffff;
8 e* N1 Y2 u  g# s   }
! s3 p- ~! I+ m0 ^& c& a. d4 h/ p$ f
   void Key_Proc(void)- g& c$ L9 F* l" w* M, @
   {$ k. E7 u3 p% C, i9 E, Y, K8 d8 P
   short key = GPIOB->IDR;
7 N5 q8 S1 V. Q; v) H7 Q   if(key & 0x8000)        3 I5 W- ~6 _$ E" n3 p
   {0 [6 x# |: c/ P9 C" I- r# R
   flag = !flag;1 t9 H$ l9 n7 z3 x$ y/ V
   }   
) T1 h8 @7 A. Q8 W8 _   }( z/ t5 N& ~  [+ v1 c/ j

9 O$ I6 s* o  {/ ~( a) C- e
' X# U0 U. [2 b2 I按键只是上电第一次管用,再按就不管用了,调试的时候主函数里的两个if语句貌似直接就跳过去了。, m$ L7 O( H& A+ a1 o' D
谁知道这是哪里的问题
5 U9 A' d( K" P- R, S2 o

该用户从未签到

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:28 , Processed in 0.156250 second(s), 23 queries , Gzip On.

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

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

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