📄 przetwornikac.c
字号:
/******************************************************************************/
/* PrzetwornikAC.c */
/******************************************************************************/
#include <LPC2103.H> //Definicje dla procesora LPC2103.
#ifndef __PrzetwornikAC_c //Zabezpieczenie przed wielokrotnym wczytaniem pliku.
#define __PrzetwornikAC_c
void inicjalizujPrzetwornikAC(void) //Inicjalizuje przetwornik A/C.
{
PINSEL1 |= 0x0000F000; //P0.22 -> AD0.0,P0.23 -> AD0.1.
ADCR = 0x00200400; //AD0 taktowany z f=3MHz (PCLK/(4+1)),
//konwersje robione programowo, 11 clock'體/10bitow.
}
void zmierzNapiecia(unsigned int *a,unsigned int *b)
{
unsigned int i; //Zmiena pomocnicza.
ADCR = 0x00200401; //Probkowany bedzie kanal AD0.0.
ADCR |= 0x01000000; //Rozpoczecie pomiaru.
do
{
i = ADGDR; //Odczyt z Global Data Register.
}
while ((i & 0x80000000) == 0); //Czekanie na koniec pomiaru.
*a = (i >> 6) & 0x03FF; //Bity 6..15 zawieraja wartosc zmierzona.
ADCR &= ~0x01000000; //Zatrzymaie przetworika.
ADCR = 0x00200402; //Probkoway bedzie kanal AD0.1.
ADCR |= 0x01000000; //Rozpoczecie pomiaru.
do
{
i = ADGDR; //Odczyt z Global Data Register.
}
while ((i & 0x80000000) == 0); //Czekanie na koniec pomiaru.
*b = (i >> 6) & 0x03FF; //Bity 6:15 zawieraja wartosc mierzona.
ADCR &= ~0x01000000; //Zatrzymanie przetwornika.
}
#endif // __PrzetwornikAC_c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -