stm8s003 PD4引脚多个功能应用指南
来源:互联网 发布:js 数组 unshift 编辑:程序博客网 时间:2024/05/01 14:27
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软件中设置,也可以用如下代码设置:
初始化代码:
void Beep_Init(BEEP_Frequency_TypeDef BEEP_Frequency){ CLK_LSICmd(ENABLE); BEEP_LSICalibrationConfig(128000); BEEP_Init(BEEP_Frequency); BEEP_Cmd(ENABLE);}
void Set_Beep_OptionByte(void){ uint16_t Beep_Option_status; Beep_Option_status=FLASH_ReadOptionByte(0x4803); if(Beep_Option_status&0x8000) { FLASH_ProgramOptionByte(0x4803,(uint8_t)(Beep_Option_status&0x7fff)); }}
最后值得一提的是BEEP功能的频率使用很有限
typedef enum { BEEP_FREQUENCY_1KHZ = (uint8_t)0x00, /*!< Beep signal output frequency equals to 1 KHz */ BEEP_FREQUENCY_2KHZ = (uint8_t)0x40, /*!< Beep signal output frequency equals to 2 KHz */ BEEP_FREQUENCY_4KHZ = (uint8_t)0x80 /*!< Beep signal output frequency equals to 4 KHz */} BEEP_Frequency_TypeDef;
在ST的库函数中仅定义了1KHZ , 2KHZ , 4KHZ
实话实说,不如直接用TIM2_CH1输出PWM灵活,不过当你用TIM2做其他功能的时候,这个引脚初始化为BEEP也可以多个方案选择。
0 0
- stm8s003 PD4引脚多个功能应用指南
- stm32 引脚功能设定及应用
- 多引脚的编程应用
- 打印口引脚功能
- 8086CPU引脚功能
- stm8s003MCU_PWM_引脚功能配置
- rs232 各引脚功能
- SN75176的引脚功能
- 新唐cortex-m0一个霸气的功能,48个引脚都可以产生中断
- STM32第二功能引脚映射
- 课程回顾--AT89S51引脚功能
- ZYNQ部分功能引脚定义
- LCD1602主要参数,引脚功能及初始化方法
- IC卡铜片引脚序号及功能
- MSP430 G2553 寄存器列表与引脚功能
- 用作使能功能的引脚
- ZYNQ部分功能引脚定义(转)
- C51 引脚功能定义,内部框图
- 在线支付功能的实现
- c/s角度看待JavaBean,及关于内省
- html5+原生 js互调
- proxifier安装激活使用
- 团体程序设计天梯赛L1-025 正整数A+B
- stm8s003 PD4引脚多个功能应用指南
- Get element by JavaScript
- mysql的collation区分大小写设置
- 算法导论 练习题 4.3-9
- NFS服务器的配置
- cout<< 精度控制 setprecision、fixed、showpoint的用法总结
- Spring、Spring MVC、MyBatis整合文件配置详解
- Linux fcntl函数详解
- 有效解决VS2008在虚拟机中的WIN7下安装提示vs_bsln.exe无法解压