برای مشاهده روند ساخت پروژه ها و محصولات به کانال تلگرام ما بپیوندید           
  خانه محصولات دانلود پروژه ها بحث و گفتگو وبلاگ آموزشها و مقالات تماس با ما  

  فروم khazama.com --> الکترونیک دیجیتال --> ارتباط 2 میکرو با hmt

  يكشنبه 6 شهريور 90 , 5:24 PM


کاربر
hasanalmasi
تعداد پستها : 13
ارتباط 2 میکرو با hmt

سلام من ماژول hmt-hmrرو تهیه کردم و مدارشو بستم اما روی ال سی دی چرتو پرت نشون میده؟؟؟
اگه ممکنه یه کد تو کد ویزن برا ارسال یک کلمه برام نمونه بزارین؟؟
ممنون بد جوری در گیرم کرده وجواب نمی ده

با اسیلاتور داخلی 1مگ و باودریت 1200 کار کردم!!
فکر کنم باید اینجا مطرح می شده نه تو بخش کد نویسی

  يكشنبه 6 شهريور 90 , 7:10 PM


مدیر سایت
behzad
تعداد پستها : 905
معمولا اینها در حالت عادی امکان نویز گرفتن رو دارند و وقتی سیگنال گیرنده میرسه خروجی اصلاح میشه
میتونید برنامتون رو بزارید تا بشه راهنمائی کرد
این فایل رو هم ببینید ممکنه کمک کنه
http://www.persiangig.com/pages/download/?dl=http://h-najafi.persiangig.com/Maghalate%20Electronic/PDF%20BY%20SOBHAN%20SARVARI.pdf

_______________________________________________________________________
پروژه های حرفه ای الکترونیک و کامپیوتر در www.khazama.com
مجموعه متن باز نامهای اصیل ایرانی
وبلاگ نوشته های شخصی من


  سه‌شنبه 8 شهريور 90 , 3:52 PM


کاربر
hasanalmasi
تعداد پستها : 13
hmt

با سلام
الان می تونم ارتباط برقرار کنم ولی مشکل اینجاست که  داده ی ارسالیم باید تو while باشه تا هی ارسال بشه و hmt بخواب نره
دوم اینکه من می خوام یک کلمه ای از کی برد خونده و ارسال کنم وقتی با getkey() می خونم چه  جوری  این کاراکتر ها رو به رشته تبدیا کنم؟چون با puts() ارسال می کنم و با grts()  می گیرم!!
اینم برنامم
transfer
 
/*****************************************************
This program was produced by the
CodeWizardAVR V1.24.8d Professional
Automatic Program Generator
© Copyright 1998-2006 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
 
Project : 
Version : 
Date    : 2011/08/26
Author  : F4CG                            
Company : F4CG                            
Comments: 
 
 
Chip type           : ATmega8
Program type        : Application
Clock frequency     : 1.000000 MHz
Memory model        : Small
External SRAM size  : 0
Data Stack size     : 256
*****************************************************/
 
#include <mega8.h>
#include <stdlib.h>
#include <delay.h>
#include <stdio.h>  
 
 char a[10];
// Alphanumeric LCD Module functions
#asm
   .equ __lcd_port=0x18 ;PORTB
#endasm
#include <lcd.h>
 char ch;
// Standard Input/Output functions
 
 
// Declare your global variables here
 
void main(void)
{
int i;  
 
// Declare your local variables here
 
// Input/Output Ports initialization
// 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
// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
// 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
TCCR0=0x00;
TCNT0=0x00;
 
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 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: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
 
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
MCUCR=0x00;
 
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;
 
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: Off
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud rate: 1200
UCSRA=0x00;
UCSRB=0x08;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x33;
 
 
 
 
 
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
 
// LCD module initialization
  delay_ms(1000);
lcd_putsf(" transfer ");
  delay_ms(1000);    
for(i-0;i<10;i++)    
{
a[i]='A';
i++;
}
while (1)
      { 
puts(a);
      // Place your code here
 
      };
}
 
 
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
resiver
 
 
 
 
 
 
 
 
 
/*****************************************************
This program was produced by the
CodeWizardAVR V1.24.8d Professional
Automatic Program Generator
© Copyright 1998-2006 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
 
Project : 
Version : 
Date    : 2011/08/26
Author  : F4CG                            
Company : F4CG                            
Comments: 
 
 
Chip type           : ATmega8
Program type        : Application
Clock frequency     : 1.000000 MHz
Memory model        : Small
External SRAM size  : 0
Data Stack size     : 256
*****************************************************/
 
#include <mega8.h>
#include <stdlib.h>
#include <delay.h>
#include <stdio.h>   
 
// Alphanumeric LCD Module functions
#asm
   .equ __lcd_port=0x18 ;PORTB
#endasm
#include <lcd.h>
 
// Standard Input/Output functions
char  a[10];
int j;
// Declare your global variables here
char str[10];
char lcd[10];
void main(void)
{
// Declare your local variables here
 
// Input/Output Ports initialization
// 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
// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
// 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
TCCR0=0x00;
TCNT0=0x00;
 
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 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: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
 
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
MCUCR=0x00;
 
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;
 
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: Off
// USART Mode: Asynchronous
// USART Baud rate: 1200
UCSRA=0x00;
UCSRB=0x10;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x33;
 
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
 
// LCD module initialization
 
 
lcd_init(16);
lcd_putsf(" resiv ");
delay_ms(1000);
  lcd_clear();  
while (1)
      {
    
gets(a,10);
lcd_puts(a);
 
 
      // Place your code here
 
      };
}
مشکلم اینجاست که نمی دونم getkey()   که تو برنامه ی کیبورد هستش  کاراکت بر می گردونه یا iny  ???
می شه بگین تبدیل هر یک از اینایی که گفتم به str رشتع چه جوریه؟
چون pute رشته ارسال می کنه؟؟
ممنون 
 

  شنبه 12 شهريور 90 , 9:46 PM


مدیر سایت
behzad
تعداد پستها : 905
متوجه نشدم کدوم getkey رو میگید
به هر حال از تعریف تابع مشخص میشه چه چیزی بر میگردونه (کاراکتر یا اینیت)
برای تبدیل عدد به رشته میتونید از توابعی مثل atoi و itoa و چیزای شبیه به اون استفاده کنید
البته خود دستور printf هم میتونه دستور بسیار قدرتنمدی برای فرمت کردن رشته و عدد باشه ...

در حالت ساده بهتره ابتدای هر بار ارسال چند بایت مشخص ارسال کنید تا بفهمید پکت از کجا شروع میشه معمولا این بایتهای ثابت کاراکتر U هستند .
نکته بعدی هم اینکه از gets با مقدار حداکثر طول 10 استفاده کردید که باعث میشه تا 10 تا کاراکتر نگیره چیزی نشون نده . بهتره مقدارش رو یک کنید
ورژن کدویژنتون هم خیلی قدیمیه . نسخه جدید توی سایت هست .

**  آخرین ویرایش در  شنبه 12 شهريور 90 - 9:54 PM

_______________________________________________________________________
پروژه های حرفه ای الکترونیک و کامپیوتر در www.khazama.com
مجموعه متن باز نامهای اصیل ایرانی
وبلاگ نوشته های شخصی من


  يكشنبه 13 شهريور 90 , 11:30 AM


کاربر
hasanalmasi
تعداد پستها : 13
ارتباط 2 میکرو با hmt

با سلام
ممنون از راهنماییتون 
منظورم getchar() بود !!
با printf()   کار نکردم چون وقتی با scsnf()  می خوام بخونم هیچی بر نمی گردونه؟
مسله دیگه اینه که برنامه ای  نوشتم که abcdef رو ارسال کنه و بگیره اما  2تا کارکترو از وسط می ندازه!!
اما تو پروتوس درست کار می کنه؟؟ اگه نمونه کدی از ارسال و دربافت با print() دارید ممنون می شم؟
با تشکر

  دوشنبه 14 شهريور 90 , 4:12 PM


مدیر سایت
behzad
تعداد پستها : 905
از نسخه جدید کدویزن استفاده کنید و برای دریافت هم از روش اینتراپتی استفاده کنید .

_______________________________________________________________________
پروژه های حرفه ای الکترونیک و کامپیوتر در www.khazama.com
مجموعه متن باز نامهای اصیل ایرانی
وبلاگ نوشته های شخصی من


  صفحه : [1]    
 
 


Designer And Programmer : Behzad khazama
Coded With ASP.NET
تمامي حقوق مادي و معنوي مطالب متعلق به اين سايت ميباشد .
هر گونه استفاده از مطالب اين سايت تنها با ذکر منبع بلامانع ميباشد
.
www.khazama.com
Tel : 051-44641597 - 09363677001 - 09155714862
Support SMS Center: 09363677100