stm8s003的PD4引脚比较特殊,主要有3个功能。
下面对不同功能进行设置讲解。
功能一,普通IO口:
普通IO就不详细讲了,stm8s的引脚设置就一句话,最多带中断多两句,很简单
功能二,TIM2_CH1输出
这个引脚可以使用TIM2的通道一进行PWM输出,在使用该功能的时候不需要设置标志位直接初始化即可。
代码如下:
void Beep_Tim2_Pwm_Init(uint16_t CCR1_Val)
{
/* Time base configuration */
TIM2_TimeBaseInit(TIM2_PRESCALER_16, 999);
/* PWM1 Mode configuration: Channel1 */
TIM2_OC1Init(TIM2_OCMODE_PWM1, TIM2_OUTPUTSTATE_ENABLE,CCR1_Val, TIM2_OCPOLARITY_HIGH);
TIM2_OC1PreloadConfig(ENABLE);
TIM2_ARRPreloadConfig(ENABLE);
/* TIM2 enable counter */
TIM2_Cmd(ENABLE);
}
上面的代码初始化完了之后就可以使用PD4引脚输出PWM了
另外值得一提的有两个函数:
TIM2_SetAutoreload(0x0000); //频率
TIM2_SetCompare1(0x0000); //占空比
第一个函数修改输出PWM的频率,第二个函数修改输出PWM的占空比。
功能三,BEEP引脚:
这个引脚可以直接驱动蜂鸣器,但是在使用的时候需要设置option。
可以在stvp软件中设置,也可以用如下代码设置: