سلام
3 تا کد اینجاست که اولیش راحت کار میکنه دومیش نه و سومیش عجیبه که کار میکنه
lcd_putsf درسته تابعش . من اسمشو این گذاشتم ربطی به سیستم codevision نداره
این کد بالا قشنگ کار میکنه بدون هیچ مشکلی و اسم سعید رو مینویسه اما کد پایین کار نمیکنه
خیلی تو نت گشتم کلافه شدم
oo: اما جواب نمیده . %d , %s %.. همرو هم امتحان کردم
حتی این برنامه زیر هم جواب میده و سعید رو ال سی دی میاد اما به محزی که % میخوره یا جواب نمیده هیچی نمیاد یا پروتئوس گیر میده سیموله نمیکنه
اررور تو پروتئوس هم:
POP PROGRAM STACK : SP IS NOT INITIALIZED یا out of program memory size میده . رو flash هم نمیتونم بریزمش چون متغییره
سایز CSTACK هم تا 0x65 بردم بالا رو FF اروور میده! اما جواب نداد . تنظیماتی هم داره خود IAR که انجام بدم؟
با این همه راهی هست یه عدد چند رقمی رو دونه دونه جدا کنم و به ارایه ببرم ؟
3 تا کد اینجاست که اولیش راحت کار میکنه دومیش نه و سومیش عجیبه که کار میکنه
lcd_putsf درسته تابعش . من اسمشو این گذاشتم ربطی به سیستم codevision نداره
کد:
#include <iom16.h> #include <stdio.h> #include "delay.h" #include "lcd.h" #include "seg.h" #include "spi.h" unsigned char adc_read(int); int b; char lcd[]={'s','a','e','e','d'}; void main(void) { DDRA=0x00; DDRC=0xFF; DDRD=0xff; DDRB=0xFF; lcd_init(); while(1) { lcd_putsf(lcd); delay_ms(1000); lcd_clr(); } }
کد:
#include <iom16.h> #include <stdio.h> #include "delay.h" #include "lcd.h" #include "seg.h" #include "spi.h" unsigned char adc_read(int); int b; char lcd[20]; void main(void) { DDRA=0x00; DDRC=0xFF; DDRD=0xff; DDRB=0xFF; lcd_init(); while(1) { for(b=0;b<=10;b++) { sprintf(lcd,"%d",b); lcd_putsf(lcd); delay_ms(100); lcd_clr(); } } }

حتی این برنامه زیر هم جواب میده و سعید رو ال سی دی میاد اما به محزی که % میخوره یا جواب نمیده هیچی نمیاد یا پروتئوس گیر میده سیموله نمیکنه
کد:
#include <ioavr.h> #include <stdio.h> #include "delay.h" #include "lcd.h" void main(void) { int b=101; char buff[20]; DDRA=0xff; DDRB=0xFF; lcd_init(); while(1) { sprintf(buff,"saeed",b); lcd_putsf(buff); delay_ms(1000); lcd_clr(); } }
POP PROGRAM STACK : SP IS NOT INITIALIZED یا out of program memory size میده . رو flash هم نمیتونم بریزمش چون متغییره
سایز CSTACK هم تا 0x65 بردم بالا رو FF اروور میده! اما جواب نداد . تنظیماتی هم داره خود IAR که انجام بدم؟
با این همه راهی هست یه عدد چند رقمی رو دونه دونه جدا کنم و به ارایه ببرم ؟
دیدگاه