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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
#include "STM32f10x_map.h"0 i# F+ D3 c  a% M$ p5 q
void Key_Init(void);* A( {1 x# _- x" t
void Key_Proc(void);
  r) d) `/ c: h/ G& M9 @
9 t/ P8 J: m2 S( p   char flag = 1;
3 X( b& L: ]/ \& Rint main(void)# a& o7 Q8 h. X8 i7 ~6 y
{6 R( `" Q- }/ N6 m9 w0 N, M+ b4 o# U, ?
     Key_Init();/ O# c6 ]' Q6 e7 x) }, l$ w6 X
while(1). i( Y- {6 ?2 k
   {% w* U  P9 m3 T& M- z* P

/ }3 a! l; V( r2 w2 Q   Key_Proc();( N. j* p, D2 ~) A& N( |
   if(flag) GPIOC->ODR &= 0xffff;3 w: p/ }( N. B; n  [% ]
   if(!flag) GPIOC->ODR &= 0x0000;- \0 r" @& _0 u) y8 [4 s

; D' P( X  \3 G   }
5 J- S( u# i( S2 A0 o$ {. k. ~% I! n% ]
& c3 Y3 U( u  T8 h8 R/ B
/ j* l: Y  {2 }( Y/ E}/ M1 U& v8 }# m$ H9 }

2 B8 A- J4 f  H# S   void Key_Init(void)& m: i( E. w  E/ H* N
   {
: L6 p, F+ ^7 b    RCC->APB2ENR |= 8; 5 v; M* x! q1 X% [  S0 R; F
        RCC->APB2ENR |= 0x0010;
# I' g5 v7 M$ Y) h3 Y        GPIOC->CRH &= 0xffffff00;
* p+ {6 h- ?, ~4 S        GPIOC->CRH |= 0x00000033;% E( r" ~4 o6 W1 t# I1 L9 m" l; M
        GPIOC->CRL &= 0x00ffffff;
. O9 U% x; K/ e" q' u5 g# a# T* @    GPIOC->CRL |= 0x33000000;% i: o6 [4 x& m: v
        GPIOC->ODR = 0xffff;; u  u% |; G, h9 n1 a$ l
   }
" P2 B; ]9 l7 @3 T: Q0 j) u% g. U) y' D/ v7 W
   void Key_Proc(void)
* {; C( ~, F# o; R   {  x4 E5 k* C1 `2 n$ c+ @
   short key = GPIOB->IDR;5 I, }! {1 u. \4 k
   if(key & 0x8000)        
5 W) ]  C6 q1 f: o   {
* [5 U+ `( l% i3 o) X   flag = !flag;
+ Z" }% q, m0 H" u9 n+ X   }   
$ U1 x" d" W5 e   }
( |; q3 W( L4 r2 {" i
/ J3 W* B9 H  t3 m7 D9 V( g
& a7 b7 p9 h- M按键只是上电第一次管用,再按就不管用了,调试的时候主函数里的两个if语句貌似直接就跳过去了。
; m" [- I* [9 }, w+ C谁知道这是哪里的问题) r4 T8 H+ u8 Y8 Z3 b7 u- {

该用户从未签到

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-8-2 21:09 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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