سلام
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();
}
}
}
oo: اما جواب نمیده . %d , %s %.. همرو هم امتحان کردمحتی این برنامه زیر هم جواب میده و سعید رو ال سی دی میاد اما به محزی که % میخوره یا جواب نمیده هیچی نمیاد یا پروتئوس گیر میده سیموله نمیکنه
کد:
#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 که انجام بدم؟
با این همه راهی هست یه عدد چند رقمی رو دونه دونه جدا کنم و به ارایه ببرم ؟




دیدگاه