第一步:初始化端口第二步:初始化UART1第三步:DMA1中断配置第四步:DMA1配置第五步:DMA1的中断处理函数第六步:使用DMA1发送串口数据详细代码、注释以及注意事项,让你避开不必要的坑。　立即下载　STM32F103Cube配置HAL库操作系统freertos,CAN通信配置。资源包含STM32Cube工程配置,Keilv5工程,freertos/CAN收发。　立即下载　\ue50a　qq_37421110　\ue50b　主要是修改HAL库,添加查询串口接收数量的函数(HAL_UART_GetReceiveSize()),可实现中断方式或DMA方式不定长度接收串口数据。使用就是通过执行一次接收以后,一直等待接收完成回调函数,然后获取接收数量,实现一次接收动作。　立即下载　资源包含整个工程的源代码以及注释,使用CUBEMX开发,基于HAL库应用,方便大家参考应用。所包含的模块有GPIO(添加了一个指示灯作为状态指示)、UART(调试用串口,方便输出LOG,而且重定向了printf函数)、RTC(实时时钟)、中断、STOP2(低功耗)、IWDG(独立看门狗)　立即下载　(hal库)定时器1输出多路脉冲宽度可变的PWM控制电机(中断方式)分为以下步骤/1、stm32cubeMX配置项目参数2、使用sw4stm32软件编写代码3、验证4、总结/1、stm32cubeMX配置项目参数stm32cubeMX项目的基本配置请看我的文章,下面只给出定时器　立即下载　在使用STM32F103vct6开发硬件IIC的时候,用cubemx(版本4.20.0)生成的代码有重大bug,导致IIC通讯无论发送和接收都一直返回busy(返回值是2)。究其原因是　stm32f1xx_hal_msp.c生成过程中出了问题,详细请参见附件中的标注(注意看HAL_I2C_MspInit函数)　立即下载　该程序直接读取(　SDIO　4bit、dma方式)sd卡根目录下所有文件到usart3(115200)已测试4gb/1gb、fat32格式内存卡可用,长文件名也能识别。这是cubemx生成的代码,基于STM32Cube_FW_F7_V1.11.0!!!!!!注意:直接cubemx生成的代码有一个bug,需要在stm32f7xx_it.c的tf读写dma中断中添加回调函数,修改后代码如下:/***　@brief　This　function　handles　DMA2　stream3　global　interrupt.*/void　DMA2_Stream3_IRQHandler(void){　/*　USER　CODE　BEGIN　DMA2_Stream3_IRQn　0　*/　/*　USER　CODE　END　DMA2_Stream3_IRQn　0　*/　HAL_DMA_IRQHandler(&hdma;_sdmmc1_rx);　/*　USER　CODE　BEGIN　DMA2_Stream3_IRQn　1　*/　BSP_SD_ReadCpltCallback();　/*　USER　CODE　END　DMA2_Stream3_IRQn　1　brief　This　function　handles　DMA2　stream6　global　interrupt.*/void　DMA2_Stream6_IRQHandler(void){　/*　USER　CODE　BEGIN　DMA2_Stream6_IRQn　0　*/　/*　USER　CODE　END　DMA2_Stream6_IRQn　0　*/　HAL_DMA_IRQHandler(&hdma;_sdmmc1_tx);　/*　USER　CODE　BEGIN　DMA2_Stream6_IRQn　1　*/　BSP_SD_WriteCpltCallback();　/*　USER　CODE　END　DMA2_Stream6_IRQn　1　*/}如果有问题。请联系我引用:http://www.stmcu.org/module/forum/forum.php?mod=viewthread&tid=608199&highlight=CUBE　立即下载　\ue50a　qq_25805109　\ue50b　使用的是mpu9250,mpu6050通用,部分代码为正点原子例程移植,在cubeMX中初始化硬件后可直接调用我提供的文件实现读取和控制　立即下载　代码生成好了后,要往程序中加入这几个函数,才能实现HAL_TIM_Base_Start_IT(&htim3;);//开启定时器3的中断/*　USER　CODE　BEGIN　4　*/　//写在　USER　CODE　BEGIN　之间,不会丢掉//TIM3的更新时间回调函数　void　HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef　*htim)　{　if(htim->Instance　==　htim3.Instance)　HAL_GPIO_TogglePin(GPIOE,GPIO_PIN_8);//改变PF9的电平　}/*　USER　CODE　END　4　*/　立即下载　介绍STM32CubeTM是意法半导体的一项原始计划,旨在通过减少开发工作,时间和成本。　STM32CubeTM涵盖了STM32产品组合。