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

个人网站有哪些八八网

个人网站有哪些,八八网,企业没有做网站有的坏处,17网站一起做网店普宁轻纺城温馨ADC、DMA和串口都是嵌入式系统中常用的模块,它们之间有以下联系和区别: 联系: ADC和DMA都是用于数据采集和传输的模块,ADC可以将模拟信号转换为数字信号,DMA可以在不经过CPU的情况下实现数据的高速传输。而串口则是一…

ADC、DMA和串口都是嵌入式系统中常用的模块,它们之间有以下联系和区别:

联系:

        ADC和DMA都是用于数据采集和传输的模块,ADC可以将模拟信号转换为数字信号,DMA可以在不经过CPU的情况下实现数据的高速传输。而串口则是一种通信接口,可以将数字信号转换为串行数据进行传输。

区别:

        ADC和DMA是硬件模块,而串口可以是硬件模块也可以是软件模拟。ADC和DMA的主要功能是数据采集和传输,而串口的主要功能是数据通信。ADC和DMA的使用需要进行硬件配置和编程,而串口的使用则需要进行串口参数配置和通信协议的制定。

范例:

        如何在STM32中使用内部温度传感器进行温度测量? 以下是在STM32中使用内部温度传感器进行温度测量的代码示例:

#include "stm32f10x.h" // 包含STM32F10x系列微控制器的头文件
#include "stdio.h" // 包含标准输入输出库的头文件void ADC1_Init(void) // 定义ADC1初始化函数
{GPIO_InitTypeDef GPIO_InitStructure; // 定义GPIO初始化结构体ADC_InitTypeDef ADC_InitStructure; // 定义ADC初始化结构体DMA_InitTypeDef DMA_InitStructure; // 定义DMA初始化结构体RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_ADC1, ENABLE); // 使能GPIOA和ADC1的时钟RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); // 使能DMA1的时钟GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1; // 配置GPIOA的第1个引脚GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; // 配置为模拟输入模式GPIO_Init(GPIOA, &GPIO_InitStructure); // 初始化GPIOADMA_DeInit(DMA1_Channel1); // 复位DMA1的通道1DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)&ADC1->DR; // 配置DMA的外设基地址为ADC1的数据寄存器地址DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)&ADC_ConvertedValue; // 配置DMA的内存基地址为ADC_ConvertedValue的地址DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC; // 配置DMA的数据传输方向为外设到内存DMA_InitStructure.DMA_BufferSize = 1; // 配置DMA的数据缓存大小为1DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; // 禁止外设地址自增DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; // 允许内存地址自增DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord; // 配置外设数据宽度为半字(16位)DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord; // 配置内存数据宽度为半字(16位)DMA_InitStructure.DMA_Mode = DMA_Mode_Circular; // 配置DMA的循环模式DMA_InitStructure.DMA_Priority = DMA_Priority_High; // 配置DMA的优先级为高DMA_InitStructure.DMA_M2M = DMA_M2M_Disable; // 禁止DMA的内存到内存传输DMA_Init(DMA1_Channel1, &DMA_InitStructure); // 初始化DMA1的通道1ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; // 配置ADC的工作模式为独立模式ADC_InitStructure.ADC_ScanConvMode = DISABLE; // 禁止扫描模式ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; // 允许连续转换模式ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; // 禁止外部触发转换ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; // 配置ADC数据对齐方式为右对齐ADC_InitStructure.ADC_NbrOfChannel = 1; // 配置ADC的转换通道数为1ADC_Init(ADC1, &ADC_InitStructure); // 初始化ADC1ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 1, ADC_SampleTime_239Cycles5); // 配置ADC的常规通道为通道1,采样时间为239.5个时钟周期ADC_DMACmd(ADC1, ENABLE); // 使能ADC1的DMA传输ADC_Cmd(ADC1, ENABLE); // 使能ADC1DMA_Cmd(DMA1_Channel1, ENABLE); // 使能DMA1的通道1ADC_ResetCalibration(ADC1); // 复位ADC1的校准寄存器while(ADC_GetResetCalibrationStatus(ADC1)); // 等待ADC1的校准寄存器复位完成ADC_StartCalibration(ADC1); // 开始ADC1的校准while(ADC_GetCalibrationStatus(ADC1)); // 等待ADC1的校准完成
}int main(void) // 主函数
{float temperature; // 定义温度变量ADC1_Init(); // 初始化ADC1while(1) // 无限循环{temperature = (float)(ADC_ConvertedValue * 3.3 / 4096 - 0.76) / 0.0025 + 25; // 计算温度printf("Temperature is: %.2fC\n", temperature); // 输出温度}
}

 END:人外有人,天外有天,所以我潜心修炼。

http://www.wangmingla.cn/news/385.html

相关文章:

  • 上海滕州建设集团网站重庆小潘seo
  • 买一个网站需要多少钱百度推广授权代理商
  • 青岛网站建设定制seo案例分析
  • 建设工程竣工备案网站百度热门关键词
  • 汽车网站页面百度手机端推广
  • 网站开发郑州seo和sem的区别与联系
  • 香蜜湖附近网站建设手机网络优化软件
  • 西安网站制作工作室网络营销典型案例
  • 高端网站建设方案报价广西壮族自治区
  • 电影的网站做他妈的没完没了没了吗seo排名平台
  • 沈阳网站建设培训班网站权重
  • 网站设计结构图用什么做线上推广平台哪些好
  • 上海 网站建设业务营销方法域名推荐
  • 怎么才能创建网站推广产品的渠道
  • 网站建设中 意思网站推广排名优化
  • 保定哪家做网站好大连今日新闻头条
  • 什么是网站名称seo测试工具
  • 亚马逊网网站建设规划报告百度关键词优化的意思
  • 网站开发什么课程营销网站设计
  • 企业建站网络公司使用最佳搜索引擎优化工具
  • 网站建设 首选百川互动指数基金怎么买才赚钱
  • adobe做网站的软件惠州优化怎么做seo
  • 系统官网网站模板微营销平台
  • 空间放两个网站地推推广平台
  • 网站建设的战略作用模板建站哪个平台好
  • 自己做的网站如何上传网上百度秒收录技术
  • 企业做网站有哪些好处社群营销平台有哪些
  • 涉县移动网站建设公司nba篮网最新消息
  • 做海报有哪些网站佛山网站建设工作
  • 电子商务网站开发与管理实验报告企业seo网络推广