Ccsc çıkış kontrolü

ibrahim_ky

Katılımcı Üye
Katılım
18 Nis 2014
Mesajlar
1,388
Puanları
56
Bir değişkendeki veriyi aynı anda 16f84 ün a ve b portuna aktarmak istiyorum int16 ile degişlen hazırlayıp 0b0000000011111; veriyi a b portlarına nasıl aktarabilirim
 
make8(degisken, byte_degeri);
Bu fonksiyon istenilen bir sayının istenilen byte değerini alır. Ancak 16f84 denetleyicisinin a portu 4 bit, b portu 8 bit olduğu için yazdığın sayı porta sığmayacak ve taşacaktır.
 
İşde a ve b portlarını birleştirme veya veriyi taşımam lazım olmazza bit_test ile yaparım
 
Onu demek istemiyorum eğer iki portta 8 bit olsaydı dediğin mümkündü.

Mesela 16f628 de yapacak olursak

int16 sayi = 0b0000000011111;
output_a(make8(sayi, 1));
output_b(make8(sayi,2));
 
Moderatör tarafında düzenlendi:
Sayı,1
Sayı,2
Değişiyormu standart mı
Birde sorumu şöyle düzelteyim
16f84 için
A0 dan A4 e kadar bir port
B0 dan b7 ye kadar da bir port. Şimdi degişkenin ilk 8 bitini b portuna geri kalan 5bit bilgiyide a portuna aktarım olurmu
 
Onu denemedim bilemiyorum. sayi bizim binary sayıyı tuttuğumuz değişken adımız. 1, 2, 3 gibi rakamlarlada sayi değişkeninde tutulan sayının kaçıncı byte'ını alacağımızı gösteriyoruz.

Yalnız 16f84'ün A portu 4 bit alabilir, 5 bitlik bilgiyi bu porta yazdıramazsın.

Gerçi şimdi baktım 5 bitmiş [emoji3]
 
Moderatör tarafında düzenlendi:
Sonuç olarak bir değişkenin şu bitleri ni şuraya taşı diye bir komut yok mudur
 
Ccs c dilini temel seviyede bildiğim için pek yardımcı olamıyorum. Ayrıca hazır fonksiyonlar çok fazla kullanılan işlemler için yapılmıştır. Kendi fonksiyonunu yazman gerekebilir.
 
pic programının içinde yapılabilir
degişken " a " diyelim.
8 bit max 255 olduguna göre

ıf a>255 then
port b=255
b=a-255
port a =b
else
port b = a
end
 
Son düzenleme:
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…