全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
这是main.c 主程序/这是STM32F103ZE的一个模板/在PA8 PB13 产生一个互补的PWM波,频率为10KHz,占空比为1/5#include stm32f10x.hBitAction bbt=0; /定义一个位变量 bbt,并清0u16 i;int main(void) u16 InitValue,Pre_Divide,ZKB; SystemInit(); /系统时钟初始化,调用该函数后,系统时钟为72M,函数原形在system_stm32f10x.c中 GPIO_init();/*TIM1_PWM波1通道设置* InitValue=7200; /初值1000 Pre_Divide=1; /预分频1 ZKB=1200; /占空比 TIM1_PWM_1_init(InitValue,Pre_Divide,ZKB); /TIM1-CCR1=2400; /修改占空比/*while(1) / 这是sysinit.c 系统程序#include stm32f10x.hvoid GPIO_init() GPIO_InitTypeDef GPIO_InitStructure; /声明端口结构,需要放在前面 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB,ENABLE); /开启相应端口时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);/*端口A8,A9,A10是TIM1_PWM波的输出端* GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; /PWM波设为复用推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; /端口频率可设为2,10,50 GPIO_Init(GPIOA, &GPIO_InitStructure); /启动A端口/*/*端口B13,B14,B15是TIM1_PWM波的互补输出端* GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; /端口频率可设为2,10,50 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP; /PWM波的复用推挽输出 GPIO_Init(GPIOB,&GPIO_InitStructure); /启动B端口/*/*TIM1_PWM波1通道初始化*void TIM1_PWM_1_init(u16 InitValue, u16 Pre_Divide, u16 CCR1_Val) TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; TIM_BDTRInitTypeDef TIM_BDTRInitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); TIM_TimeBaseStructure.TIM_Period =InitValue; TIM_TimeBaseStructure.TIM_Prescaler =Pre_Divide-1; TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Down; TIM_TimeBaseStructure.TIM_RepetitionCounter=0; TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); TIM_ARRPreloadConfig(TIM1,ENABLE); /使能TIM1在ARR上的预装载寄存器 TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;/ 选择定时器模式 TIM脉冲宽度调制模式1 TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; /选择输出比较状态 TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable;/选择互补输出比较状态 TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; /选择输出极性 TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High; /选择互补输出极性 TIM_OCInitStructure.TIM_Pulse = CCR1_Val; /设置待装入捕获比较寄存器的脉冲值 TIM_OC1Init(TIM1, &TIM_OCInitStructure);/捕获比较匹配器结构1通道赋值 TIM_OC1PreloadConfig(TIM1, TIM_OCPreload_Enable); /使能TIM1在CCR1上的预装载寄存器/死区设置 TIM_BDTRInitStructure.TIM_OSSRState = TIM_OSSRState_Enable;/TIM1_OSSRState设置在运行模式下非工作状态选项 TIM_BDTRInitStructure.TIM_OSSIState = TIM_OSSIState_Enable;/TIM1_OSSIState设置在空闲模式下非工作状态选项(使能TIM1 OSSI状态) TIM_BDTRInitStructure.TIM_LOCKLevel = TIM_LOCKLevel_OFF; /TIM1_LOCKLevel设置了锁电平参数(不锁任何位) TIM_BDTRInitStructure.TIM_DeadTime = 0x90; /这里调整死区大小0-0xff,TIM1_DeadTIM1指定了输出打开和关闭状态之间的延时 TIM_BDTRInitStructure.TIM_Break = TIM_Break_Disable; /TIM1_Break使能或者失能TIM1刹车输入(失能TIM1刹车输入) TIM_BDTRInitStructure.TIM_BreakPolarity = TIM_BreakPolarity_High;/TIM1_BreakPolarity设置TIM1刹车输入管脚极性(TIM1刹车输入管脚极性高) TIM_BDTRInitStructure.TIM_AutomaticOutput = TIM_AutomaticOutput_Enable;/TIM1_AutomaticOutput使能或者失能自动输出功能(自动输出功能使能) TIM_BDTRConfig(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 项目进度跟进日志模板实时监控
- 企业运营成本控制与管理综合工具
- 市场营销策略策划及执行表
- 供应链管理流程优化工具供应商选择与订单跟进
- 夏日海滩的回忆写景抒情作文8篇
- 员工手册模板公司规章制度与文化传播
- 打糕行业深度研究报告
- 企业文化传播模板品牌建设与价值观传递
- 中国草制品编织项目投资可行性研究报告
- 中国清洗盘项目投资可行性研究报告
- 智能化宽带网络网关(iBNG)技术白皮书
- 工程合同续签协议范本
- 检验科标本溢洒处理流程与规范
- 起重机培训课件桥式起重机
- 峰飞V2000CG型无人驾驶航空器系统项目专用条件
- 《秋季腹泻》课件
- 设备损坏赔偿协议书
- 校长为第一责任制度
- 2025年北京市第一次普通高中学业水平合格性考试(学考)化学试卷(原卷版+解析版)
- 3.新教材七上【高效课堂精研】10《往事依依》
- 【MOOC】《大学计算机基础》(北京航空航天大学)章节作业中国大学慕课答案
评论
0/150
提交评论