你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32G030F6使用CubeMx配置PWM实验

[复制链接]
STMCU小助手 发布时间:2021-11-11 22:00
1. 使用 CubeMx 创建 PWM 工程
打开 CubeMx 软件,选中我们此次使用的单片机型号 STM32G030F6P6 ,点击 StartProject.

配置定时器
2021012919392522.png



配置定时器1的通道1和通道2 产生PWM;
设置定时器1的主频:设置了( 63 + 1) 分频即定时器主频为1M
设置PWM定时的周期计数为 1000 即 1000HZ

20210129194500268.png


设置通道一 翻转的计数值为 500 即占空比为 50%
设置通道二 翻转的计数值为 200 即占空比为 20%

配置时钟
20210129194625281.png


使用内部高速时钟,将主频倍频到64MHZ

配置工程相关选项

20210129194748518.png



配置完成后点击右上角 GENERATE CODE完成工程的创建

2. 编程
定时器的初始化函数都已经由CubeMx生成,我们仅需要打开 PWM的使能即可

  1. /**
  2.   * @brief  The application entry point.
  3.   * @retval int
  4.   */
  5. int main(void)
  6. {
  7.     /* USER CODE BEGIN 1 */

  8.     /* USER CODE END 1 */

  9.     /* MCU Configuration--------------------------------------------------------*/

  10.     /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  11.     HAL_Init();

  12.     /* USER CODE BEGIN Init */

  13.     /* USER CODE END Init */

  14.     /* Configure the system clock */
  15.     SystemClock_Config();

  16.     /* USER CODE BEGIN SysInit */

  17.     /* USER CODE END SysInit */

  18.     /* Initialize all configured peripherals */
  19.     MX_GPIO_Init();
  20.     MX_TIM1_Init();
  21.     /* USER CODE BEGIN 2 */
  22.     HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1);   //1000HZ 50%占空比的PWM
  23.     HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_2);   //1000HZ 20%占空比的PWM
  24.     /* USER CODE END 2 */

  25.     /* Infinite loop */
  26.     /* USER CODE BEGIN WHILE */
  27.     while(1)
  28.     {
  29.         /* USER CODE END WHILE */

  30.         /* USER CODE BEGIN 3 */
  31.     }
  32.     /* USER CODE END 3 */
  33. }
复制代码

可以使用一下函数修改PWM的占空比

  1. // 使用此宏定义修改占空比
  2. __HAL_TIM_SetCompare(__HANDLE__, __CHANNEL__, __COMPARE__)
复制代码
例如:

  1. // 将定时器1的通道1 翻转计数修改为 800,在我们的例程上正好就是800/1000 即 80% 的占空比
  2. __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1,800);
复制代码

3. 实验现象
编译并将工程下载到开发板后,使用示波器或者逻辑分析器查看 PA8 和 PB3 引脚是否输出 1000HZ 且占空比分别为 50% 和 20% 的方波。



收藏 评论0 发布时间:2021-11-11 22:00

举报

0个回答

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版