本实现通过控制PWM输出做一个呼吸灯。开发板Cypress Psoc 4100 plus 系列MCU型号:CY8C4147AZI-S475;
1.新建一个工程
File—>New----->Project,选择Target,然后选择芯片型号
在接下来的界面选择一个空的工程,然后在弹出的界面中填写工程名称,工作区间名称和保存的路径;
2.添加组件
双击IDE右边TopDesign.cysch在左侧的Cypress Component中添加原理图组件;本实验中添加了一个PWM,一个IO,一个时钟源;
蓝色框中的可以不用添加,连接为了直观表达实际上的硬件电路;对代码生成没有影响;
3.将添加的组件绑定到芯片引脚
点击IDE右侧PWM_LED.cydwr,根据实际的硬件电路,在右侧选择需要绑定的引脚;本实验中需要绑定IO口作为输出,控制LED;
注意:PWM_LED是本实验的工程名;
4.Build工程生成代码
uint16_t PWM_Num=0;
uint8_t state=0;
int main(void)
{
CyGlobalIntEnable; /* Enable global interrupts. */
PWM_LED_Start();
/* Place your initialization/startup code here (e.g. MyInst_Start()) */
for(;;)
{
if(!state)
{
if(PWM_Num++>=1000)
{
state=1;
}
}
else
{
if(--PWM_Num==0)
{
state=0;
}
}
PWM_LED_WriteCompare(PWM_Num);
CyDelay(1);
/* Place your application code here. */
}
}
通过设置PWM不同的比较植,来控制PWM电平的脉宽,实现LED呼吸灯;