Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

програма за rs232...
http://mcu-bg.com/mcu_site/viewtopic.php?f=14&t=6709
Страница 1 от 1

Автор:  spas92 [ Пон Апр 06, 2009 12:28 am ]
Заглавие:  програма за rs232...

зд

трябва ми помощ с една програма за RS232

доста се рових из нета подходяща неможах да намеря и затова реших да си я напиша
не беше също никак лесна задача особенно под XP
но за мое щастие намерих еднин мн добър пакет ако мога да го нарека така.... active com port
там имаше и примери как точно става нимера на С++ та успях някак да си я модна за да ми върши работа

днес следкато си зглобих една тестова платка ми изкочи следният проблем
между 2 изпращания на информация към PIC-a остава интервал от сорта на 1 сек което ми бърка работата....

ако някой майстор може да помогне че дотука я докарах....

качвам истала на active com port и rar на моята модификация

п.п.
ето линк към active com port - http://www.activexperts.com/files/activcomport/acomport.exe
да не пълним сървъра с ненужни неща

Прикачени файлове:
Query Device.rar [65.2 KiB]
188 пъти

Автор:  ike [ Пон Апр 06, 2009 1:24 am ]
Заглавие: 

Пробвай си winapi ако с него не стане значи няма начин да се направи.
CreateFile
SetCommState
WriteFile

Автор:  spas92 [ Пон Апр 06, 2009 1:35 am ]
Заглавие: 

аз мисля че имам грешка в програмата за PIC-a

кажете ако греша някаде...

Код:
#include <16C84A.h>
#FUSES NOWDT                    //No Watch Dog Timer
#FUSES RC                       //Resistor/Capacitor Osc with CLKOUT
#FUSES NOPUT                    //No Power Up Timer
#FUSES NOPROTECT                //Code not protected from reading
#use delay(clock=10245000)
#use rs232(baud=57600,parity=N,xmit=PIN_A4,rcv=PIN_A3,bits=8)

void main()
{
int a,b,c,s;
char answer[7];
output_b(255);
delay_ms(1000);
output_b(0);
printf("A");
do{
do{
fgets (answer);
}while(answer[0]==0&&answer[1]==0&&answer[2]==0&&answer[3]==0&&answer[4]==0&&answer[5]==0&&answer[6]==0);
a=answer[0]-48;
b=answer[1]-48;
c=answer[2]-48;
s=a*100+b*10+c;
output_b(s);
printf("A");
}while(1);
}


предполагам че не се прави така ......

Автор:  spas92 [ Пон Апр 06, 2009 2:25 pm ]
Заглавие: 

сега попромених програмата но пак го има това забавяне..........

Код:
#include <16C84A.h>
#FUSES NOWDT                    //No Watch Dog Timer
#FUSES RC                       //Resistor/Capacitor Osc with CLKOUT
#FUSES NOPUT                    //No Power Up Timer
#FUSES NOPROTECT                //Code not protected from reading
#use delay(clock=10245000)
#use rs232(baud=57600,parity=N,xmit=PIN_A4,rcv=PIN_A3,bits=8)

void main()
{
int a,b,c,s;
char answer[7];
output_b(255);
delay_ms(1000);
output_b(0);
printf("A");
do{
while(!kbhit()==0)delay_ms(1);
fgets (answer);
a=answer[0]-48;
b=answer[1]-48;
c=answer[2]-48;
s=a*100+b*10+c;
output_b(s);
printf("A");
}while(1);
}

Автор:  Wise [ Пон Апр 06, 2009 3:00 pm ]
Заглавие: 

Чакай, че нещо не мога да схвана - искаш да подкараш на PIC16C84 UART на 57600 bps?

Автор:  spas92 [ Вто Апр 07, 2009 11:38 pm ]
Заглавие: 

ПИК-а e 16F84A и рaботи на 57600 но не е тука ключа за бараката

проблема ми е програмата за ПЦ-то и лощото е че немога да разбера каде е проблема че прави тоеа забавяне..... :( :( :( :? :?: :!: :?:

п.п.
принципно работи на 9600 но тук само пробвах дали ще подкара на 57600 :) :) :)

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/