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

STM32G071RB TIM DMA

[复制链接]
STMCU小助手 发布时间:2022-12-15 13:31
1 实现的波形效果

532a8d9b67c7471a9d1658b97f49aa04.png

2 CubeMX设置

d4d2391766c7487eae02ef0753a13e62.png


c7f64c68cab743eeaba9529a929cac04.png


27276d4cb1a741c8bda5edb854a1edcb.png

3 自动生成代码后要修改一下
MX_DMA_Init();这个函数要在MX_TIM1_Init();之前的位置


  1. int main(void)
  2. {
  3.   /* USER CODE BEGIN 1 */

  4.   /* USER CODE END 1 */

  5.   /* MCU Configuration--------------------------------------------------------*/

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

  8.   /* USER CODE BEGIN Init */

  9.   /* USER CODE END Init */

  10.   /* Configure the system clock */
  11.   SystemClock_Config();

  12.   /* USER CODE BEGIN SysInit */

  13.   /* USER CODE END SysInit */

  14.   /* Initialize all configured peripherals */
  15.   MX_GPIO_Init();
  16.   MX_DMA_Init();
  17.   MX_TIM1_Init();
  18.   MX_USART2_UART_Init();
  19.   /* USER CODE BEGIN 2 */
复制代码

4 添加波形需要的数据,建立一个数组

  1. /* Private user code ---------------------------------------------------------*/
  2. /* USER CODE BEGIN 0 */
  3. uint32_t dTime_data[20]={200,500,1000,1500,2000,2500,3000,3500,4000,4500,5000,00,5500,6000,6500,7000,7500,8000,9000,9500};
  4. /* USER CODE END 0 */
复制代码

5 添加TIM_DMA启动函数

  1.   /* USER CODE BEGIN 2 */
  2.        
  3.         HAL_Delay(500);

  4.   if( HAL_TIM_PWM_Start_DMA(&htim1,TIM_CHANNEL_3,dTime_data,20) != HAL_OK )
  5.         {
  6.                 Error_Handler();
  7.         }

  8.   /* USER CODE END 2 */

  9.   /* Infinite loop */
  10.   /* USER CODE BEGIN WHILE */
  11.   while (1)
  12.   {
  13.     /* USER CODE END WHILE */

  14.     /* USER CODE BEGIN 3 */
  15.   }
  16.   /* USER CODE END 3 */
复制代码

7 结束
调试了好几天,因为DMA设置问题,默认了CubeMX的参数,一直调不出来,后来改成Memory To Peripheral
还有一个问题点,就是CubeMX生成的代码,MX_DMA_Init();这个函数要在MX_TIM1_Init();之前的位置,这个问题是通过参考ST官方代码找到的
————————————————
版权声明:xyang18


收藏 评论0 发布时间:2022-12-15 13:31

举报

0个回答

所属标签

相似分享

官网相关资源

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