STM32+按键调控PWM输出+串口输出占空比.doc

STM32+按键调控PWM输出+串口输出占空比.doc

ID:55955572

大小:23.50 KB

页数:5页

时间:2020-06-18

STM32+按键调控PWM输出+串口输出占空比.doc_第1页
STM32+按键调控PWM输出+串口输出占空比.doc_第2页
STM32+按键调控PWM输出+串口输出占空比.doc_第3页
STM32+按键调控PWM输出+串口输出占空比.doc_第4页
STM32+按键调控PWM输出+串口输出占空比.doc_第5页
资源描述:

《STM32+按键调控PWM输出+串口输出占空比.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、#include"STM32Lib\stm32f10x.h"#include"hal.h"/********************************************************************************FunctionName :GPIO_Configuration*设置PD3,PD4,PD5,PD6为键盘输入*设置PB0,5,8,9;PC5,7;PD7;PA8为输出LED灯***********************************************

2、********************************/voidGPIO_Configuration(void){ GPIO_InitTypeDefGPIO_InitStructure; /*允许总线CLOCK,在使用GPIO之前必须允许相应端的时钟. 从STM32的设计角度上说,没被允许的端将不接入时钟,也就不会耗能, 这是STM32节能的一种技巧,*/  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); RCC_APB2PeriphClockCmd(

3、RCC_APB2Periph_GPIOB,ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);/*PC8按键输入*/ GPIO_InitStructure.GPIO_Pin= GPIO_Pin_8; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;  //上拉输入 GPIO_Init(GPIOC,&GPIO_InitStructure);/*PC9按键输入*/ GPIO_InitStructure.GPIO_Pi

4、n= GPIO_Pin_9; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;  //上拉输入 GPIO_Init(GPIOC,&GPIO_InitStructure);}hal.h#ifndefHAL_H#defineHAL_H//硬件初始化externvoid ChipHalInit(void);externvoid ChipOutHalInit(void);//输入宏定义#defineGET_LEFT() (GPIO_ReadInputDataBit(GPIOC,GPIO_P

5、in_8))#defineGET_RIGHT() (GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_9))externvoidUSART1_Putc(u8c);externvoidUSART_Configuration(void);externvoidUSART1_Puts(char*str);#endifTIM.c#include"STM32Lib\stm32f10x.h"voidTim1_Configuration(void){ TIM_TimeBaseInitTypeDef TIM_T

6、imeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure;GPIO_InitTypeDefGPIO_InitStructure;/*PA8设置为功能脚(PWM)*/ GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;  GPIO_Init(GPIOA,&

7、GPIO_InitStructure); RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE); TIM_DeInit(TIM1);/*TIM1时钟配置*/ TIM_TimeBaseStructure.TIM_Prescaler=72;      //预分频(时钟分频)72M/72=1000K TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;  //向上计数 TIM_TimeBaseStructure.TI

8、M_Period=2000;       //装载值1000k/2000=500hz TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1; TIM_TimeBaseStructure.TIM_RepetitionCounter=0x0; TIM_TimeBaseInit(TIM

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。