查看: 2151|回复: 1

[求助] 關於GPIO腳位與地線對接問題

[复制链接]

该用户从未签到

1

主题

1

帖子

0

注册会员

Rank: 2

积分
71
最后登录
2019-5-17
发表于 2019-5-15 16:01:48 | 显示全部楼层 |阅读模式
本帖最后由 lieak59 于 2019-5-15 16:24 编辑

先上代碼
  1. #include "derivative.h" /* include peripheral declarations SKEAZ128M4 */

  2. #define PTE7 7
  3. //#define OUTPUT_TOGGLE(PTE,PTE7)

  4. #define PTI5 5        /* Port PTE4, bit 4: input from BTN0*/

  5. #define PTI4 4


  6. int main(void) {

  7.         GPIOC_PDDR &= ~(1<<PTI4);
  8.         GPIOC_PIDR &= ~(1<<PTI4);
  9.         PORT_PUE2 |= 1<<PTI4;

  10.         GPIOC_PDDR &= ~(1<<PTI5);
  11.         GPIOC_PIDR &= ~(1<<PTI5);
  12.         PORT_PUE2 |= 1<<PTI5;
  13.       

  14.         GPIOB_PDDR |= 1<<PTE7;
  15.         GPIOB_PIDR &= 1<<PTE7;

  16.   for(;;) {
  17.     if (GPIOC_PDIR & (1<<PTI4))  {        /* If Pad Data Input = 1 (BTN0 [SW2] not pushed) */

  18.             GPIOB_PCOR |= 1<<PTE7;                /* Set Output on port E7 (LED off) */

  19.     }else if (GPIOC_PDIR & (1<<PTI5))  {        /* If Pad Data Input = 1 (BTN0 [SW2] not pushed) */

  20.             GPIOB_PCOR |= 1<<PTE7;                /* Set Output on port E7 (LED off) */

  21.     }

  22.     else {                                                        /* If BTN0 was pushed */

  23.             GPIOB_PSOR |= 1<<PTE7;                /* Clear Output on port E7 (LED on) */

  24.     }
  25.   }
  26. }

复制代码



上面的寫法 }else if (GPIOC_PDIR & (1<<PTI5)) { 是不會作動的  

兩個都寫if     if (GPIOC_PDIR & (1<<PTI4))會不作動


目前要用這類似HIGH LOW的東西來寫控制馬達

能否求助? 我有點束手無策


我知道答案 目前已有1人回答
回复

使用道具 举报

该用户从未签到

723

主题

6382

帖子

0

超级版主

Rank: 8Rank: 8

积分
25450
最后登录
2025-9-4
发表于 2019-5-16 10:07:14 | 显示全部楼层
检查一下GPIO时钟是否使能了,建议可以参考此链接的代码分享
https://www.nxpic.org.cn/module/forum/thread-603403-1-1.html
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-9-6 23:01 , Processed in 0.092220 second(s), 22 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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