| Next revision | Previous revision |
| pt:software:homelab:library:adc [2015/12/07 19:21] – Criação deste novo documento. artica | pt:software:homelab:library:adc [2020/07/20 12:00] (current) – external edit 127.0.0.1 |
|---|
| |
| * **//adc_reference//** \\ Enumeração dos tipos para voltagem de referência do ADC. Opções: | * **//adc_reference//** \\ Enumeração dos tipos para voltagem de referência do ADC. Opções: |
| |
| * //ADC_REF_AREF// - Voltagem de referência do pin AREF. | * //ADC_REF_AREF// - Voltagem de referência do pin AREF. |
| * //ADC_REF_AVCC// - Voltagem de referência do pin AVCC. | * //ADC_REF_AVCC// - Voltagem de referência do pin AVCC. |
| * //ADC_REF_2V56// - Voltagem de referência interna - 2,56 V. | * //ADC_REF_2V56// - Voltagem de referência interna - 2,56 V. |
| |
| * **//adc_prescale//** \\ ADC clock prescaler enumration data type. It determines the division factor of system clock. Options: | * **//adc_prescale//** \\ Enumeração dos tipos de prescaler de relógio ADC. Determina o factor de divisão do sistema de relógio. Opções: |
| * //ADC_PRESCALE_2// - Division factor 2. | * //ADC_PRESCALE_2// - Factor de divisão 2. |
| * //ADC_PRESCALE_4// - Division factor 4. | * //ADC_PRESCALE_4// - Factor de divisão 4. |
| * //ADC_PRESCALE_8// - Division factor 8. | * //ADC_PRESCALE_8// - Factor de divisão 8. |
| * //ADC_PRESCALE_16// - Division factor 16. | * //ADC_PRESCALE_16// - Factor de divisão 16. |
| * //ADC_PRESCALE_32// - Division factor 32. | * //ADC_PRESCALE_32// - Factor de divisão 32. |
| * //ADC_PRESCALE_64// - Division factor 64. | * //ADC_PRESCALE_64// - Factor de divisão 64. |
| * //ADC_PRESCALE_128// - Division factor 128. | * //ADC_PRESCALE_128// - Factor de divisão 128. |
| |
| ===== Functions ===== | ===== Funções ===== |
| |
| * **//void adc_init(adc_reference reference, adc_prescale prescale)//** \\ | * **//void adc_init(adc_reference reference, adc_prescale prescale)//** \\ |
| Initializes ADC. Parameters: | Inicializa o ADC. Parâmetros: |
| * //reference// - Reference voltage selection. | * //reference// - Selecção da voltagem de referência. |
| * //prescale// - Clock prescaler selection. | * //prescale// - Selecção do prescaler de relógio. |
| |
| * **//unsigned short adc_get_value(unsigned char channel)//** \\ | * **//unsigned short adc_get_value(unsigned char channel)//** \\ |
| Converts specified ADC channel analog value to digital. Function is blocking. Parameter: | Converte o valor analógico do canal ADC especificado num valor digital. Bloqueia o processador. Parâmetro: |
| * //channel// - ADC channel number (0 to 7). | * //channel// - número do canal ADC (0 a 7). |
| * Return 10-bit digital value. | * Devolve um valor digital de 10 bits. |
| |
| * **//unsigned short adc_get_average_value(unsigned char channel, unsigned char num_samples)//** \\ | * **//unsigned short adc_get_average_value(unsigned char channel, unsigned char num_samples)//** \\ |
| Converts specified ADC channel analog value to digital desired number of times and calculates the average. Function is blocking. Parameters: | Converte o valor analógico do canal ADC especificado para digital um número de vez especificadas e calcula a sua média. Bloqueia o processador. Parâmetros: |
| * //channel// - ADC channel number (0 to 7). | * //channel// - Número do canal ADC (0 a 7). |
| * //num_samples// - Number of samples for calculation (1 to 64). | * //num_samples// - Número de amostras para cálculo (1 a 64). |
| * Return 10-bit digital value. | * Devolve um valor digital com 10 bits. |
| |
| ===== Example ===== | ===== Exemplo ===== |
| |
| For example ADC is initialized and two analog channel values are converted to digital. Value of channel 0 is assigned to variable //x// and averaged value of channel 1 to variable //y//. | O ADC é inicializado e os valores de dois canais analógicos são convertidos para digital. O valor do canal 0 é alocado à variável //x// e o valor médio do canal 1 à variável //y//. |
| |
| <code c> | <code c> |