📄 zz06_adc.c
字号:
/******************************************
** 功能描述: ADC测试,将AN15的采样值通过串口发送**
******************************************/
#include "p30f6014.h"
int failmemory[40];
unsigned long int i = 0;
void adcinitial() //ADC初始化
{
TRISBbits.TRISB15 = 1;
ADPCFG = 0x7fff; //端口配置,清0为模拟引脚
ADCHSbits.CH0SA = 0xf; //输入通道选择
ADCON3bits.ADCS = 0x28; //转换时钟配置
ADCON1 = 0x00; //转换触发配置,手动模式
ADCON2 = 0x00; //参考电压AVCC,序列禁止
ADCON1bits.ADON = 1; //启动ADC模块
return;
}
void sciinitial() //SCI初始化
{
U1MODE=0x8000; //使能UART,8,N,1
U1STA=0x0400; //发送使能
U1BRG=0X40; //9600pds@10M*4Xpll
return;
}
int main()
{
INTCON1=0x0000;
INTCON2=0x0000; //关闭所有中断
adcinitial();
sciinitial();
while(1)
{
for (i=0;i<200000;i++){}
ADCON1bits.SAMP = 1; //启动采样
for (i=0;i<10;i++){} //采样等待
ADCON1bits.SAMP = 0; //启动转换
while (ADCON1bits.DONE==0){}
i = ADCBUF0;
U1TXREG = i>>8;
while (U1STAbits.TRMT==0){}
U1TXREG = i;
while (U1STAbits.TRMT==0){}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -