OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4691|回复: 2

pwm 让 PB9输出32k方波

[复制链接]

9

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
144
金钱
144
注册时间
2013-6-29
在线时间
12 小时
发表于 2014-2-13 17:18:32 | 显示全部楼层 |阅读模式
我目前需要的功能是让stm32f103c8t6的PB9脚产生32k方波
请问如何实现。
我用pwm实现,大家帮忙看看哪里不对。

//定时器初始化结构
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
//定时器通道初始化结构
TIM_OCInitTypeDef TIM_OCInitStructure;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4,ENABLE);

TIM_TimeBaseStructure.TIM_Period = 2196;     //F103
//设置预设分频:
TIM_TimeBaseStructure.TIM_Prescaler = 0;

TIM_TimeBaseStructure.TIM_ClockDivision = 0; //设置时钟分频系数:
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;//向上计数模式
TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure);

//PWM1 Mode configuration: Channel3
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; //配置为PWM模式1

TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
//设置跳变值,当计数器计数到这个值时,电平发生跳变

TIM_OCInitStructure.TIM_Pulse = 1098;   //F103
//当定时器计数值小于CCR1——Val 时为高电平
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;

TIM_OC3Init(TIM4, &TIM_OCInitStructure);//使能通道3
TIM_OC3PreloadConfig(TIM4, TIM_OCPreload_Enable);

TIM_ARRPreloadConfig(TIM4, ENABLE);
//使能定时器4
TIM_Cmd(TIM4, ENABLE);

这里没有说让PB9输出呀,这里没搞懂,如何处理
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2014-2-13 18:11:14 | 显示全部楼层
TIM_OC3表示初始化的TIM4_CH3,对应的应该是PB8吧,你查datasheet,看引脚描述部分
博观而约取,厚积而薄发。
回复 支持 反对

使用道具 举报

9

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
144
金钱
144
注册时间
2013-6-29
在线时间
12 小时
 楼主| 发表于 2014-2-15 09:13:22 | 显示全部楼层
回复【2楼】745021926:
---------------------------------
谢谢,就是这个问题
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-9 10:43

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表