STM32 CUBEMX 配置spi sdio UART+DMA ...踩坑集合

配置sdio默认程序没有调用

HAL_SD_Init(&hsd1);
HAL_SD_ConfigWideBusOperation(&hsd1, SDMMC_BUS_WIDE_4B);

加在MX_SDMMC1_SD_Init后 即可;

 

配置SPI默认程序没有调用

    __HAL_SPI_ENABLE(&hspix);                  

    SPI1_WriteByte(0Xff);

加在spi初始化最后即可。                     

 

HAL_UART.C

static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma)
{
  UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);

  /* DMA Normal mode */
  if (HAL_IS_BIT_CLR(hdma->Instance->CCR, DMA_CCR_CIRC))
  {
    huart->TxXferCount = 0U;

    /* Disable the DMA transfer for transmit request by resetting the DMAT bit
       in the UART CR3 register */
    CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);

    /* Enable the UART Transmit Complete Interrupt */
    SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
        
        /* Check if a transmit process is ongoing or not */
    huart->RxState = HAL_UART_STATE_READY;//ADD

  }
  /* DMA Circular mode */
  else
  {
#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
    /*Call registered Tx complete callback*/
    huart->TxCpltCallback(huart);
#else
    /*Call legacy weak Tx complete callback*/
    HAL_UART_TxCpltCallback(huart);
#endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  }
}

    

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《STM32从入门到精通.pdf》是一本介绍STM32系列单片机的教程,适合初学者入门以及对STM32有一定了解的开发者深入学习和研究。本书内容全面,系统性强,文字通俗易懂。 本书首先介绍了STM32的基本知识,包括STM32的特点、组成结构、常见的开发板和开发环境等。接着详细讲解了ARM Cortex-M3内核以及STM32的系统结构和存储器结构,例如Flash、SRAM、EEPROM等。同时,书中还介绍了常用的外设,例如GPIO、UARTSPI、I2C、ADC、DAC、PWM等。 在具体的应用方面,本书通过实例演示了如何使用STM32进行硬件编程和软件编程。具体包括按钮控制LED灯、使用定时器控制LED灯、使用LCD显示屏、使用蜂鸣器、使用独立看门狗、使用ADC采集温度、使用SPI驱动OLED显示屏、使用DMA传输数据等。 此外,本书还讲解了STM32的高级编程,例如中断、操作系统、多线程等。最后,本书总结了一些开发技巧和注意事项,为开发者提供了很好的参考。 综上所述,《STM32从入门到精通.pdf》是一本很好的学习STM32单片机的参考书,可以帮助学习者建立起全面的STM32知识体系,掌握STM32硬件编程和软件编程,加深对ARM Cortex-M3内核和STM32系统结构的了解。如果你对STM32有兴趣,这本书绝对是值得一读的。 ### 回答2: 《STM32从入门到精通》是一本系统全面介绍STM32单片机的入门级教材。该书按照从基础到高级的顺序,详尽解析了STM32的各个方面,包括硬件架构、寄存器编程、库函数应用、中断处理等。该书采用了大量图表和实例,加深了读者对理论知识的理解,也使读者能够更好地掌握实际应用技巧。 全书分为上下两册,上册介绍STM32的基础知识,包括单片机的基本概念、C语言编程、I/O口、串口、定时器、ADC、DAC等,详细讲解如何通过寄存器编程控制各种外设。 下册主要介绍STM32的高级应用技术,包括常用的高级外设模块和标准库函数的应用,如USB、CAN、ETH、SDIO、FSMC、RTOS、AI等。同时,下册还讲解了如何使用STM32CubeMX进行代码生成和调试,让读者更加高效地进行开发。 总体说来,《STM32从入门到精通》是一本权威、实用的STM32入门教材,不仅适合初学者学习使用,也能够为高级开发者提供深入探究的视野。本书将大大缩短读者的学习时间,提升开发效率,是一本值得深入学习的STM32开发教材。 ### 回答3: 《STM32从入门到精通.pdf》是一本关于STM32微控制器的教程书籍,它分为了基础、进阶和应用三个部分,详细介绍了STM32硬件结构、寄存器编程、中断、定时器、通信协议等方面的知识及应用。 在基础部分,书籍首先介绍了STM32家族的各个成员和其硬件结构,然后讲解了STM32的固件库和Keil编译器的使用。接着,阐述了GPIO、NVIC、DMA等模块的原理和编程方法,并通过几个简单的实例代码加深理解。 在进阶部分,书籍深入探究了中断和定时器的工作原理和编程方法,重点介绍了SysTick、TIM和RTC等硬件模块的使用和应用场景。同时,本部分也包含串口、I2C、SPI等通信协议的详细讲解和应用实例。这些模块的使用是STM32开发中的关键,熟练掌握后可以让开发者在项目中更加灵活和高效地处理各种问题。 在应用部分,书籍提供了一些实际案例:如液晶显示屏的控制、音频传输的应用、链表实现并发队列等,展示了如何使用STM32实现一些常用的功能,并给出了详细的代码和说明。这些实例可以帮助读者将所学知识应用到实际项目中。 总的来说,《STM32从入门到精通.pdf》是一本涵盖STM32基础知识到高级应用的较为全面的教程,对学习STM32编程的初学者和中级开发者都具有一定的参考价值。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值