[PSOC™] PSOC4点灯

[复制链接]
 楼主| huahuagg 发表于 2025-6-27 20:21 | 显示全部楼层 |阅读模式
1. 硬件配置(PSoC Creator)
1.1 创建工程
打开PSoC Creator,新建工程(File → New → Project...),选择目标器件(如CY8C4245AXI-483)。

在原理图设计界面(*.cysch)中拖放所需组件。

1.2 添加组件
LED硬件连接:

拖放一个 Digital Output Pin 组件,重命名为LED。

配置引脚属性:

Drive Mode: Strong Drive(默认)

Initial State: 0(初始低电平)

分配物理引脚(如P0[0]),根据实际电路连接调整。

时钟配置(可选):

若需精确延时,拖放 Clock 组件(如CLK_LF),配置频率(例如1kHz)。

1.3 生成代码
点击 Build(或按F5)生成基础代码框架,自动初始化引脚。

 楼主| huahuagg 发表于 2025-6-27 20:21 | 显示全部楼层
  1. #include "project.h"
  2. #include <stdio.h>

  3. int main(void)
  4. {
  5.     CyGlobalIntEnable;  // 启用全局中断

  6.     for(;;)
  7.     {
  8.         LED_Write(1);    // LED亮
  9.         CyDelay(500);    // 延时500ms(使用系统默认时钟)
  10.         
  11.         LED_Write(0);    // LED灭
  12.         CyDelay(500);    // 延时500ms
  13.     }
  14. }
 楼主| huahuagg 发表于 2025-6-27 20:21 | 显示全部楼层
关键函数说明
LED_Write(uint8_t value):控制LED引脚电平(1=高,0=低)。

CyDelay(uint32_t milliseconds):毫秒级延时函数(基于系统时钟)。
 楼主| huahuagg 发表于 2025-6-27 20:22 | 显示全部楼层
使用定时器实现精准闪烁(替代CyDelay)
硬件配置:

拖放 TCPWM 组件(定时器),配置为周期触发(如1Hz)。

启用中断,连接至isr_timer。
  1. #include "project.h"

  2. volatile uint8_t led_toggle = 0;
  3. CY_ISR(isr_timer_Handler)
  4. {
  5.     led_toggle ^= 1;       // 翻转状态
  6.     LED_Write(led_toggle);  // 更新LED
  7.     Timer_ClearInterrupt(); // 清除中断标志
  8. }

  9. int main(void)
  10. {
  11.     CyGlobalIntEnable;
  12.     isr_timer_StartEx(isr_timer_Handler); // 启动中断
  13.     Timer_Start();                         // 启动定时器

  14.     for(;;) { /* 空循环,由中断处理LED */ }
  15. }

 楼主| huahuagg 发表于 2025-6-27 20:22 | 显示全部楼层
使用PWM调光
拖放 PWM 组件,输出连接至LED引脚,通过PWM_Start()和PWM_WriteCompare()调节亮度。
编译与下载
点击 Build 编译工程,连接开发板(如CY8CKIT-042)。

使用 MiniProg4 或 KitProg 下载程序(点击 Program 按钮)。
 楼主| huahuagg 发表于 2025-6-27 20:22 | 显示全部楼层
实际电路连接
LED连接方式:

PSoC GPIO → 限流电阻(如220Ω) → LED阳极 → LED阴极 → GND。

注意事项:

确认GPIO电压(通常3.3V)与LED规格匹配。
yiyigirl2014 发表于 2025-6-28 12:05 | 显示全部楼层
原来比开发单片机还容易。学它。
梅花香自123 发表于 2025-6-30 23:51 | 显示全部楼层
掌握这些技巧可以更高效地完成 PSoC 硬件配置,后续你可以进一步扩展功能,如添加 PWM 调光、电容触摸感应等更复杂的应用。
jobszheng 发表于 2025-7-1 09:43 | 显示全部楼层
英飞凌的工具软件还是蛮实用的。
我在使用ModusToolBox时,看着其外设初始化代码生成真是舒服。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

159

主题

1408

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部