当前位置: 首页 > news >正文

网站转移 备案织梦如何做汽车贸易网站

网站转移 备案,织梦如何做汽车贸易网站,网站建设 标准,微网站制作价格一、DMA概述二、DMA通道注意,想要往串口中写数据,外部请求信号应该是USARTx_TX,当DR寄存器为空时,产生TX信号,请求DMA。反之,从串口中读数据,外部请求信号应该是USARTx_RX,当DR寄存器…

一、DMA概述

二、DMA通道

注意,想要往串口中写数据,外部请求信号应该是USARTx_TX,当DR寄存器为空时,产生TX信号,请求DMA。反之,从串口中读数据,外部请求信号应该是USARTx_RX,当DR寄存器满时,产生RX信号,请求DMA。

三、DMA处理过程

四、DMA中断

五、相关寄存器

六、实验部分

1、实验要求

使用DMA,将内存中800个字节发送给串口。

2、详细代码

①dma.c

#include "dma.h"void MYDMA_Config(DMA_Channel_TypeDef*DMA_CHx,u32 cpar,u32 cmar,u16 cndtr)
{//时钟使能RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1,ENABLE);//初始化DMA_DeInit(DMA_CHx);DMA_InitTypeDef DMA_InitStruct;DMA_InitStruct.DMA_BufferSize = cndtr;DMA_InitStruct.DMA_DIR = DMA_DIR_PeripheralDST;DMA_InitStruct.DMA_M2M = DMA_M2M_Disable;DMA_InitStruct.DMA_MemoryBaseAddr =cmar;DMA_InitStruct.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte;DMA_InitStruct.DMA_MemoryInc = DMA_MemoryInc_Enable;DMA_InitStruct.DMA_Mode = DMA_Mode_Normal;DMA_InitStruct.DMA_PeripheralBaseAddr = cpar;DMA_InitStruct.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte;DMA_InitStruct.DMA_PeripheralInc = DMA_PeripheralInc_Disable;DMA_InitStruct.DMA_Priority = DMA_Priority_Medium;DMA_Init(DMA1_Channel4, &DMA_InitStruct);
}void MYDMA_Enable(DMA_Channel_TypeDef*DMA_CHx)
{DMA_Cmd(DMA_CHx, DISABLE);DMA_SetCurrDataCounter(DMA_CHx,MAXNUM);USART_DMACmd(USART1,USART_DMAReq_Tx,ENABLE);DMA_Cmd(DMA_CHx, ENABLE);}

②main.c

#include "stm32f10x.h"
#include "rtc.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
#include "lcd.h"
#include "wkup.h"
#include "adc.h"
#include "tsensor.h"
#include "lsensor.h"
#include "dac.h"
#include "key.h"
#include "timer.h"
#include "dma.h"
#include "string.h"int main(void){	u16 t = 0;char data[MAXNUM + 1] = {0};char name[] = "我是春春大哥哥\r\n";for(u16 i = 0;i < MAXNUM / strlen(name);i++){strcat(data,name);}delay_init();uart_init(115200);LED_Init();KEY_Init();NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);RTC_Init();LCD_Init(); Adc_Init();MYDMA_Config(DMA1_Channel4,(u32)&(USART1->DR),(u32)data,MAXNUM);LCD_ShowString(60,120,200,24,24,"    -  -  ");LCD_ShowString(60,174,200,24,24,"  :  :  ");while(1){++t;if(t % 100 == 0){LED0 =! LED0;}u8 key = KEY_Scan(0);if(key == kup_pres){MYDMA_Enable(DMA1_Channel4);}delay_ms(10);}}

3、代码调试

一定要注意,如果不是循环模式的话,当一次DMA结束后,DMA_BufferSize就会清0,并且该位为0时,DMA不工作。所以,每次使用DMA都要重设该值,并且重设该值之前要DIABLE CMD。

4、实验结果

http://www.dtcms.com/a/413703.html

相关文章:

  • 河北省唐山市建设规划局的网站家具网站asp
  • 成都网站建设行业分析电商运营推广是做什么的
  • 海东网站建设公司河北省建设厅网站网上建设大厅
  • 做数据的网站WordPress博客手机主题
  • 广告图片网站源码企业网站建设费怎么入账
  • 百度推广会帮你做网站不微信小程序购物平台
  • 怎么弄个人网站sae wordpress 4.3
  • 网站的容量做英文网站网站犯法吗
  • 用vs2013做网站登录建站网站哪个好
  • 国外网站众筹怎做百度小说风云榜今天
  • 班级网站中个人简介怎么做什么值得买 wordpress主题
  • 电商网站有哪些功能东莞东城
  • 个人博客网站logo织梦网站如何生成伪静态
  • 自己做网站难不难百度权重站长工具
  • 大连网站建设求职简历seo视频教学网站
  • dede网站logo怎么改吴江高端网站建设
  • 央美老师做的家具网站公司申请注册流程
  • 项城市住房和城乡建设局网站wordpress模板安装方法
  • 静态化网站和app的区别网站做子页面怎么做
  • 六安网站关键词排名优化报价营销qq是什么意思
  • 透明管理系统网站模板网络建设与管理包括哪些方面
  • 网站如何做360优化网站升级中 html
  • 购物网站要求汕头网站推广排名
  • 河南网站建设公司|河南网站建设价格费用建筑设计图纸平面图
  • 手机网站改版淘宝官网首页手机版
  • 如何做营销型手机网站优化微信wordpress小工具
  • 学校的网站建设费如何入账ci框架建设网站
  • 玄天教学网站建设网站错误代码301
  • 网站服务器备案查询网站北京公司网站设计价格
  • 建站技术博客中国互联网协会会长