سلام
خیلی تو سایتا و همین انجمن دنبال یه کد برا راه اندازی max6675 تو کدویون گشتم ولی چیز بدرد بخوری پیدا نکردم
چندتا کد پیدا کردم دیتا رو میخونه با spi ولی در اخر دما رو اشتباه نشون میده
چندتا از دوستان هم که تو انجمن کد گذاشته بودن صرفا از یه سایت کپی کرده بودن یا برا اردینو بود و بدردم نمیخورد.
ممنون میشم اگه راهنمایی کنین
این کد که میزارم دیتارو میخونه ولی خب دما اشتباهه
************************************************** *****************
#define SS1 PORTB.0
----------------------------------------------------
char str1[17];
unsigned int x,y,z;
--------------------------------------------
int get_temp(int temp)
{
x=0;
y=0;
z=0;
SS1=0;
delay_ms(10);
x=spi(0x00);
y=spi(0x00);
delay_ms(10);
SS1=1;
z=x;
z=(z<<8);
z|=y;
z=(z>>3)&0xfff;
z=(z/5);
return z;
}
------------------------------------------------------------------
while (1)
{
lcd_gotoxy(0,0);
sprintf(str1,"T1:%d%cC ",get_temp(1),223);
lcd_puts(str1);
puts(str1);
delay_ms(200);
خیلی تو سایتا و همین انجمن دنبال یه کد برا راه اندازی max6675 تو کدویون گشتم ولی چیز بدرد بخوری پیدا نکردم
چندتا کد پیدا کردم دیتا رو میخونه با spi ولی در اخر دما رو اشتباه نشون میده
چندتا از دوستان هم که تو انجمن کد گذاشته بودن صرفا از یه سایت کپی کرده بودن یا برا اردینو بود و بدردم نمیخورد.
ممنون میشم اگه راهنمایی کنین
این کد که میزارم دیتارو میخونه ولی خب دما اشتباهه
************************************************** *****************
#define SS1 PORTB.0
----------------------------------------------------
char str1[17];
unsigned int x,y,z;
--------------------------------------------
int get_temp(int temp)
{
x=0;
y=0;
z=0;
SS1=0;
delay_ms(10);
x=spi(0x00);
y=spi(0x00);
delay_ms(10);
SS1=1;
z=x;
z=(z<<8);
z|=y;
z=(z>>3)&0xfff;
z=(z/5);
return z;
}
------------------------------------------------------------------
while (1)
{
lcd_gotoxy(0,0);
sprintf(str1,"T1:%d%cC ",get_temp(1),223);
lcd_puts(str1);
puts(str1);
delay_ms(200);