当前位置:首页 » 数据仓库 » adc如何配置寄存器
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

adc如何配置寄存器

发布时间: 2022-04-12 22:48:00

㈠ STM8 ADC_CR1;ADC_CR2;这个是什么意思呢

ADC_CR1= 0x02; //这里设置分频系数为2 连续转换模式 先禁止ADC转换

ADC_CR2=0x08; //设置数据右对齐 禁止扫描模式

STM8模拟/数字转换器(ADC)简介

ADC1和ADC2是10位的逐次比较型模拟数字转换器。提供多达16个多功能的输入通道(实际准确的通道数量在数据手册的引脚描述说明)。A/D转换的各个通道可以执行单次和连续的转换模式。

相对于ADC2,ADC1具有一些扩展功能,包括扫描模式,带缓存的连续模式以及模拟看门狗。
请参考STM8数据手册来了解不同产品型号的ADC1和ADC2的功能信息。

主要特点

ADC1和ADC2的功能如下:

  • 10位的分辨率

  • 单次和连续的转换模式

  • 可编程的(转换频率的)预分频:fMASTER可以被分频2到18

  • 可以选择ADC专用外部中断(ADC_ETR)或者定时器触发信号(TRGO)来作为外部触发信号

  • 模拟放大(对于具有VREF引脚的型号)

  • 转换结束时可产生中断

  • 灵活的数据对齐方式

  • ADC输入电压范围:VSSA≤VIN≤VDDA

  • 扩展(增强)功能

    ADC1具有以下扩展功能:

  • 带缓冲的连续转换模式(1)

  • 单次和连续转换的扫描模式

  • 具有上限和下限门槛的模拟看门狗

  • 模拟看门狗事件发生可产生中断

㈡ 用STC15w408as单片机的AD转换功能,ADC_CONTR=ADC_POWER | ADC_

ADC_CONTR可能是ADC配置寄存器, ADC_POWER可能是配置寄存器中的ADC电源控制位,ADC_SPEEDLL转换速度控制位。我猜的,想搞技术 这种问题你就不该问的,去STC官网下个芯片手册,看一下ADC寄存器配置说明,几分钟就搞定的事

如何配置寄存器的地址

配置寄存器是一个16位的虚拟寄存器,用于指定路由器启动的次序、中断参数和设置控制台波特率等。该寄存器的值通常是以十六进制来表示的。

利用配置命令config register可以改变配置寄存器的值。

2. 启动次序

配置寄存器的最后4位,指定的是,路由器在启动的时候必须使用的启动文件所在的位置:

<>

l 0x0001指定从ROM中启动

l 0x0002-0x000F的值则参照在NVRAM配置文件中命令boot system指定的顺序

如果配置文件中没有boot system命令,路由器会试图用系统Flash存储器中的第一个文件来启动,如果失败,路由器就会试图用TFTP从网络上加载一个缺省文件名的文件(由boot域的值确定,如cisco2-4500),如果还失败,系统就从启动Flash中加载启动。

缺省的文件名是采用单词cisco、启动位的值以及路由器类型或处理器的名称构成。例如某台4500上启动字段设为3,那么缺省的启动文件名就是cisco3-4500。

以MC3819(CPU型号,大多采用MOTOROLA)路由器启动顺序为例,下面就是启动的四个阶段:

1. 系统自举

2. 启动加载(读取配置信息和启动Flash文件系统的最小功能)

3. 启动系统IOS镜像文件

4. 接口初始化/系统重启

3. 配置寄存器

3.1. 各位的含义
通过show version命令可以看到路由器配置寄存器的值,缺省情况下为0x2102。这四个数字每一个均有着重要的意义。下面从低到高进行一一的介绍。
第一个2,还原成二进制为0010,这一部分为boot field,对路由器IOS的启动起着至关重要的作用,当boot field 的值为2-15中的任何一个时,路由器属于正常启动,当此值为0时,路由器启动后会进入ROMMON模式,此值为1时,路由器进入到RXBOOT模式(2500路由器的FLASH在配置寄存器的值为2102时属性为只读,如果要升级IOS必须把寄存器的值修改为2101)
0,还原成二进制为0000,这四位中,起关键作用的是第三位(即整个寄存器里面的BIT 7),值为0,当路由器启动后会从NVRAM里面的配置文件调到RAM里运行,值为1,路由器启动后会忽略NVRAM的配置(这就是我们在进行PASSWORD RECOVERY时把寄存器的值改为2142的原因 )
1,还原成二进值为0001,我们来关注BIT8,值为0时,路由器在正常运行模式下CTRL + BREAK无效;值为1,路由器在任何运行模式下只要按下CTRL + BREAK均会立即进入ROMMON模式。
第二个2,还原成二进制为0100,其中BIT13,当值为0时,路由器如果进行网络启动会尝试无穷多次。当值为1时,路由器最多进行5次的网络启动尝试。

寄存器位数 十六进制 功能描述

0-3(启动次序) 0x0000-0x000F 启动字段:0000-停留在引导提示符下(>或rommon >下)0001-从ROM中引导,

4 - 未使用

5 - 未使用

6 0x0040 配置系统忽略NVRAM中的配置信息

7 0x0080 启动OEM位

8 0x0100 设置之后,暂停键在系统运行时无法使用;如果没有设置,系统会进入引导监控模式下(rommon>)

9 -

10 0x0400 全0的就是广播地址

11-12 0x0800到0x1800 控制台线路速度,默认的就是00即9600bps

13 0x2000 如果启动失败,系统以缺省ROM软件启动

14 0x4000 -

15 0x8000 该设置能够启用诊断消息,并忽略NVRAM的内容

典型参数

l 0x2102: 运行过程中中断键被屏蔽,路由器会查看NVRAM中配置的内容以确定启动次序,如果启动失败会采用缺省的ROM软件进行启动。

l 0x2142:恢复密码时候使用。忽略NVRAM配置信息而进入初始配置对话模式中去

3.2. 密码恢复
路由器的密码恢复是将路由器重启、中断再进入ROM监控模式,将设备设置为忽略配置文件,然后再重启,退出初始配置对话模式,配置存储器,然后读出或重新设置密码即可。

根据路由器的处理器不同,需要分两种情况进行处理。

l 适用于精简指令集计算机(RISC):

1. 关掉路由器电源,然后重新打开电源

2. 按下break键或别的键盘组合将路由器置入ROM监控模式。Break键对不同计算机或终端软件是不同的,按键的次序可能是CTRL-D,CTRL-Break等。

3. 在rommon> 提示符下,键入conf reg 0x2142以设置路由器下一次从Flash加载启动的时候不要加载NVRAM中的启动配置信息

4. 键入reset命令,路由器将重启但忽略NVRAM中的配置信息

5. 路由器运行设置对话模式。输入no或按下CTRL-C以跳过初始设置对话模式

6. 在router>提示符下输入enable以进入特权执行模式

7. 使用config memory或者 startup running命令将启动配置信息拷贝到运行配置中去。不要输入config terminal,否则将覆盖NVRAM中的配置信息

8. show running查看配置信息的内容,

9. 输入config terminal进入配置模式,根据需要改变线路密码或enable密码

10. 这时所有的接口都处于关闭状态,因此在每一个需要使用的接口上no shutdown

11. 输入config reg 0x2102命令设置路由器下次按照正常的方式启动

12. 按下CTRL-Z或End退出配置模式

13. write memory或 run start命令保存所有所作的更改

14. 重启路由器并验证密码

非RISC:

1. 关掉路由器电源,然后重新打开电源

2. 按下break键或其他键进入ROM 监控模式

3. 在>提示符下,输入o命令以记录配置寄存器的当前值(通常是0x2102或0x0102)

4. 键入o/r 0x2142设置路由器下次启动不要加载NVRAM中的配置信息

5. 键入i重启路由器

6. 以下步骤和RISC处理器相关步骤一样

4. 路由器工作模式
l ROM监控模式:路由器已启动但是没有加载任何IOS,提示符为:>或rommon>

l 启动模式:启动Flash里含有最小化IOS启动程序,提示符为:router(boot)>

l 用户执行模式:成功加载启动了一份完整的IOS代码,可以显示系统信息、执行基本的测试等。不能查看配置文件和使用debug命令

l 特权执行模式:完全访问的第二级模式。可以现实系统设置和状态信息,可以进入配置模式,可以运行debug命令

l 配置模式:在enable模式中输入config terminal命令进入配置模式。可以对接口、路由器以及线路配置进行设置

l 初始配置对话模式;启动时候,如果路由器没有进行配置(可能是因为路由器是新的或配置文件被write erase命令删除了)的话,进入系统配置对话模式。可以依次进行主机名、执行密码以及enable密码的设置;还可对网络管理接口的IP和子网掩码配置。然后保存到NVRAM中去。

㈣ MSP430F5438/A 使用定时器触发ADC采样,怎样配置寄存器

#include "msp430x14x.h"

//初始化ADC12
P6SEL |= 0x01; // 使能ADC通道,默认的VREF为VCC
ADC12CTL0 = ADC12ON+SHT0_5+MSC; // 打开ADC,设置采样时间

/*选择内部参考电压源*/
// ADC12CTL0|= REFON+REF2_5V;
// ADC12MCTL0|=SREF_1;

ADC12CTL1 = SHP+CONSEQ_2; // 使用采样定时器
ADC12IE = 0x01; // 使能ADC中断
ADC12CTL0 |= ENC; // 使能转换
ADC12CTL0 |= ADC12SC; // 开始转换

_EINT();
LPM0;
}

#pragma vector=ADC_VECTOR
__interrupt void conversion()
{
uint buffer[32];

static uint index=0;
buffer[index++]=ADC12MEM0;
if(index==32)
{
index=0;
}


数据buffer中的数值 就是转换的数值

㈤ 请教各位大神,关于STM32F301 的ADC差分采样配置

1,ADC时钟是设为9M 2,ADC总转换时间=采样时间+12.5个ADC时钟周期(信号量转换时间),而采样时间由寄存器设定,最低1.5ADC周期,最大239.5ADC周期,也就是你程序中设置的55.5个采样周期。所以ADC一次采样的总采样时间是55.5+12.5=68个ADC周期,...

㈥ SmartRF Studi7可以配置ADC寄存器吗

嗯,可以的,这个adc的寄存器是可以配置的,一般是可以新加的。

㈦ mega16的adc 具体怎么操作是不是设好寄存器就只等结果返回了

这是我写过的一个程序,能用的,过程是先初始化好ADC,就是进行模式的基本设置,然后每次要读的时候,就触发一下ADC转换,等AD转换好后,读寄存器就行了。具体设置看数据手册。

#define F_CPU 7372800UL //定义时钟频率,保证delay函数的准确

#include<avr/io.h>
#include<util/delay.h>
#include<avr/interrupt.h>
#include<avr/signal.h>

int num_tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
int num=0;
void led_num(unsigned int num)
{
unsigned char temp,i;
for(i=0;i<4;i++)
{
PORTB=0XFF;
temp=num%10;
PORTA=num_tab[temp]&0xfe;
PORTB=~(1<<(3-i));
_delay_us(20);
num/=10;
}
}

void IO_init(void)
{
PORTA=0Xfe;
PORTB=0XFF;
PORTC=0XFF;
PORTD=0Xaf;
DDRA=0XFe;
DDRB=0XFF;
DDRC=0XFF;
DDRD=0Xff;
}

void adc_enable(void)
{
ADMUX=0Xc0;
ADCSRA=0X86;
ADCSRA|=0X40;
}
int read_adc(void)
{
char a,b;
int c=0;
ADCSRA|=0X40;
while(1)
{
if(ADCSRA&0X10)
{
a=ADCL;
b=ADCH;
c=(b<<8)|a;
return c;
}
}
}

int main(void)
{
int a,b=0,c;
IO_init();
adc_enable();
while(1)
{
b=read_adc();
b=(b*256)/1024;
for(c=0;c<100;c++)
led_num(b);
}
}

㈧ 关于DSP28335进行ADC的问题。

你设置的是第三个通道,那么adc寄存器配置的就应该是第三通道的,你跑例程应该是一通道ain0,建议你试试,外部接法没问题

㈨ AVP32F335中的ADC寄存器怎么配置

寄存器的配置的话,你可以去看一下他们官方出来的一个系列基本配置,然后可以去参照官方的配置,然后再给自己的寄存器进行搭配设置就可以了。

㈩ STM32定时器触发ADC怎么配置

简单点说,定时器的更新事件或捕捉事件触发ADC的转换操作。
这里有相关寄存器配置,即关联配置。ST官方库有相关例程。
比方F4cube库里的如下位置:\STM32Cube_FW_F4_V1.14.0\Projects\STM324xG_EVAL\Examples\ADC\ADC_TriggerMode