求助!ATMEGA64A串口0接收使能一开我的ADC值就会有影响!
各位大大帮我看看吧!单单使用串口1的时候对ADC值没有一点影响,用了串口0就会出现ADC值在0~2之间跳动!串口功能都正常,能发能收,但是只要一开串口0的接收使能位就会有ADC值抖动。抓狂啊!查不出问题,项目都快做完了出现这问题。纠结啊!补充下ADC用的内部基准源! /* 初始化UART */void UartInit(BYTE channel)
{
if(channel)
{
cli();
cbi(UCSR1B,RXCIE1);/* 关接收中断 */
UBRR1H=0;
UBRR1L=51; /* 9600Baud @8MHz */
UCSR1C=0x86; /* n,8,1 */
cbi(UCSR1A,U2X1); /* 禁止倍速 */
cbi(UCSR1A,MPCM1);/* 禁止多机通讯 */
UCSR1B=0x98; /* 允许发送和接收,开接收中断,关发送中断 */
sei();
}
else
{
cli();
cbi(UCSR0B,RXCIE0);/* 关接收中断 */
UBRR0H=0;
UBRR0L=51; /* 9600Baud @8MHz */
UCSR0C=0x86; /* n,8,1 */
cbi(UCSR0A,U2X0); /* 禁止倍速 */
cbi(UCSR0A,MPCM0);/* 禁止多机通讯 */
UCSR0B=0x98; /* 允许发送和接收,开接收中断,关发送中断 */
sei();
}
}
附上我的初始化函数!求大神啊! 求高人啊!有世外高人指点下AD值会和USART0有关联吗
页:
[1]