久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6267|回復: 1
收起左側

STM32學習(設置TIM4輸出4路 pwm J-LINK仿真驗證)源碼與教程

[復制鏈接]
ID:81424 發表于 2018-11-26 13:14 | 顯示全部樓層 |閱讀模式
STM32F103C8T6:
stm32的pwm輸出只要設置好在主循環前調用一次即可, 對用的IO就可以持續的輸出PWM
TIM4配置PWM過程程序:
A.png


J-LINK仿真配置

1. 選擇“ Options for Target” 選項

1.png

2. 在“ Debug” 中選擇“Use Simulator" 注意下面的配置
2.png

3. 配置好編譯下
3.png



4.  選擇Debug模式調試
4.png

5. 進入Debug模式后選擇
5.png
6. 配置pwm輸出引腳
6.png

7.png



8.png

配置好輸出引腳直接”close“掉

7. 開始仿真運行

9.png


0.png


貼一下程序記錄下:
  1. /*
  2. //TIM4 CH1 PWM 輸出設置
  3. //PWM 輸出初始化
  4. //arr:自動重裝值
  5. //psc:時鐘預分頻數
  6. STM32F103C8T6
  7. PB6 - TIM4_CH1
  8. PB7 - TIM4_CH2
  9. PB8 - TIM4_CH3
  10. PB9 - TIM4_CH4
  11. */
  12. void Tim4_PWM_Init(u16 arr,u16 psc)
  13. {
  14.         GPIO_InitTypeDef GPIO_InitStructure;
  15.     TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
  16.     TIM_OCInitTypeDef TIM_OCInitStructure;

  17.         RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE); //使能 TIMx 外設
  18.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //使能 PB 時鐘
  19.         TIM_DeInit(TIM4);

  20.   //設置該引腳為復用輸出功能,輸出 TIM4 CH1 的 PWM 脈沖波形
  21.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9; //TIM4_CH1
  22.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //復用功能輸出
  23.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  24.         GPIO_Init(GPIOB, &GPIO_InitStructure); //初始化 GPIO

  25.         TIM_TimeBaseStructure.TIM_Period = arr; //設置自動重裝載周期值
  26.         TIM_TimeBaseStructure.TIM_Prescaler =psc; //設置預分頻值 不分頻
  27.         TIM_TimeBaseStructure.TIM_ClockDivision = 0; //設置時鐘分割:TDTS = Tck_tim
  28.         TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //向上計數
  29.         TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure); //初始化 TIMx
  30.         
  31.         
  32.         TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2; //CH1 PWM2 模式
  33.         TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //比較輸出使能
  34.         TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Disable;
  35.         
  36.         
  37.         TIM_OCInitStructure.TIM_Pulse = 200; //設置待裝入捕獲比較寄存器的脈沖值
  38.         TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; //OC1 高電平有效
  39.         TIM_OC1Init(TIM4, &TIM_OCInitStructure); //根據指定的參數初始化外設 TIMx
  40.         TIM_OC2PreloadConfig(TIM4, TIM_OCPreload_Enable); //CH1 預裝載使能
  41.         
  42.         
  43.         TIM_OCInitStructure.TIM_Pulse = 400; //設置待裝入捕獲比較寄存器的脈沖值
  44.         TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; //OC2 高電平有效
  45.         TIM_OC2Init(TIM4, &TIM_OCInitStructure); //根據指定的參數初始化外設 TIMx
  46.         TIM_OC2PreloadConfig(TIM4, TIM_OCPreload_Enable); //CH2 預裝載使能
  47.         
  48.         
  49.         TIM_OCInitStructure.TIM_Pulse = 600; //設置待裝入捕獲比較寄存器的脈沖值
  50.         TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; //OC1 高電平有效
  51.         TIM_OC3Init(TIM4, &TIM_OCInitStructure); //根據指定的參數初始化外設 TIMx
  52.         TIM_OC3PreloadConfig(TIM4, TIM_OCPreload_Enable); //CH3 預裝載使能
  53.         
  54.         
  55.         TIM_OCInitStructure.TIM_Pulse = 800; //設置待裝入捕獲比較寄存器的脈沖值
  56.         TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; //OC1 高電平有效
  57.         TIM_OC4Init(TIM4, &TIM_OCInitStructure); //根據指定的參數初始化外設 TIMx
  58.         TIM_OC4PreloadConfig(TIM4, TIM_OCPreload_Enable); //CH4 預裝載使能
  59.         
  60.         
  61.         TIM_ARRPreloadConfig(TIM4, ENABLE); //使能 TIMx 在 ARR 上的預裝載寄存器
  62. //        TIM_CtrlPWMOutputs(TIM4,ENABLE);  //MOE 主輸出使能,高級定時器必須開啟
  63.         TIM_Cmd(TIM4, ENABLE); //使能 TIMx
  64. }
復制代碼

評分

參與人數 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:406128 發表于 2018-11-27 10:07 | 顯示全部樓層
多謝大佬的教程,很多時候我也想發些什么,但是技術達不到,怕誤人
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕欧美在线 | 精品国产精品三级精品av网址 | 日韩成人在线播放 | 日本视频在线免费观看 | 精品久久一区二区 | 在线观看免费毛片 | 国产精品视频网站 | 国产免费一区二区三区免费视频 | 中文字幕在线一区二区三区 | a级片在线观看 | 一级大片免费看 | 国产精品久久 | 久久精品国产精品 | 秋霞午夜鲁丝一区二区老狼 | 97视频免费 | 依人在线| 成人三级视频在线观看 | 九九视频在线观看 | 中文字幕在线观看网址 | 欧美激情一区二区三区 | 国产一区二区日韩 | 国产精品成人一区二区 | 国产a级大片 | 在线播放中文字幕 | 国产成人三级一区二区在线观看一 | 日韩视频在线观看免费 | 五月婷婷婷 | 日韩国产精品视频 | 长河落日连续剧48集免费观看 | 国产乱人乱偷精品视频 | 精品久久久久久久久久久久久久久久 | 午夜视频网 | 亚洲综合另类 | 伊人久久中文字幕 | 亚洲国产成人av | 4虎最新网址 | 日本免费在线视频 | 国产小视频在线 | 国产aaaaaa| 欧美日韩中文字幕在线观看 | 黄视频网站在线观看 |