前言前面提到,要想使用DMA首先要配置DMA废话不多说,直接上代码吧typedef struct { 
//源地址高8位    
unsigned char SRCADDRH; 
//源地址低8位    
unsigned char SRCADDRL; 
//目的地址高8位   
unsigned char DESTADDRH;    
//目的地址低8位   
unsigned char DES            
                
         
            
            
            
            SD卡读写前言材料SD卡SD卡简介SD管脚简介SDIO介绍原理图工程配置时钟树基本信息指示灯和串口SDIO配置进入代码一些源码及分析main函数下载验证失败可能原因结语 前言其实STM32CubeMX这款软件本身只是一个工具,它可以让我们更方便地去开发STM32,让我们更少地去关注硬件底层的关联,但这并不代表着底层硬件就不再重要了。一个优秀的嵌入式工程师往往不仅仅是关注着自己的程序是否实现基本功            
                
         
            
            
            
            关键词:DMA、sync、async、SIGIO、F_SETSIG。 DMA本身用于减轻CPU负担,进行CPU off-load搬运工作。在DMA驱动内部实现有同步和异步模式,异步模式使用dma_async_issue_pending(),然后在callback()中发送SIGIO信号,用户空间收到SIGIO进行handler处理视为一个周期完成。同步模式,采用dma_sync_wait            
                
         
            
            
            
            欢迎加入【Linux C/C++/Python社区】一起探讨和分享Linux C/C++/Python/Shell编程、机器人技术、机器学习、机器视觉、嵌入式AI相关领域的知识和技术。
 USART串口通讯1. UART总线与USART接口☞UART☞差分传输☞USART与UART的区别2. 串口通讯☞物理层☞协议层
 1. UART总线与USART接口☞UARTUART: 通用异步通信收发器/S            
                
         
            
            
            
            搜索stm32代码大部分的DMA配置都和内部AD相连,没有单独实现串口DMA的,对于外部AD或者其他应用需要单独启用串口DMA的应用,本篇或许可以给大家以参考当我们计算的串口波特率 无法满足数据传输速度的时候,我们需要将串口设置为DMA发送(不占用CPU资源),但是这样也不够,这个时候我们需要采用抽帧的方法进行发送,接下来会依次进行详解。目录串口DMA配置方法DMA串口发送串口DMA配置方法在配置            
                
         
            
            
            
            问题是这样:我把BF533的UART接口定义为DMA模式接收数据,但是接收到的数据总是零. 我不知道是不是我的配置有问题.     请高手指点一下.多谢. 配置如下: void Init_DMA(void)
 {
     *pDMA6_PERIPHERAL_MAP = 0x6000;
     *pDMA6_CONFIG = WDSI            
                
         
            
            
            
                    书接上文,开始折腾ADC的DMA传输。因为大家都在说DMA,就连ST的例子里边也是使用DMA的。        ADC采集到的数据都存储在一个固定的寄存器中。当常规采样方式采样多个通道时候,使用DMA可以较好地避免将采集到的数据丢失。当ADC的            
                
         
            
            
            
            最近也在学习,个人见解。1、DMA_BufferSize到底是什么?Specifies the buffer size, in data unit, of the specified Channel. The data unit is equal to the configuration set in DMA_PeripheralDataSize or DMA_MemoryDataSize mem            
                
         
            
            
            
            STM32 USART串口DMA接收和发送模式  
    
  串口DMA发送:  
 发送数据的流程: 
 前台程序中有数据要发送,则需要做如下几件事 
  1.      在数据发送缓冲区内放好要发送的数据,说明:此数据缓冲区的首地址必须要在DMA初始化的时候写入到DMA配置中去。 
 
  2.      将数            
                
         
            
            
            
            stm32多通道ADC采集先说下注意或易错的地方需要使用一个ADC的一个通道,采用扫描模式如果还使用FreeRTOS还要注意优先级问题,初始化需要在开启采集之前单通道ADC采集时不需要开启内存自增加,DMA_InitSturcture.DMA_MemoryInc = DMA_MemoryInc_Disable;。多通道ADC采集时需要开启内存自增加模式DMA_InitSturcture.DMA_M            
                
         
            
            
            
            1. 定时器基础1.1 Counter SettingsPrescaler(16bit)分频值:将定时器之中频率分频。Counter Period : 周期计数值,按照分频后的时间进行计数。1.2 Channel InitMode :模式选择1)Mode = Toggele on match(即定时器ARR寄存器周期计数值溢出就翻转电平)Pulse : 电平跳变值。通过定时器计数,计数到Pulse            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-11 14:04:52
                            
                                163阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            定时器详细介绍(基于标准库的,原理部分可参考1. 定时器中断配置 配置参考 
使用内部时钟:internal clock,其它默认 定时器计数值更新时间:   T为定时时间,Psc为预分频数,Arr为自动重装载寄存器的值,Tclk为定时器的输入时钟。这里为T为1s,Tclk为72MHz,设置Psc为7200-1,Arr为10000-1。自动重载值。            
                
         
            
            
            
            目录1、画图Cortex-M3内部结构图,要体现相应的总线,并标注其作用。2、关于RCC时钟,完成如下任务(1)画出RCC时钟树简图,要体现出相关的时钟源Systick 介绍(2)简述由8M晶振到72M主频的过程,以及通过寄存器方式配置72M主频的过程(3)阅读如下代码,理解并解释每一步的作用3.flash寄存器设置延时周期的作用4.通过寄存器点亮ledDMASTM32 DMA使用详解1、画图Co            
                
         
            
            
            
            CubeMX配置STM32并驱动0.96寸OLED 一、使用CubeMX进行基础的配置1、配置时钟 这里的时钟我试了一下,设置为72MHZ和32MHZ好像对IIC的影响区别不是很大,这个就看个人吧。1、配置IIC 在这里只需要选择需要用的IICX就可以了。因为我使用的是C8T6,所以使用了IIC2就无法再使用USART3了。 然后选择IIC speed MODE为高速模式(其实选择标准模式也可以用            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-17 22:03:01
                            
                                194阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            STM32H7系列芯片不像F4系列,其通过FMC来驱动TFTLCD需要先配置MPU,这个步骤是必要的,然后是配置FMC的相关设置,最后生成对应代码,同时将自己的LCD代码嵌入其中,就可以实现对TFTLCD的显示控制!!第一步:在如下的配置框中对MPU进行配置!!         图上为什么基地址是0X60000000?请看下图,                上面两个图可以看到,块1才是用于设置F            
                
         
            
            
            
            实验目的:通过STM32Cube MX来快速配置对SD卡的使用 实验芯片:STM32F407 1、通过SDIO的通讯方式可以对SD卡进行读写操作,此次需要将采集的数据放置入SD卡中,通过文件管理系统对文件进行创建和读取。 2、STM32Cube MX中的配置SDIO的配置: SDIOXLK clovk divide factor参数的选择与晶振有关,若出现后续挂载不成功等问题时,可以增加分频系数,            
                
         
            
            
            
            SMT32CubeMx安装详解 文章目录SMT32CubeMx安装详解前言一、准备工作二、CubeMax安装三、工程参数配置总结 前言记录CubeMax软件安装和相关工程配置的简单操作一、准备工作在我们进行软件安装之前首先将我们需要用到的各类软件下好,安装包链接放下面了需要的自行下载哈。链接: https://pan.baidu.com/s/1a0Cgyxxq0MCX6kNFA7ClCQ 提取码:            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-21 07:06:49
                            
                                113阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            使用CUDA写一个矩阵乘法C = A X B(矩阵维度:A: M X K, B: K X N, C: M X N),当然可以自己写核函数,但效率不如CUDA自带的cublas算法效率高。使用cublas唯一值得注意的地方是,在CPU中的矩阵数据存储是行优先存储,而在GPU中是列优先存储,这相当于对原矩阵做了一次转置,我们知道矩阵的两次转置等于原矩阵,要让最后的结果正确,在GPU中计算要使用:TC             
                
         
            
            
            
            这节主要是GPIO的应用 包括点亮led灯和数码管使用。使用CubeMax进行配置使用keil5编写代码。应用效果演示 链接GPIO介绍General Purpose Input Output (通用输入/输出)简称为GPIO 许多设备或电路只要求有开/关两种状态就够了,比如LED的亮与灭。对这些设备的控制,在嵌入式微处理器上通常提供了一种“通用可编程I/O端口”,也就是GPIO。对GPIO的配置            
                
         
            
            
            
            今天可能会学得比较多,所以说三四五可能会全部连着一起更新如果说时间比较紧张的话,一天还是只学一节就差不多了今天学一下中断,中断这个东西很重要,在单片机微处理器这些环节里面,中断的核心位置是难以动摇的。首先中断包括啥呢,中断源,中断向量(中断源的地址啥的),中断优先级,中断服务函数啥啥啥的。对于STM32而言,是M3内核的,有16个内部中断,240个外部中断。256个中断优先级。因为STM32相较于            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-03 19:49:01
                            
                                88阅读
                            
                                                                             
                 
                
                                
                    