با سلام ممنون که سوالم را جواب دادی
ولی جواب نگرفتم شما خودت برنامه رو تو کدویژن کامپایل کردی
به خطای زیر میرسی خوب اول کل برنامه رو که نوشتم ببین
کد:
/*****************************************************
This program was produced by the
CodeWizardAVR V2.05.0 Advanced
Automatic Program Generator
© Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
Project :
Version :
Date : 4/24/2015
Author : www.Eca.ir *** www.Webkade.ir
Company :
Comments:
Chip type : ATmega16
Program type : Application
AVR Core Clock frequency: 8.000000 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 256
*****************************************************/
#include <mega16.h>
#include <delay.h>
// I2C Bus functions
#asm
.equ __i2c_port=0x15 ;PORTC
.equ __sda_bit=1
.equ __scl_bit=0
#endasm
#include <i2c.h>
#include <BMP085.h>
// Alphanumeric LCD Module functions
#include <alcd.h>
// Declare your global variables here
long int p=0,h=0,T=0;
char buffer [60];
void main(void)
{
// Declare your local variables here
// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;
// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;
// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=0xFF
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=0xFFFF
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=0xFF
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;
// USART initialization
// USART disabled
UCSRB=0x00;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
// ADC initialization
// ADC disabled
ADCSRA=0x00;
// SPI initialization
// SPI disabled
SPCR=0x00;
// TWI initialization
// TWI disabled
TWCR=0x00;
// I2C Bus initialization
i2c_init();
// Alphanumeric LCD initialization
// Connections specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
// RS - PORTA Bit 0
// RD - PORTA Bit 1
// EN - PORTA Bit 2
// D4 - PORTA Bit 4
// D5 - PORTA Bit 5
// D6 - PORTA Bit 6
// D7 - PORTA Bit 7
// Characters/line: 16
lcd_init(16);
while (1)
{getPressure(&p);
getAltitude(&h);
getTemperature(&T);
sprintf (buffer,"%s:%s:%s",p,h,T);
lcd_clear();
lcd_gotoxy(0,0);
lcd_putsf("mohandes:iman.nejaty");
lcd_gotoxy(0,1);
lcd_puts(buffer);
// Place your code here
}
}
اینم خطا:
Error: C:\cvavr2\inc\BMP085.h(38), included from: feshar sanj.c: can't open #include file: WProgram.h
بعدش کتابخانه: WProgram.h
پیدا کردم و در مسیر کتابخانه های کدویژن کپی کردم
و باز امدم دوباره کامپایل کردم و اینبار پیغام خطای قبلی را نداد و جدید بود پیام این بود :
Error: C:\cvavr2\inc\WProgram.h(1), included from: BMP085.h: missing '('
دوبار روش کلیک کردم دیدم نوشته : Arduino.h
اینبار این کتابخانه را هم پیدا کردم و کپی کردم اما باز همین خطا را داد
اگر راهنمایی کنید ممنون میشم
نوشته اصلی توسط
skiboys
سلام ...
در مورد باومتریک با یک سرچ کوچیک می تونستی توی ویکی پدیا معنیشو پیدا کنی
فشار بارومتریک یا فشار اتمسفر نیرویی است که اتمسفر بر یک نقطه وارد می کنه خیلی ساده تر می شه وزن هوایی که روی اون نقطه قرار داره واحدآن هم میلی بار
(millibars=mb) یا به صورت میلی متر جیوه یا اینچ بر جیوه بیان می شه
که فشار معمولی در سطح دریا
1013.3 میلی بار(29.92 اینچ بر جیوه) می باشد
تغییرات یا نوسانات این مقدار به شرایط آب هوایی بستگی دارد و همچنین با تغییر ارتفاع و رطوبت مقدار فشار تغییر می کند
خب حالا بریم قسمت برنامه نویسی توی نت بگردی مثال پیدا می کنی هدری هم که برایم فرستادی یکم اصلاح کردم حالا امتحان کن
BMP085
این هدر را در همون مسیر cvavr\inc کپی کن بعد با دستور زیر درفایل c اینکلودش کن
اینجا هم یک مثال هست ببین بدردت می خوره
variostudio/AtTinyBMP085 · GitHub
دیتاشیتش هم خوب مطالعه کن
موفق باشی