سلام
من به تازگی با winavr شروع به برنامه نویسی کرده ام و در این مدت کوتاه واقعا دارم از اون لذت میبرم
یک کد ساده نوشتم که منطقش درست به نظر میرسه اما تو پروتوس کار نمیکنه
#include <avr/io.h>
#include <avr/delay.h>
int main (void)
{
int a;
a=100;
// set PORTD for output
DDRD = 0xFF;
while(1) {
/*for(int i = 1; i <= 8; i++)
{
for(int j=1;j<=8;j++)
{
}
} */
a=a*2;
PORTD=a;
}
return 1;
}نمیدانم چرا در پورت دی هیچ تغییری نمیکنه و همش صفر نشون میده .
اما وقتی بجای a=a*2 از ++a یا --a استفاده میکنم کار میکنه و پورت دائما تغییر میکنه اما برای ضرب یا تقسیم کار نمیکنه
خوشحال میشوم اگر راهنمایی کنید.
من به تازگی با winavr شروع به برنامه نویسی کرده ام و در این مدت کوتاه واقعا دارم از اون لذت میبرم
یک کد ساده نوشتم که منطقش درست به نظر میرسه اما تو پروتوس کار نمیکنه
#include <avr/io.h>
#include <avr/delay.h>
int main (void)
{
int a;
a=100;
// set PORTD for output
DDRD = 0xFF;
while(1) {
/*for(int i = 1; i <= 8; i++)
{
for(int j=1;j<=8;j++)
{
}
} */
a=a*2;
PORTD=a;
}
return 1;
}
اما وقتی بجای a=a*2 از ++a یا --a استفاده میکنم کار میکنه و پورت دائما تغییر میکنه اما برای ضرب یا تقسیم کار نمیکنه
خوشحال میشوم اگر راهنمایی کنید.
دیدگاه