سلام
من با میکرو AT91SAM7X256 کار میکنم ،
طبق این برنامه ای که من نوشتم من میخوام یک سیگنال AC را به یکی از پایه های ADC میکرو بعنوان ورودی بدهم و بعد از تبدیل داده ها به دیجیتال ، خروجی adc از طریق پورت سریال به کامپیوتر ارسال کنم (انتظار دارم خروجی را با استفاده ازمکس 232 در محیط ترمینال ببینم) اما متاسفانه با اینکه برنامه هیج ای error نمیدهد برنامه اصلا جواب نمیده یعنی هیچ عددی رو محیط ترمینال ارسال نمیکنه من حتی از محیط شبیه ساز خود نرم افزار keil استفاده کردم و جواب داد یعنی داده های دیجیتال شده و ارسال میکرد و در usart1 داده ها دیده میشد اما وقتی سخت افزاری امتحان میکنم جوابی نمیدهد.
#include "AT91SAM7x256.h"
#include "usart.h"
#include "stdio.h"
int a;
int main(void)
{
//ADC:
*AT91C_ADC_CR=0x01; //reset adc
*AT91C_ADC_CHER=0x00000012;
*AT91C_ADC_MR=0x1000100;
//usart:
USART(18432000,9600,0);
usart0_init();
printf("%d",a);
while(1)
{
*AT91C_ADC_CR=0x02;
while(((*AT91C_ADC_SR)&0x012)==0);
a=*AT91C_ADC_CDR1;
PORTA_OUTPUT=a;
}
}
من با میکرو AT91SAM7X256 کار میکنم ،
طبق این برنامه ای که من نوشتم من میخوام یک سیگنال AC را به یکی از پایه های ADC میکرو بعنوان ورودی بدهم و بعد از تبدیل داده ها به دیجیتال ، خروجی adc از طریق پورت سریال به کامپیوتر ارسال کنم (انتظار دارم خروجی را با استفاده ازمکس 232 در محیط ترمینال ببینم) اما متاسفانه با اینکه برنامه هیج ای error نمیدهد برنامه اصلا جواب نمیده یعنی هیچ عددی رو محیط ترمینال ارسال نمیکنه من حتی از محیط شبیه ساز خود نرم افزار keil استفاده کردم و جواب داد یعنی داده های دیجیتال شده و ارسال میکرد و در usart1 داده ها دیده میشد اما وقتی سخت افزاری امتحان میکنم جوابی نمیدهد.
#include "AT91SAM7x256.h"
#include "usart.h"
#include "stdio.h"
int a;
int main(void)
{
//ADC:
*AT91C_ADC_CR=0x01; //reset adc
*AT91C_ADC_CHER=0x00000012;
*AT91C_ADC_MR=0x1000100;
//usart:
USART(18432000,9600,0);
usart0_init();
printf("%d",a);
while(1)
{
*AT91C_ADC_CR=0x02;
while(((*AT91C_ADC_SR)&0x012)==0);
a=*AT91C_ADC_CDR1;
PORTA_OUTPUT=a;
}
}
دیدگاه