سلام ...
من یه پروژه دارم که باید جدایی از پورت سریال میکرو یه پورت دیگه به میکرو اضافه کنم مثلا میکروی atmega32 که 1 پورت سریال داره به 2 تا یا بیشتر دسترسی داشته باشه .... :|
سلام
هردوتا پورت باید uart باشن؟
با پروتکل ارتباطی دیگه نمیشه کار کنید؟
یه مدار داخلی از max232 دارم و پیدا کنم پیوست میکنم
شاید بکمک مدار داخلی بشه یه کارهایی کرد
(۲۴-تير-۱۳۹۲, ۱۳:۳۳:۰۰)h0x00i نوشته است: [ -> ]سلام ...
من یه پروژه دارم که باید جدایی از پورت سریال میکرو یه پورت دیگه به میکرو اضافه کنم مثلا میکروی atmega32 که 1 پورت سریال داره به 2 تا یا بیشتر دسترسی داشته باشه .... :|
بیسکام این قابلیت رو دراه
-
کلا برید میکرو هایی هستن مثل ATtiny26 که اصلا سریال ندارن یه جور تایمر دارن که کمک می کنه با سریال ارتباط برقرار کرد برید اپلیکشن نوت اونهارو بخونید خیلی کمک می کنه
(۲۴-تير-۱۳۹۲, ۱۴:۱۴:۵۸)r0b0 نوشته است: [ -> ]سلام
هردوتا پورت باید uart باشن؟
با پروتکل ارتباطی دیگه نمیشه کار کنید؟
یه مدار داخلی از max232 دارم و پیدا کنم پیوست میکنم
شاید بکمک مدار داخلی بشه یه کارهایی کرد
سلام اره باید uart باشه
فک نکنم مدار داخلی max232 بتونه کمکی کنه دوتا بافره دیگه ؟
(۲۴-تير-۱۳۹۲, ۱۴:۴۵:۰۲)behzady نوشته است: [ -> ] (۲۴-تير-۱۳۹۲, ۱۳:۳۳:۰۰)h0x00i نوشته است: [ -> ]سلام ...
من یه پروژه دارم که باید جدایی از پورت سریال میکرو یه پورت دیگه به میکرو اضافه کنم مثلا میکروی atmega32 که 1 پورت سریال داره به 2 تا یا بیشتر دسترسی داشته باشه .... :|
بیسکام این قابلیت رو دراه
-
کلا برید میکرو هایی هستن مثل ATtiny26 که اصلا سریال ندارن یه جور تایمر دارن که کمک می کنه با سریال ارتباط برقرار کرد برید اپلیکشن نوت اونهارو بخونید خیلی کمک می کنه
ااااا چه جوری ؟؟؟ می تونی بیشتر توضیح بدی یا کلید واژه سرچ بدی ؟
آره حامد خان ، به صورت نرم افزاری می تونی پورت open و close کنی ، روی این سیستم بسکام ندارم ، تو ذهنمم نیست ، اما یه شمارهه به پورت نسبت می دی و بعد هم قبل از استفاده open اش می کنی ، توی دستوراتش هم # داشت !
( چه راهنمایی کردم !! :) )
(۲۴-تير-۱۳۹۲, ۱۴:۴۵:۰۲)behzady نوشته است: [ -> ]برید اپلیکشن نوت اونهارو بخونید خیلی کمک می کنه
همین طور الکی سرچ کردم این اومد
doc0952
(۲۶-تير-۱۳۹۲, ۰۰:۰۵:۲۴)salehjg نوشته است: [ -> ] (۲۴-تير-۱۳۹۲, ۱۴:۴۵:۰۲)behzady نوشته است: [ -> ]برید اپلیکشن نوت اونهارو بخونید خیلی کمک می کنه
همین طور الکی سرچ کردم این اومد
doc0952
صالح جان چقدر قشنگ الکی سرچ می کنی :>
کد:
SOFTWARE UART
The previous examples used the hardware UART. That means the compiler uses the internal UART registers and internal hardware (RxD(0) and TxD(0)) of the AVR. If you don’t have a hardware UART you can also use a software UART.
The Bascom compiler makes it easy to “create” additional UART’s. Bascom creates software UART’s on virtually every port pin.
Remember that a software UART is not as robust as a hardware UART, thus you can get timing problems if you have lots of interrupts in your program.
For this example we use micro controller pins portc.1 and portc.2.
Connect portc.1 to TxD and portc.2 to RxD see the schematic above.
Change the $regfile and program this example:
$regfile = "m88def.dat"
$crystal = 8000000
$baud = 19200
Dim B As Byte
Waitms 100
'Open a TRANSMIT channel for output
Open "comc.1:19200,8,n,1" For Output As #1
Print #1 , "serial output"
'Now open a RECEIVE channel for input
Open "comc.2:19200,8,n,1" For Input As #2
'Since there is no relation between the input and output pin
'there is NO ECHO while keys are typed
Print #1 , "Press any alpha numerical key"
'With INKEY() we can check if there is data available
'To use it with the software UART you must provide the channel
Do
'Store in byte
B = Inkey(#2)
'When the value > 0 we got something
If B > 0 Then
Print #1 , Chr(b) 'Print the character
End If
Loop
Close #2 'Close the channels
Close #1
End
این روشی که میشه تو بسکام این کارو کرد ولی من تو C لازم دارم ، توی این کد پورت C.1 , C.2 به عنوان TXd , RXd انتخاب شدن
نقل قول: این روشی که میشه تو بسکام این کارو کرد ولی من تو C لازم دارم ، توی این کد پورت C.1 , C.2 به عنوان TXt , RXT انتخاب شدن
خوب بایستی نرم افزاری خودت بنویسیش دیگه. ( اگر تو نت نیست ) ، یا از یه میکروی دیگه استفاده کنی.
براساس baud rate ای که انتخاب می شه ، پایه ی RX مجازی باید نمونه برداری بشه و پایه ی TX مجازی هم به همین سرعت باید آپدیت بشه.
فکر کنم یه تایمر هم درگیر کنی بد نباشه.
بیت توازن و ... هم باید دقت کنی.
اطلاعاتت که آماده شد ، در فاصله های زمانی مشخص ( بسته به baud rate )برای TX باید شیفت بدی به یه سمت.
برای RX هم دونه دونه بیت ها رو باید بخونی و بعد یکیشون کنی.
ساختارش بنظر پیچیده نمی یاد.
موفق باشی.
مرسی
:) مرسی از کمک ها کدشو نوشتم :) یکم باگ داره ردیف شد میزارم اینجا