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

江门网站平台建设无锡短视频推广

江门网站平台建设,无锡短视频推广,建设工程合同法,app优化网站ADC介绍 Q: ADC是什么#xff1f; A: 全称#xff1a;Analog-to-Digital Converter#xff0c;指模拟/数字转换器 ADC的性能指标 量程#xff1a;能测量的电压范围分辨率#xff1a;ADC能辨别的最小模拟量#xff0c;通常以输出二进制数的位数表示#xff0c;比如 A: 全称Analog-to-Digital Converter指模拟/数字转换器 ADC的性能指标 量程能测量的电压范围分辨率ADC能辨别的最小模拟量通常以输出二进制数的位数表示比如8、10、12、 16位等位数越多分辨率越高一般来说分辨率越高转化时间越长转化时间从转换开始到获得稳定的数字量输出所需要的时间称为转换时间 ADC特性 12位精度下转换速度可高达1MHZ供电电压V SSA 0VV DDA 2.4V~3.6VADC输入范围VREF- ≤ VIN ≤ VREF  一般VREF-接 VSSA; VREF接VDDA; 而VSSA一般接地VDDA一般接3.3V 所以量程是0 ~3.3v 采样时间可配置采样时间越长, 转换结果相对越准确, 但是转换速度就越慢ADC 的结果可以左对齐或右对齐方式存储在 16 位数据寄存器中 16位寄存器里存放12位的精度的数据就会涉及到左对齐和右对齐的问题默认右对齐 ADC通道 总共2个ADCADC1ADC2每个ADC有18个转换通道: 16个外部通道也就是和GPIO口连在一起的、 2个内部通道温度 传感器、内部参考电压。 外部的16个通道在转换时又分为规则通道和注入通道其中规则通道最多有16路注入通道最多 有4路。 可以这样理解 规则组正常排队的人 注入组有特权的人军人、孕妇 ADC转换顺序 每个ADC只有一个数据寄存器16个通道一起共用这个寄存器所以需要指定规则转换通道的转 换顺序。 规则通道中的转换顺序由三个寄存器控制SQR1、SQR2、SQR3它们都是32位寄存器。SQR寄存器控制着转换通道的数目和转换顺序只要在对应的寄存器位SQx中写入相应的通道这个通 道就是第x个转换。 和规则通道转换顺序的控制一样注入通道的转换也是通过注入寄存器来控制只不过只有一个 JSQR寄存器来控制控制关系如下  注入序列的转换顺序是从JSQx[ 4 : 0 ]x4-JL[1:0]开始。只有当JL4的时候注入通道的转换 顺序才会按照JSQ1、JSQ2、JSQ3、JSQ4的顺序执行。 ADC触发方式 1. 通过向控制寄存器ADC-CR2的ADON位写1来开启转换写0停止转换。 2. 也可以通过外部事件如定时器进行转换。 ADC转化时间 ADC是挂载在APB2总线PCLK2上的经过分频器得到ADC时钟ADCCLK最高 14 MHz。 转换时间 采样时间12.5个周期 12.5个周期是固定的一般我们设置 PCLK272M经过 ADC 预分频器能分频到最大的时钟只能 是 12M采样周期采样时间设置为 1.5 个周期则一共是14倍周期为14 *1/12000000秒 算出最短的转换时间为 1.17us。 ADC转化模式 扫描模式 关闭扫描模式只转换ADC_SQRx或ADC_JSQR选中的第一个通道 打开扫描模式扫描所有被ADC_SQRx或ADC_JSQR选中的所有通道 单次转换/连续转换 单次转换只转换一次 连续转换转换一次之后立马进行下一次转换 使用ADC读取烟雾传感器的值 的实验 硬件介绍 烟雾传感器 如图所示烟雾传感器的AO和DO分别代表模拟信号和数字信号由于现在学习的ADC模数转换所以将AO引脚接入单片机而不使用DO引脚。 那么AO应该接在哪里呢 查看产品手册 可见在STM32中两路ADC的同一通道使用的同一个引脚 在这个实验中将AO接入单片机的PA0对应ADC1或2的通道0 CubeMX 1. 惯例设置 开一路串口 注意这里的时钟配置“Clock Configuration”上面提到过ADC是挂载在PCLK2上的并经过分配得到ADC自己的时钟频率的。 问题在于如果像之前那样设置HCLK为72MHz, 那么在尝试打开ADC的时候会报错 原因就是 ADC的最高频率是14MHz然而根据惯例设置分配到ADC处的频率变成了36MHz了。   解决办法就是 先将弹出来的会话框点击NO因为这是会自动帮忙配置的请求这里只需要自己调整一下就可以然后将ADC的分频系数改为“/6” 或 “/8”这样就不会报错了 2. 点击左侧的ADC选择通道0 2.1 此时可以看到右侧的图中PA0被选中再次证明PA0的确是ADC1的通道0  2.2 在下方的参数设置可以看到上面提到的关于ADC各种的设置此处暂不修改 3. 惯例配置生成代码 Keil 1. 因为要通过串口来打印数据所以要重写printf所以要打开miro-lib 2. 代码 #include stdio.hint fputc(int a, FILE *f) //一个字符一个字符发送 {unsigned char temp[1] {a};HAL_UART_Transmit(huart1, temp, 1, 0xffff);return a; }int main(void) {uint32_t smoke_value; //通过跳转可以知道 HAL_ADC_GetValue() 的返回值是“uint32_t”类型while (1){HAL_ADC_Start(hadc1); //启动ADC单次转换HAL_ADC_PollForConversion(hadc1, 50); //等待ADC转换完成50是time outsmoke_value HAL_ADC_GetValue(hadc1); //读取ADC转换数据通过跳转可以知道返回值是“uint32_t”类型printf(smoke_value %f\r\n, 3.3/4096 * smoke_value);//printf(smoke_value %d \r\n, smoke_value);HAL_Delay(500); //每500ms检测一次} } 从HAL_ADC_GetValue(hadc1)中读取到的是一个12位有效二进制数的值而电压是3.3V所以一个刻度的值就是 3.3/2^12 3.3/4096把这个最小刻度值乘以读取到的值就是有效的数据了。 而读出来的数其实就是电压的值至于电压的值究竟对应多少烟雾含量这个要看烟雾报警器的手册等。 实现效果 串口助手中 可见每隔500ms就会通过串口打印通过ADC转换得到的有效电压值
http://www.eeditor.cn/news/120744/

相关文章:

  • 网站程序开发后怎么上线南宁 网站建设
  • 17一起广州做网站一台网站服务器多少钱
  • 厦门微网站开发网站信用建设应该用什么技术
  • 网站建设微信商城开发石家庄做网站排名公司哪家好
  • 上饶做网站的个人网站制作论文
  • 聊天网站开发登陆建设银行网站异常
  • 网站建设程序员公司网站开发费用计入什么科目
  • 域名备案网站源码媒体查询做响应式网站
  • 深圳网站建设antnwwordpress创建网站
  • 什么网站做玩具的比较多做网站一定需要服务器吗
  • 自助建站免费网站网站开发税目编码
  • 手机网站设计只找亿企邦做网站的背景图片格式大小
  • 兰州专业做网站的公司哪家好神农架网站建设公司
  • 怎样做网站宣传自己的宾馆电气网站模板
  • 合肥seo整站优化帮别人建设网站需要什么资质
  • 手机访问asp网站企业查天眼查在线
  • 自己做电影网站有没有钱赚wordpress全站广告位
  • 游戏网站风控怎么做全屋定制家具品牌排行榜前十名
  • 自己做的网站链接网站建设风格有哪些
  • 网站建设288中国建设银行网站用户名
  • 如何做网站的统计网页微博
  • 沈阳网站建设dnglzx做京东商城网站
  • 品牌的佛山网站建设价格上海网站设计排名
  • 电商网站取名网站开发用什么语言开发的
  • 教你如何用天翼云盘做网站百度图片识别搜索
  • 合肥 电子商务 网站建设电子相册免费制作
  • 自己做网站表白各大门户网站用什么做的
  • 网站建立前期调查十九冶成都建设有限公司网站
  • wordpress网站统计插件做百度移动网站优
  • 建站平台利弊专业网站建设效果