你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

发一个编码器 程序

[复制链接]
hpdell 发布时间:2020-11-3 14:42
#define READ_ENCODER_A           (GPIOC->IDR & GPIO_OTYPER_IDR_14)
3 S3 L7 A' K9 U; S" i#define READ_ENCODER_B           (GPIOC->IDR & GPIO_OTYPER_IDR_15) $ K- M0 ~! ^9 h

1 ]7 w8 p7 E2 h' T* D( xuint8_t g_u8_AngleSize =0;
/ C% ]; ~1 |6 J! j& z
4 i; e8 Q5 ?  |& `//-------------------编码器---------------------------------
  S1 ^% ]- y! d7 c// 在定时器 里面被调用,每 500us-1ms 之间均可
. q1 h) |7 h% F5 Xvoid KEY_EnCoderFunc(void)% ?/ V. w. r* S1 f
{
, F0 h0 |3 i: D0 n3 c# @4 z& q        static u16 oldbit = FALSE;) @( ^7 F* h" U% u2 ~2 l  ?

( J# N' [7 U3 H" q0 q        if (oldbit && (!READ_ENCODER_A)) //判断前后状态以识别是否发生下降沿
0 B  J( o: V" g1 J$ b  m        {
- Y( ^* Q+ }0 i' Z0 \0 N                if (READ_ENCODER_B)   //判断另一相电平' a& }& a8 r( W3 k7 z; d& z+ ~
                {( a7 p: \3 O. Y7 d& E
                        if (g_u8_AngleSize <= 235)! D0 D2 L7 j; M9 _1 `
                                g_u8_AngleSize += 5;
# k1 V$ ^9 \+ B                }
0 V- u: t; V) r1 F# M# j                else  Y4 U9 ^* S- G& l( K
                {
5 ~- P5 {: }0 s  H# W6 B1 ^1 l/ ]                        if (g_u8_AngleSize >= 35)+ Y5 C! w! J: M. a3 d; I
                                g_u8_AngleSize -= 5;$ e7 x# z' E  G6 A
                }9 R0 r7 S0 H/ v! |
        }6 }6 ?' G. D2 u

# b2 Y' [) i4 i2 i; z   oldbit = READ_ENCODER_A;    //刷新位暂存值        + d9 E- K2 x) z, o' o3 U
        
6 z" o6 t' k3 y3 D$ ~/ e) r; `
: l  h: t# A% n* O4 R% G}
# y% B: g$ v+ ]/ ^( h# O5 Y
) q' u1 f* T$ g) F* E5 f4 z* [
; ?7 w8 f3 Q2 A; u. O6 S
赞 收藏 评论0 发布时间:2020-11-3 14:42

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版