ahmetkartaldemir
Üye
- Katılım
- 3 May 2008
- Mesajlar
- 38
- Puanları
- 1
- Yaş
- 40
matlabda örneğin 1'den 255' e kadar olan rakamları matlab ve ccs kodları ile kullanarak 8 adet ledde görüntülemek istiyorum ama yazdığım kodun karşılığı olan led yanmayabiliyor...nedenini çözemedim...bir fikri olan varmı...
fprintf(SerPIC,'%d',00128); bu komutta sayı formatında olduğunu düşünüyorum ama....
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
MATLAB KODU:
SerPIC = se-ri-@l('COM3');
set(SerPIC,'BaudRate', 9600, 'DataBits', 8, 'Parity', 'none','StopBits', 1, 'FlowControl', 'none'); %set up the camera com port
fopen(SerPIC);
im=imread('cameraman.tif');
for m=1:10
fprintf(SerPIC,'%d',00128);
pause(0.1)
end
fclose(SerPIC)
delete(SerPIC)
clear SerPIC
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
CCS KODU:
Kod:
#include <16f877A.h> // Kullanılacak denetleyicinin başlık dosyası tanıtılıyor.
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD // Denetleyici konfigürasyon ayarları
#use delay (clock=4000000) // Gecikme fonksiyonu için kullanılacak osilatör frekansı belirtiliyor.
#use rs232 (baud=9600, xmit=pin_C6, rcv=pin_C7, parity=N, stop=1) // RS232 protokolü ayarları belirtiliyor
char digit;
BOOLEAN rx_int=TRUE;
#int_rda
void rs232(){
digit=getc();
rx_int=FALSE;
}
void main (void)
{
int i;
setup_psp(PSP_DISABLED); // PSP birimi devre dışı
setup_spi(SPI_SS_DISABLED); // SPI birimi devre dışı
setup_timer_1(T1_DISABLED); // T1 zamanlayıcısı devre dışı
setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı
setup_adc_ports(NO_ANALOGS); // ANALOG giriş yok
setup_adc(ADC_OFF); // ADC birimi devre dışı
setup_CCP1(CCP_OFF); // CCP1 birimi devre dışı
setup_CCP2(CCP_OFF); // CCP2 birimi devre dışı
output_d(0x00);
output_a(0x00);
enable_interrupts(GLOBAL);
enable_interrupts(INT_RDA);
while(TRUE){
printf("\n\r islem basladi:");
while(rx_int);
output_d(digit);
delay_ms(50);
output_d(0);
delay_ms(50);
rx_int=TRUE;}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
yardımcı olursanız sevinirim
fprintf(SerPIC,'%d',00128); bu komutta sayı formatında olduğunu düşünüyorum ama....
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
MATLAB KODU:
SerPIC = se-ri-@l('COM3');
set(SerPIC,'BaudRate', 9600, 'DataBits', 8, 'Parity', 'none','StopBits', 1, 'FlowControl', 'none'); %set up the camera com port
fopen(SerPIC);
im=imread('cameraman.tif');
for m=1:10
fprintf(SerPIC,'%d',00128);
pause(0.1)
end
fclose(SerPIC)
delete(SerPIC)
clear SerPIC
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
CCS KODU:
Kod:
#include <16f877A.h> // Kullanılacak denetleyicinin başlık dosyası tanıtılıyor.
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD // Denetleyici konfigürasyon ayarları
#use delay (clock=4000000) // Gecikme fonksiyonu için kullanılacak osilatör frekansı belirtiliyor.
#use rs232 (baud=9600, xmit=pin_C6, rcv=pin_C7, parity=N, stop=1) // RS232 protokolü ayarları belirtiliyor
char digit;
BOOLEAN rx_int=TRUE;
#int_rda
void rs232(){
digit=getc();
rx_int=FALSE;
}
void main (void)
{
int i;
setup_psp(PSP_DISABLED); // PSP birimi devre dışı
setup_spi(SPI_SS_DISABLED); // SPI birimi devre dışı
setup_timer_1(T1_DISABLED); // T1 zamanlayıcısı devre dışı
setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı
setup_adc_ports(NO_ANALOGS); // ANALOG giriş yok
setup_adc(ADC_OFF); // ADC birimi devre dışı
setup_CCP1(CCP_OFF); // CCP1 birimi devre dışı
setup_CCP2(CCP_OFF); // CCP2 birimi devre dışı
output_d(0x00);
output_a(0x00);
enable_interrupts(GLOBAL);
enable_interrupts(INT_RDA);
while(TRUE){
printf("\n\r islem basladi:");
while(rx_int);
output_d(digit);
delay_ms(50);
output_d(0);
delay_ms(50);
rx_int=TRUE;}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
yardımcı olursanız sevinirim