SAMD20 ADC如何降低电脑功耗停止降低功耗

MWC_E17_O 基于ATmeal SAMD20处理器的无刷飞控程序,MPU9250+NRF24C01+等芯片应用 。 ARM-PowerPC-ColdFire-MIPS 微 开发 251万源代码下载-
&文件名称: MWC_E17_O& & [
& & & & &&]
&&所属分类:
&&开发工具: C++
&&文件大小: 4958 KB
&&上传时间:
&&下载次数: 0
&&提 供 者:
&详细说明:基于ATmeal SAMD20处理器的无刷飞控程序,MPU9250+NRF24C01+等芯片应用程序。-ATmeal SAMD20 processor-based brushless flight control procedures, MPU9250+NRF24C01+ other chip applications.
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&MWC_E17_O\MWC_E17\Debug\makedep.mk&&.........\.......\.....\Makefile&&.........\.......\.....\MWC_E17.bin&&.........\.......\.....\MWC_E17.eep&&.........\.......\.....\MWC_E17.elf&&.........\.......\.....\MWC_E17.hex&&.........\.......\.....\MWC_E17.lss&&.........\.......\.....\MWC_E17.map&&.........\.......\.....\MWC_E17.srec&&.........\.......\.....\src\ASF\common\utils\interrupt\interrupt_sam_nvic.d&&.........\.......\.....\...\...\......\.....\.........\interrupt_sam_nvic.o&&.........\.......\.....\...\...\......2\boards\user_board\ADC.d&&.........\.......\.....\...\...\.......\......\..........\ADC.o&&.........\.......\.....\...\...\.......\......\..........\Control.d&&.........\.......\.....\...\...\.......\......\..........\Control.o&&.........\.......\.....\...\...\.......\......\..........\IMU.d&&.........\.......\.....\...\...\.......\......\..........\IMU.o&&.........\.......\.....\...\...\.......\......\..........\init.d&&.........\.......\.....\...\...\.......\......\..........\init.o&&.........\.......\.....\...\...\.......\......\..........\MCU.d&&.........\.......\.....\...\...\.......\......\..........\MCU.o&&.........\.......\.....\...\...\.......\......\..........\MEMS.d&&.........\.......\.....\...\...\.......\......\..........\MEMS.o&&.........\.......\.....\...\...\.......\......\..........\NRF.d&&.........\.......\.....\...\...\.......\......\..........\NRF.o&&.........\.......\.....\...\...\.......\......\..........\PID.d&&.........\.......\.....\...\...\.......\......\..........\PID.o&&.........\.......\.....\...\...\.......\services\delay\sam0\systick_counter.d&&.........\.......\.....\...\...\.......\........\.....\....\systick_counter.o&&.........\.......\.....\...\...\sam0\drivers\adc\adc.d&&.........\.......\.....\...\...\....\.......\...\adc.o&&.........\.......\.....\...\...\....\.......\extint\extint.d&&.........\.......\.....\...\...\....\.......\......\extint.o&&.........\.......\.....\...\...\....\.......\......\extint_callback.d&&.........\.......\.....\...\...\....\.......\......\extint_callback.o&&.........\.......\.....\...\...\....\.......\port\port.d&&.........\.......\.....\...\...\....\.......\....\port.o&&.........\.......\.....\...\...\....\.......\rtc\rtc_count.d&&.........\.......\.....\...\...\....\.......\...\rtc_count.o&&.........\.......\.....\...\...\....\.......\...\rtc_count_interrupt.d&&.........\.......\.....\...\...\....\.......\...\rtc_count_interrupt.o&&.........\.......\.....\...\...\....\.......\sercom\i2c\i2c_samd20\i2c_master.d&&.........\.......\.....\...\...\....\.......\......\...\..........\i2c_master.o&&.........\.......\.....\...\...\....\.......\......\sercom.d&&.........\.......\.....\...\...\....\.......\......\sercom.o&&.........\.......\.....\...\...\....\.......\......\sercom_interrupt.d&&.........\.......\.....\...\...\....\.......\......\sercom_interrupt.o&&.........\.......\.....\...\...\....\.......\......\.pi\spi.d&&.........\.......\.....\...\...\....\.......\......\...\spi.o&&.........\.......\.....\...\...\....\.......\......\usart\usart.d&&.........\.......\.....\...\...\....\.......\......\.....\usart.o&&.........\.......\.....\...\...\....\.......\......\.....\usart_interrupt.d&&.........\.......\.....\...\...\....\.......\......\.....\usart_interrupt.o&&.........\.......\.....\...\...\....\.......\.ystem\clock\clock_samd20\clock.d&&.........\.......\.....\...\...\....\.......\......\.....\............\clock.o&&.........\.......\.....\...\...\....\.......\......\.....\............\gclk.d&&.........\.......\.....\...\...\....\.......\......\.....\............\gclk.o&&.........\.......\.....\...\...\....\.......\......\interrupt\system_interrupt.d&&.........\.......\.....\...\...\....\.......\......\.........\system_interrupt.o&&.........\.......\.....\...\...\....\.......\......\pinmux\pinmux.d&&.........\.......\.....\...\...\....\.......\......\......\pinmux.o&&.........\.......\.....\...\...\....\.......\......\system.d&&.........\.......\.....\...\...\....\.......\......\system.o&&.........\.......\.....\...\...\....\.......\tc\tc.d&&.........\.......\.....\...\...\....\.......\..\tc.o&&.........\.......\.....\...\...\....\utils\cmsis\samd20\source\gcc\startup_samd20.d&&.........\.......\.....\...\...\....\.....\.....\......\......\...\startup_samd20.o&&.........\.......\.....\...\...\....\.....\.....\......\......\system_samd20.d&&.........\.......\.....\...\...\....\.....\.....\......\......\system_samd20.o&&.........\.......\.....\...\...\....\.....\syscalls\gcc\syscalls.d&&.........\.......\.....\...\...\....\.....\........\...\syscalls.o&&.........\.......\.....\...\main.d&&.........\.......\.....\...\main.o&&.........\.......\MWC_E17.cproj&&.........\.......\src\ASF\common\boards\board.h&&.........\.......\...\...\......\utils\interrupt\interrupt_sam_nvic.c&&.........\.......\...\...\......\.....\.........\interrupt_sam_nvic.h&&.........\.......\...\...\......\.....\interrupt.h&&.........\.......\...\...\......\.....\parts.h&&.........\.......\...\...\......2\boards\user_board\ADC.c&&.........\.......\...\...\.......\......\..........\Control.c&&.........\.......\...\...\.......\......\..........\IMU.c&&.........\.......\...\...\.......\......\..........\init.c&&.........\.......\...\...\.......\......\..........\MCU.c&&.........\.......\...\...\.......\......\..........\MEMS.c&&.........\.......\...\...\.......\......\..........\NRF.c&&.........\.......\...\...\.......\......\..........\PID.c&&.........\.......\...\...\.......\......\..........\user_board.h&&.........\.......\...\...\.......\services\BLDC_PB.atsln&&.........\.......\...\...\.......\........\delay\delay.h&&.........\.......\...\...\.......\........\.....\sam0\systick_counter.c&&.........\.......\...\...\.......\........\.....\....\systick_counter.h&&.........\.......\...\...\sam0\drivers\adc\adc.c&&.........\.......\...\...\....\.......\...\adc.h&&.........\.......\...\...\....\.......\...\quick_start\qs_adc_basic.h&&.........\.......\...\...\....\.......\...\..........._dma\qs_adc_dma_use.h&&.........\.......\...\...\....\.......\extint\extint.c&&.........\.......\...\...\....\.......\......\extint.h&&.........\.......\...\...\....\.......\......\extint_callback.c&&.........\.......\...\...\....\.......\......\extint_callback.h
&输入关键字,在本站251万海量源码库中尽情搜索:Get Started
We'll tell you all you need to know to start evaluating and working with this product.
Related Items
Devices for SAM D20 Xplained Pro Evaluation Kit
Controllers without firmware
ARM Cortex-M0+ based microcontroller with 32KB Flash, 4KB SRAM, 48 MHz, eight 16-bit timer/counters, 6 SERCOMs, 20-channel 12-bit ADC, 10-bit DAC, 64 pins
ARM Cortex-M0+ based microcontroller with 256KB Flash, 32KB SRAM, 48 MHz, eight 16-bit timer/counters, 6 SERCOMs, 20-channel 12-bit ADC, 10-bit DAC, 64 pins
ARM Cortex-M0+ based microcontroller with 128KB Flash, 16KB SRAM, 48 MHz, eight 16-bit timer/counters, 6 SERCOMs, 20-channel 12-bit ADC, 10-bit DAC, 64 pins
ARM Cortex-M0+ based microcontroller with 64KB Flash, 8KB SRAM, 48 MHz, eight 16-bit timer/counters, 6 SERCOMs, 20-channel 12-bit ADC, 10-bit DAC, 64 pins
ARM Cortex-M0+ based microcontroller with 16KB Flash, 2KB SRAM, 48 MHz, eight 16-bit timer/counters, 6 SERCOMs, 20-channel 12-bit ADC, 10-bit DAC, 64 pins
ARM Cortex-M0+ based microcontroller with 256KB Flash, 32KB SRAM, 48 MHz, six 16-bit timer/counters, 6 SERCOMs, 14-channel 12-bit ADC, 10-bit DAC, 48 pins
ARM Cortex-M0+ based microcontroller with 128KB Flash, 16KB SRAM, 48 MHz, six 16-bit timer/counters, 6 SERCOMs, 14-channel 12-bit ADC, 10-bit DAC, 48 pins
ARM Cortex-M0+ based microcontroller with 64KB Flash, 8KB SRAM, 48 MHz, six 16-bit timer/counters, 6 SERCOMs, 14-channel 12-bit ADC, 10-bit DAC, 48 pins
ARM Cortex-M0+ based microcontroller with 32KB Flash, 4KB SRAM, 48 MHz, six 16-bit timer/counters, 6 SERCOMs, 14-channel 12-bit ADC, 10-bit DAC, 48 pins
ARM Cortex-M0+ based microcontroller with 16KB Flash, 2KB SRAM, 48 MHz, six 16-bit timer/counters, 6 SERCOMs, 14-channel 12-bit ADC, 10-bit DAC, 48 pins
ARM Cortex-M0+ based microcontroller with 256KB Flash, 32KB SRAM, 48 MHz, six 16-bit timer/counters, 4 SERCOMs, 10-channel 12-bit ADC, 10-bit DAC, 32 pins
ARM Cortex-M0+ based microcontroller with 128KB Flash, 16KB SRAM, 48 MHz, six 16-bit timer/counters, 4 SERCOMs, 10-channel 12-bit ADC, 10-bit DAC, 32 pins
ARM Cortex-M0+ based microcontroller with 64KB Flash, 8KB SRAM, 48 MHz, six 16-bit timer/counters, 4 SERCOMs, 10-channel 12-bit ADC, 10-bit DAC, 32 pins
ARM Cortex-M0+ based microcontroller with 32KB Flash, 4KB SRAM, 48 MHz, six 16-bit timer/counters, 4 SERCOMs, 10-channel 12-bit ADC, 10-bit DAC, 32 pins
ARM Cortex-M0+ based microcontroller with 16KB Flash, 2KB SRAM, 48 MHz, six 16-bit timer/counters, 4 SERCOMs, 10-channel 12-bit ADC, 10-bit DAC, 32 pins后使用快捷导航没有帐号?
查看: 1546|回复: 2
msp430使用ADC后如何关闭才最省电
在线时间1553 小时
威望2638分
芯币8120枚
E金币597枚
TA的帖子TA的资源
本帖最后由 littleshrimp 于
16:05 编辑
& &msp430使用ADC后如何关闭才最省电& & &&最近在设计一款低功耗产品,使用MSP430单片机做主控,运行过程中需要定时检测电池电压,因为电池使用2节AA电池串联,工作电压为3V,REF内部参考使用2.5V,每隔一段时间检测一下电池电量,代码如下:&&&&& & & & float voltage;& & & & uint8_t ctl1 =& & ADC10CTL1;& && && && && &&&//保存ADC当前的寄存器数据& & & & uint8_t ctl0 =& & ADC10CTL0;& && && && && &&&//保存ADC当前的寄存器数据& & & & ADC10CTL1 = INCH_11;& && && && && && && & // AVcc/2& & & & ADC10CTL0 = SREF_1 +& & ADC10SHT_2 + REF2_5V + REFON + ADC10ON;& & & & ADC10CTL0 |= ENC +& & ADC10SC;& && && && && &// Sampling and conversion start& & & & while (ADC10CTL1& & & ADC10BUSY);& && && && && &// ADC10BUSY?& & & & voltage = ADC10MEM / 1024.00 * 2.5 *2;& & //计算电池电压& & & & if(voltage & 2.9)& && && && && && && && & //如果电池电压小于2.9V视为低电压& & & & {& & & && &&&low_batt_flag = 1;& && && && && && &&&//设置低电压标志& & & & }& & & & else& & & & {& & & && &&&low_batt_flag = 0;& && && && && && &&&//清除低电压标志& & & & }& & & & ADC10CTL1 = ctl1;& && && && && && && && & //关闭并复位ADC状态& & & & ADC10CTL0 = ctl0;& && && && && && && && & //关闭并复位ADC状态& &
&&看起来很简单的原理,得到的结果却是电流保持在200uA掉不下来。&&
003EKQPqzy6O5QH2Mvdaf&690.png (3.61 KB, 下载次数: 0)
15:47 上传
&&在没有使用过ADC时的电流是这样:&&
003EKQPqzy6O5QH3Dp305&690.png (3.74 KB, 下载次数: 0)
15:47 上传
&&双试着将ADC10CTL1和ADC10CTL0设置为0结果还是一样。&&& & & & uint16_t float ;& & & & ADC10CTL1 = INCH_11;& && && && && && && & // AVcc/2& & & & ADC10CTL0 = SREF_1 +& & ADC10SHT_2 + REF2_5V + REFON + ADC10ON;& & & & ADC10CTL0 |= ENC +& & ADC10SC;& && && && && &// Sampling and conversion start& & & & while (ADC10CTL1& & & ADC10BUSY);& && && && &// ADC10BUSY?& & & & voltage = ADC10MEM / 1024.00 * 2.5 *2;& & //计算电池电压& & & & if(voltage & 2.9)& && && && && && && && & //如果电池电压小于2.9V视为低电压& & & & {& & & && &&&low_batt_flag = 1;& && && && && && &&&//设置低电压标志& & & & }& & & & else& & & & {& & & && &&&low_batt_flag = 0;& && && && && && &&&//清除低电压标志& & & & }& & & & ADC10CTL1 = 0;& && && && && && && && && & //关闭ADC& & & & ADC10CTL0 = 0;& && && && && && && && && & //关闭ADC& &
&&最后试着先关ADC再关REF问题解决。&&
003EKQPqzy6O5QH5NeC96&690.png (5.44 KB, 下载次数: 0)
15:47 上传
&&最后的代码是:&&& & & && & uint16_t float ;& & & & uint8_t ctl1 =& & ADC10CTL1;& && && && && &&&//保存ADC当前的寄存器数据& & & & uint8_t ctl0 = ADC10CTL0;& && && && && &&&//保存ADC当前的寄存器数据& & & & ADC10CTL1 = INCH_11;& && && && && && && & // AVcc/2& & & & ADC10CTL0 = SREF_1 +& & ADC10SHT_2 + REF2_5V + REFON + ADC10ON;& & & & ADC10CTL0 |= ENC +& & ADC10SC;& && && && && &// Sampling and conversion start& & & & while (ADC10CTL1& & & ADC10BUSY);& && && && && &// ADC10BUSY?& & & & voltage = ADC10MEM / 1024.00 * 2.5 *2;& & //计算电池电压& & & & if(voltage & 2.9)& && && && && && && && & //如果电池电压小于2.9V视为低电压& & & & {& & & && &&&low_batt_flag = 1;& && && && && && &&&//设置低电压标志& & & & }& & & & else& & & & {& & & && &&&low_batt_flag = 0;& && && && && && &&&//清除低电压标志& & & & }& &
& & & & ADC10CTL0 &= ~(ENC +& & ADC10SC);& && && &&&& &
& & & & ADC10CTL1 = ctl1;& && && && && && && && & //关闭并复位ADC状态& & & & ADC10CTL0 = ctl0;& && && && && && && && & //关闭并复位ADC状态& & & &
在线时间76 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 102, 距离下一级还需 98 积分
一粒金砂(中级), 积分 102, 距离下一级还需 98 积分
是不是打开内部参考电压了,关闭的时候内部参考电压也要关了,不然会耗电~~
在线时间1674 小时
威望2462分
芯币11442枚
E金币158枚
TA的帖子TA的资源
五彩晶圆(初级), 积分 2462, 距离下一级还需 1038 积分
五彩晶圆(初级), 积分 2462, 距离下一级还需 1038 积分
可以RTC定时去唤醒ADC,其余时间都是低功耗模式!
construction complete!
荣誉会员勋章
曾经的版主且威望大于2000,或对EEWORLD论坛有突出贡献的坛友
Powered by
逛了这许久,何不进去瞧瞧?现在位置:
& & &&本文的目的是采集IO1_Xplained_PRO板卡上的光传感器信号,然后在OLED上显出出采集到的值,光线越暗的话采集到的AD值越大,我们可以设置一个阀值,让光线太暗的话打开LED照明,用IO1_Xplained_PRO的LED来模拟LED照明灯。
扩展板上的接口信号,光传感器对应MCU的ADC8(PB00)端口。LED引脚对应PB02
传感器接口说明。
我们使用的EXT1端口,接口信号说明
LED引脚初始化函数,低电平亮
ADC初始化函数
转换完成中断回调函数
显示效果,正常时和有遮挡时显示不同的值Mouser供货Atmel SleepWalking SAM-D20微控制器_机械行业_中国百科网
Mouser供货Atmel SleepWalking SAM-D20微控制器
    
支持单周期乘法功能指令2014 年 5 月 20 日 C 贸泽电子 (Mouser Electronics) 即日起开始供应 Atmel Corporation 的全新 32 位低功耗微 SAM-D20 系列产品。此新型 Atmel 微采用 48 MHz ARM Cortex‑M0+ 内核,并为电容式触摸按钮、滑动条及滚轮用户界面提供了 Atmel 外设触摸控制器。Mouser Electronics 提供的此新型 Atmel SAM-D20 低功耗微控制器以需要系统内编程功能的低功耗、经济高效的应用为目标市场。这些微控制器具有高达 256 KB 闪存和 32 KB SRAM,最多可提供 52 个可编程输入/输出引脚以及一个 32 位实时时钟/日历 (RTCC)。同时还具有 8 个 16 位定时器,其中每个都可配置为产生频率或波形、具有时间和频率测量的输入捕捉功能或设定执行时间。20 通道的 12 位 ADC 和 10 位 DAC 允许高效采样并生成外部模拟信号。ARM Cortex-M0+ 内核支持 32 个中断,并提供了单周期 32 x 32 乘法器,以具有成本效益的方式支持数学密集型算法。最后,Atmel 的外设触摸控制器提供了一个 256 通道电容触摸和接近检测功能。低功耗设计通过两个软件可选择的休眠模式加以简化。在空闲模式下,Cortex-M0+ 内核停止运行,而所选外设仍会运行。在待机模式下,除了特别选择要继续运行的功能之外,所有时钟和外设都可停止。一项称为 SleepWalking 的附加功能可让微控制器内核进入深层休眠模式,仅在发生重要事件时才会唤醒,这是取代通过间隔定时器轮询外设的一个有效方法。 Atmel SAM-D20 Xplained Pro 评估套件可支持开发操作,这是一款用于快速评估和开发 SAM-D20 微控制器的简单硬件平台。该套件基于具有 256 KB 闪存的 ATSAMD20J18,并集成了板载嵌入式调试器,从而无需任何外部工具即可编程或调试器件。欲了解更多详细信息,敬请访问 /new/atmel/atmel-samd20-mcu/。 Mouser拥有丰富的产品线与卓越的客服能力,通过提供先进技术的最新一代产品来满足设计工程师与采购人员的需求。我们承诺以本地语言、本地货币提供本地客服和技术支持,通过全球20个客户支持中心为客户的最新设计项目提供全球最广泛的最新半导体及电子元件选择。Mouser网站每日都会更新,用户可以查找超过1000万种产品,并能找到超过400万种可订购的物料编号以方便地进行在线采购。同时为专家和初学者提供了业界首用的互动式目录、数据手册、参考设计、应用笔记、技术设计信息和工程用工具。
收录时间:日 07:03:21 来源:佳工机电网 作者:匿名
上一篇: &(&&)
创建分享人
喜欢此文章的还喜欢
Copyright by ;All rights reserved. 联系:QQ:

我要回帖

更多关于 降低 继电器线圈 功耗 的文章

 

随机推荐