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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
#include "STM32f10x_map.h"
5 j( Z. E6 o) D/ p/ I! u$ Vvoid Key_Init(void);
* `+ @% w& j+ D& K  W8 q+ D0 N: vvoid Key_Proc(void);' Y1 A, Q7 N3 Z8 Q/ e
( J6 U" a1 x& [& b  e; y) j1 |, I
   char flag = 1;
) D# [: b4 c& f6 J  B1 J3 i8 Bint main(void)2 E2 p( _7 D+ S* e
{
- K4 {& ]* O, R8 G( s! {' S     Key_Init();# G$ I8 \2 A# a
while(1)
9 k( L2 x+ G8 ?! E' K" `   {0 H0 W5 P6 Y5 h2 x) N' P

! b  H2 P, }5 D8 b1 P9 Z1 {2 E   Key_Proc();
9 @6 x7 q3 G- k2 X  X, j! A8 C   if(flag) GPIOC->ODR &= 0xffff;! N; O: ^8 V  r+ X$ e2 {
   if(!flag) GPIOC->ODR &= 0x0000;5 l$ g6 Q- u9 C7 X) a

. ]5 R8 i0 z' Q/ U1 z! y9 l   }, f$ j+ ?2 G) b" r' [6 `

7 B! y! F1 D1 j! s5 L: `
2 Q! A- ?" }6 P}
/ y/ T: V& B% G5 W
% {/ K* E4 v* H6 k  o6 L   void Key_Init(void)3 [4 v/ L2 r5 h* d( b
   {
! r7 v2 x: z* r9 N6 o4 ?. ^) U/ _6 r1 o    RCC->APB2ENR |= 8; ) m- {* c  _$ U7 {& k& |0 z5 \
        RCC->APB2ENR |= 0x0010;
; K/ z# t2 x7 W2 O3 J, X/ [" y        GPIOC->CRH &= 0xffffff00;
8 g5 g2 g) _+ Q3 X        GPIOC->CRH |= 0x00000033;
8 b  N6 F) ~6 X: d8 b1 ^! Q        GPIOC->CRL &= 0x00ffffff;
! `- M' d& f; z& V    GPIOC->CRL |= 0x33000000;
, J1 k. x! B) Q5 O$ @        GPIOC->ODR = 0xffff;
, f! n) |2 |# r/ a/ F- P* x/ c   }
1 A9 e) }8 I! {- ~3 G* m
+ ^9 `; l9 T! ]" v4 e  V   void Key_Proc(void)4 v( E4 X1 X. s$ j) C6 f9 M
   {* N9 s+ s; [4 Q7 b( n' Q! r2 R
   short key = GPIOB->IDR;2 T, ^  H: F# C& S
   if(key & 0x8000)        : [9 `7 n0 R1 Z5 q
   {3 u1 G8 G0 l8 u( }5 ~6 \, ?
   flag = !flag;
  m4 d9 _, i* l   }   & v8 f3 R, E/ p$ c/ l
   }
: M9 d) p8 O" L" Z7 V( r. D. R
6 \1 a1 R# K, z  \; I4 J" {, w' D7 v# A  _2 Y# q
按键只是上电第一次管用,再按就不管用了,调试的时候主函数里的两个if语句貌似直接就跳过去了。* V, a3 @3 a( ?
谁知道这是哪里的问题
  t/ \4 l7 [0 A' K# k1 A6 `& 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-9-11 04:27 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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