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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
#include "STM32f10x_map.h"
. A- F4 G7 N& b9 `% V8 k1 r2 `; c$ ~void Key_Init(void);
  ?% z4 U) i4 s! Y& Ivoid Key_Proc(void);
3 \$ X5 t" C0 [: _9 l! }9 w5 U0 a$ J5 f9 i# X
   char flag = 1;
7 B5 e' V- }* r2 H- {int main(void)
2 C* x# e" O) M& a6 Z! _8 E{
! j$ [7 B* S! j3 O% A     Key_Init();
* T/ h- m% r' y, K, ?2 lwhile(1)4 M+ e/ s0 L: m
   {
6 l2 s7 a* t+ e. D( C7 K: ?, w. D+ k( t2 S3 C
   Key_Proc();
# S3 X7 {, z8 _2 a   if(flag) GPIOC->ODR &= 0xffff;
* O' I/ z, e) W  Y# ?# [; R& {   if(!flag) GPIOC->ODR &= 0x0000;
: X( D9 Z" j: E+ W. }% G& ?
+ X% W+ y3 H% J: A' U4 s   }
9 }9 p4 B% X: _' s7 W/ Z2 w% t# m

% s# i! e3 I9 i  B: C}3 k) e$ u7 E8 W& ?1 f# G

, G* O3 }! w) u& m! _$ V6 \% s   void Key_Init(void)
$ D: z  H  G9 L" e   {1 U8 V/ g) p" A
    RCC->APB2ENR |= 8;
+ D5 s  I/ h4 k0 I- L7 n: q# D2 I        RCC->APB2ENR |= 0x0010; 5 e6 k* a; [  c/ e, j
        GPIOC->CRH &= 0xffffff00;9 S0 T2 i; D! P* F% U7 N
        GPIOC->CRH |= 0x00000033;
8 l" ]% V% d: n5 a+ n( P# O) E        GPIOC->CRL &= 0x00ffffff;; C* K6 H" c$ Q" x6 l9 ^. V1 U# r
    GPIOC->CRL |= 0x33000000;4 k; t3 E5 c8 H) \9 C4 f
        GPIOC->ODR = 0xffff;9 n# K9 c& _3 t2 }  _: S
   }
: \# m* w. Z7 Z9 n' V/ L; }" u
: |5 B8 }0 V2 w3 E5 o4 T' x   void Key_Proc(void)
7 e3 P& {$ d, d; d! C   {
% b+ ^+ w6 a- M& m. Y   short key = GPIOB->IDR;/ a, f5 }: Z( Q1 i& K5 R) x
   if(key & 0x8000)        
$ T& c& M  Z2 u! s   {% Z& P9 B  N7 |
   flag = !flag;
3 _, F: H# a9 G4 |6 N5 O   }   6 h/ K- i) l: F- ^
   }! ?" p$ w$ p7 e3 w+ H+ L
9 l) h' g. w% ]7 p
- S3 ^3 I$ p$ V2 M) Z7 p% X* ?
按键只是上电第一次管用,再按就不管用了,调试的时候主函数里的两个if语句貌似直接就跳过去了。5 H( T; d; U! w# B4 e* G  g% u' p
谁知道这是哪里的问题# O' _/ Z. H9 ?# Y2 E6 l

该用户从未签到

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-24 01:41 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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