亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標題: STM32學習(設置TIM4輸出4路 pwm J-LINK仿真驗證)源碼與教程 [打印本頁]

作者: 沙漠之痕    時間: 2018-11-26 13:14
標題: STM32學習(設置TIM4輸出4路 pwm J-LINK仿真驗證)源碼與教程
STM32F103C8T6:
stm32的pwm輸出只要設置好在主循環(huán)前調(diào)用一次即可, 對用的IO就可以持續(xù)的輸出PWM
TIM4配置PWM過程程序:



J-LINK仿真配置

1. 選擇“ Options for Target” 選項


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


3. 配置好編譯下




4.  選擇Debug模式調(diào)試


5. 進入Debug模式后選擇

6. 配置pwm輸出引腳








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

7. 開始仿真運行







貼一下程序記錄下:
  1. /*
  2. //TIM4 CH1 PWM 輸出設置
  3. //PWM 輸出初始化
  4. //arr:自動重裝值
  5. //psc:時鐘預分頻數(shù)
  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; //向上計數(shù)
  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); //根據(jù)指定的參數(shù)初始化外設 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); //根據(jù)指定的參數(shù)初始化外設 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); //根據(jù)指定的參數(shù)初始化外設 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); //根據(jù)指定的參數(shù)初始化外設 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. }
復制代碼


作者: 來生只想做頭豬    時間: 2018-11-27 10:07
多謝大佬的教程,很多時候我也想發(fā)些什么,但是技術達不到,怕誤人




歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1