STM32 Keil C 软件调试 TIM3 重映射 PB5 AFIO复用功能模块 PWM 输出高低电平控制

1.  点击魔术棒

2. Debug-> Use Simulator

修改 Dialog DLL:    "DARMSTM.DLL"

修改Parameter:          "-pSTM32F103ZE" 

3. 回到主程序, 点击debug

4. 点击 Logic Analyzer

 

GPIO外设   和   AFIO复用功能模块  时钟

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB  | RCC_APB2Periph_AFIO, ENABLE);  //使能GPIO外设和AFIO复用功能模块时钟

TIMER3 重映射:

 GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3, ENABLE); //Timer3部分重映射  TIM3_CH2->PB5    

TIM_OCMode_PWM1

TIM_OCMode_PWM2   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是使用Keil MDK5初始化STM32F103C8T6的TIM4输出PWM波的步骤: 1. 打开Keil MDK5软件,创建一个新的工程,并选择STM32F103C8T6芯片类型。 2. 在工程中添加一个.c文件,例如main.c,并将下面的代码复制到文件中: ``` #include "stm32f10x.h" int main(void) { // 使能TIM4时钟 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE); // 初始化GPIO引脚 GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); // 初始化TIM4 TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct; TIM_TimeBaseInitStruct.TIM_Period = 1000 - 1; TIM_TimeBaseInitStruct.TIM_Prescaler = 72 - 1; TIM_TimeBaseInitStruct.TIM_ClockDivision = TIM_CKD_DIV1; TIM_TimeBaseInitStruct.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM4, &TIM_TimeBaseInitStruct); // 初始化TIM4通道2 TIM_OCInitTypeDef TIM_OCInitStruct; TIM_OCInitStruct.TIM_OCMode = TIM_OCMode_PWM1; TIM_OCInitStruct.TIM_OutputState = TIM_OutputState_Enable; TIM_OCInitStruct.TIM_Pulse = 500 - 1; TIM_OCInitStruct.TIM_OCPolarity = TIM_OCPolarity_High; TIM_OC2Init(TIM4, &TIM_OCInitStruct); // 启动TIM4 TIM_Cmd(TIM4, ENABLE); while (1) { } } ``` 3. 在工程中添加一个头文件,例如stm32f10x.h,并将其包含在main.c文件中。 4. 在工程中添加一个新的设备,例如TIM4,并将其配置为PWM模式。 5. 编译并下载程序到STM32F103C8T6芯片中。 6. 连接一个LED灯到PB9引脚,并连接一个电阻到GND引脚。 7. 启动程序,LED灯应该开始以50%的占空比闪烁。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值