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

网站建设免费代理网站域名解释怎么做

网站建设免费代理,网站域名解释怎么做,山东个人网站备案,预约小程序模板1.DMA概念介绍 DMA#xff0c;全称Direct Memory Access#xff0c;即直接存储器访问。 DMA传输 将数据从一个地址空间复制到另一个地址空间。 注意#xff1a;DMA传输无需CPU直接控制传输 2.DMA框图 3.DMA处理过程 外设的 8 个请求独立连接到每个通道#xff0c;由 DMA_…1.DMA概念介绍 DMA全称Direct Memory Access即直接存储器访问。 DMA传输 将数据从一个地址空间复制到另一个地址空间。 注意DMA传输无需CPU直接控制传输 2.DMA框图 3.DMA处理过程 外设的 8 个请求独立连接到每个通道由 DMA_SxCR 控制数据流选择哪一个通道每个 数据流有 8 个通道可供选择每次只能选择其中一个通道进行 DMA 传输。 5 DMA优先级 第一阶段软件阶段每个通道的优先级可在DMA_CCRx寄存器中设置有四个等级最高、高、中和低优先级。 第二阶段硬件阶段如果两个请求有相同软件优先级较低编号的通道比较高编号的通道有较高的优先级。 6.寄存器 7.DMA句柄结构体 typedef struct __DMA_HandleTypeDef { void Instance; / 寄存器基地址 / DMA_InitTypeDef Init; / DAM 通信参数 */ uint32_t StreamBaseAddress uint32_t StreamIndex … }DMA_HandleTypeDef; typedef struct { uint32_t Channel; /* 传输通道例如DMA_CHANEL_4 / uint32_t Direction; / 传输方向例如存储器到外设 DMA_MEMORY_TO_PERIPH / uint32_t PeriphInc; / 外设非增量模式非增量模式 DMA_PINC_DISABLE / uint32_t MemInc; / 存储器非增量模式增量模式 DMA_MINC_ENABLE / uint32_t PeriphDataAlignment; / 外设数据大小8/16/32 位 / uint32_t MemDataAlignment; / 存储器数据大小8/16/32 位 / uint32_t Mode; / 模式外设流控模式/循环模式/普通模式 / uint32_t Priority; / DMA 优先级低/中/高/非常高 */ }DMA_InitTypeDef; 8 8.2以DMA方式传输串口数据配置步骤 代码 8.1 dma.c //DMA数据传输(内存到内存的传输)实现步骤 //1.全局变量与宏定义 //1.1源与目标缓冲区定义//2.函数定义 //初始化DMA配置 //2.1DMA时钟使能 //2.3初始化DMA句柄及DMA配置 //2.4关联源和目标地址//3 传输控制 //3.1传输失能 //3.2设置传输数据的长度 //3.3传输使能//4.函数调用、执行 //4.1硬件初始化HAL_Init()调用 //4.2 DMA配置初始化化函数调用调用 //4.3 等待DMA传输完成 //4.4 while(1)中执行代码//DMA数据传输(内存到内存的传输)实现步骤 //2.2DMA句柄创建 DMA_HandleTypeDef g_dma_handler; //1.全局变量与宏定义 //1.1源与目标缓冲区定义 uint8_t src_buf[10] {0x0a, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09}; uint8_t dest_buf[10] {0};//2.函数定义 //初始化DMA配置 void dma_init(void) {//2.1DMA1时钟使能__HAL_RCC_DMA1_CLK_ENABLE();//2.3初始化DMA句柄及DMA配置g_dma_handler.Instance DMA1_Channel1;g_dma_handler.Init.Direction DMA_MEMORY_TO_MEMORY;/* 与目标地址相关 */g_dma_handler.Init.MemDataAlignment DMA_MDATAALIGN_BYTE;g_dma_handler.Init.MemInc DMA_MINC_ENABLE;/* 与源地址相关 */g_dma_handler.Init.PeriphDataAlignment DMA_PDATAALIGN_BYTE;g_dma_handler.Init.PeriphInc DMA_PINC_ENABLE;g_dma_handler.Init.Priority DMA_PRIORITY_HIGH;g_dma_handler.Init.Mode DMA_NORMAL; /* 内存到内存是不支持循环模式 */HAL_DMA_Init(g_dma_handler);//2.4关联源和目标地址,启动DMA传输的函数HAL_DMA_Start(g_dma_handler, (uint32_t)src_buf, (uint32_t)dest_buf, 0);}//3 传输控制函数 void dma_enable_transmit(uint16_t cndtr) {//3.1传输失能__HAL_DMA_DISABLE(g_dma_handler);//3.2设置传输数据的长度g_dma_handler.Instance-DMA_CNDTR cndtr; // 设置传输数据长度//3.3传输使能__HAL_DMA_ENABLE(g_dma_handler);}8.2 main.c int main() {uint8_t key 0;//3.1硬件初始化HAL_Init()调用HAL_Init(); /* 初始化HAL库 */sys_stm32_clock_init(336, 8, 2, 7); /* 设置时钟,168Mhz */delay_init(168); /* 延时初始化 */usart_init(115200);led_init(); /* 初始化LED */key_init(); /* 初始化按键 */LED0(0); /* 先点亮LED0 *///3.2 DMA配置初始化化函数调用调用dma_init();while(1){key key_scan(0); /* 得到键值 */if (key KEY0_PRES){memset(dest_buf, 0, 10);dma_enable_transmit(10);while(1){if (__HAL_DMA_GET_FLAG(g_dma_handler, DMA_FLAG_TC1)){__HAL_DMA_CLEAR_FLAG(g_dma_handler, DMA_FLAG_TC1);printf(传输完成 \r\n);break;}}}LED0_TOGGLE();delay_ms(200); }}
http://www.zqtcl.cn/news/389871/

相关文章:

  • linux部署wordpress福州短视频seo推荐
  • 做地推的网站做网站感觉挣不到钱啊
  • 网站建设公司哪家好 搜搜磐石网络营销网站建设免费
  • 如何改网站的内容源码买卖网站
  • 企业网站 报价免费创意字体设计
  • 调用百度地图做全景的网站网站维护要求
  • 济宁网上做科目一的网站网站维护工程师薪酬
  • 领先的响应式网站建设平台湖北企业建站系统信息
  • 嘉兴市住房和城乡建设局网站巩义网站建设方案报价
  • 桂林做网站的公司哪家最好长沙网络工程学院
  • 广州 天河网站设计wordpress评论开关
  • 河南郑州建设网站做贺卡网站
  • 我的家乡湛江网站设计烟台网站建设招聘
  • 如何做网站改版评析网站建设报价单
  • 有关天猫网站开发的论文热狗seo顾问
  • 西安成品网站建设云主机建网站教程
  • 网站后台是怎么更新电商网站开发需求文档
  • 教人怎么做网页的网站有关建设网站的问题
  • wordpress资源站源码网站规划与建设课设报告
  • 网站后台ftp账户企企业业网网站站建建设设
  • 网站建设公司专业的建站优化公司成都天府新区网站建设
  • 建站模板 discuzui设计的流程有哪些步骤
  • 网站建设 军报汕头网站建设网站
  • 便宜购物网站大全网站建设简介联系方式
  • 网站没有后台登陆文件夹公司怎么建立网站吗
  • 营销网站建设流程图网站开发目前主要用什么技术
  • 网站建设与管理维护 李建青大连网站设计费用
  • 网站建设制作心得团队盐都区城乡建设局网站
  • 网页设计公司网站设计结婚网站模版
  • 做文字图网站设计师网站资源