8658|0

291

帖子

5

TA的资源

纯净的硅(中级)

楼主
 

【CY8CKIT-149 PSoC 4100S测评】+新建空白工程(以Key-LED为例) [复制链接]

之前的探索都是在官方例程上进行修改,这次我们新建一个空白工程,并添加元件进行项目编写。
并以简单的按键控制LED的小例子进行介绍。

首先是新建一个空白工程,如下图:


完成后可以看到一个空白的原理图,左边项目列表也只有主函数,如下图:


我们可以打开主函数看一下,并先编译一下,如下图:


在原理图面部拉入一个输入Pin和一个输出Pin,输入作为按键的输入,输出作为控制LED亮灭,如下图:


板子上有一个用户按键(3.7)和一个用户LED(3.4),分配给引脚配置:


看一下板子原理图上用户按键和用户LED,按键按下是接地,LED需要高电平点亮:


先编译一下程序,报错,提升输出需要连接一个东西,如下图:


我们在原理图上不需要连接LED,可以将这个引脚去掉,双击进行,取消HW connection的勾选,如下图:


再次编译OK。
我们可以来写主函数了,想要实现的功能是按键按一下,LED的状态翻转一下,即按一下亮,再按一下灭。
写了一个延时函数用于按键消抖时使用。
定义bool变量控制LED的状态。
while(Pin_Key_Read()==0){}语句是等待按键松开。



  1. #include "project.h"

  2. void delay_ms(uint16 t)
  3. {
  4.         uint16 a,b,c;
  5.     for(a=100;a>0;a--)
  6.         for(b=114;b>0;b--)
  7.                    for(c=t;c>0;c--);
  8. }

  9. int main(void)
  10. {
  11.     CyGlobalIntEnable; /* Enable global interrupts. */

  12.     Pin_LED_Write(0);
  13.     /* Place your initialization/startup code here (e.g. MyInst_Start()) */
  14.     _Bool STATE=1;
  15.     for(;;)
  16.     {
  17.         /* Place your application code here. */
  18.         if(Pin_Key_Read()==0)
  19.         {
  20.             delay_ms(10);
  21.             if(Pin_Key_Read()==0)
  22.             {
  23.                 Pin_LED_Write(STATE);
  24.                 STATE=!STATE;
  25.                 while(Pin_Key_Read()==0){}
  26.             }
  27.         }
  28.     }
  29. }
复制代码


编译下载,LED却常亮,按键无效???
仔细分析,忘了给按键加上拉,因为此时按键引脚位悬空状态。

研究了一下key中的函数,发现好像没有函数可以用于配置上拉模式,最后在原理图界面找到了。
双击Pin_Key,驱动模式Drive mode选择Open drain,drives high(需要取消HW connection勾选),初始状态选择High,如下图:


再次编译下测,测试OK。
没有录视频,两张测试图片如下:



此帖出自单片机论坛
点赞 关注(1)
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表