PINSEL komutu hakkında

Başlatan taytis, 14 Mart 2011, 00:18:15

taytis

Arkadaşlar selam arm yeni başladım :( baştan vurgulayım portları tanımlamak için pinsel komutu kullanıyor entegrenin pdf 'ne bakıyorum bir kaç örnekte buldum lakin bağdaştıramadım , mantığı nedir ?

Soru 1 - 0x00028000 - şeklindeki ikilik düzünden p0.7 olduğunu nasıl anlarım
Soru 2 - Enable diyor , nereden anlıyorum.
Soru 3- Bir kaç yerde 'PINSEL0 |= (0x03<<12);' şekilde komut var mantığı nedir.
Soru 4-  ' | ' işaretinin anlamı nedir.


Şimdiden yardımlarınız için teşekkür ederim.

komut
'  PINSEL0 |= 0x00028000;   //Enable pin 0.7   as PWM2 '

   


pdf

PINSEL0 Pin
name
Function when
00
Function when 01 Function
when 10
Function
when 11
Reset
value
1:0 P0.0 GPIO Port 0.0 RD1[1] TXD3 SDA1 00
3:2 P0.1 GPIO Port 0.1 TD1[1] RXD3 SCL1 00
5:4 P0.2 GPIO Port 0.2 TXD0 Reserved Reserved 00
7:6 P0.3 GPIO Port 0.3 RXD0 Reserved Reserved 00
9:8 P0.4 GPIO Port 0.4 I2SRX_CLK RD2[1] CAP2.0 00
11:10 P0.5 GPIO Port 0.5 I2SRX_WS TD2[1] CAP2.1 00
13:12 P0.6 GPIO Port 0.6 I2SRX_SDA SSEL1 MAT2.0 00
15:14 P0.7 GPIO Port 0.7 I2STX_CLK SCK1 MAT2.1 00
17:16 P0.8 GPIO Port 0.8 I2STX_WS MISO1 MAT2.2 00

f_machine

Alıntı yapılan: taytis - 14 Mart 2011, 00:18:15
Soru 4-  ' | ' işaretinin anlamı nedir.

Bunu bilmediğine göre tahminimce UC programlamaya yeni başlıyorsun.Eğer öyleyse arm yerine,pic ile başlamanı tavsiye ederim.
Sorunun cevabına gelince '|' 'OR' operatörüdür.Karşılaştırılan bitlerin herhangi biri '1' ise sonuç '1' olur.Örnek '0b1001' | '0b0100' = '0b1101' olur.

Alıntı yapılan: taytis - 14 Mart 2011, 00:18:15
Soru 3- Bir kaç yerde 'PINSEL0 |= (0x03<<12);' şekilde komut var mantığı nedir.

Burda ise ; hex olarak '3' sayısı 12 kere sola kaydırılıp PINSEL0 ile 'OR' lanmış .Sonuç olarak, PINSEL0 register'ının 12 ve 13. bitleri '1' yapılmış

taytis

Cevap için teşekkür ederim. Daha önce azda olsa CCS ile uğraşmıştım , lakin çok yüzeysel , arm ile ilgili örnek programlara baktığımda çok olağan dışı anlaşılamayan noktalar göremedim , sonuçta pic le uğraşmadan yapabileceğime inanıyorum.

taytis

Table 6. Pin function select register 0 (PINSEL0 - 0xE002 C000)
PINSEL0 Pin name Value Function Value after reset
1:0 P0.0 0 0 GPIO Port 0.0 0
0 1 TXD (UART 0)
1 0 PWM1


yukarıdaki sistemde gpıo yapmak istiyorum p0.0 pinini nasıl yazmam gerekiyor

X-Fi

pinsel i değiştirmezsen zaten gpıo olarak kalır.

ccs de bile aktif değilmişsiniz bırakın arm işini hitech öğrenin işlerinizi pic ile yapın bisiklet sürmesini bile bilmeden motora binemezsiniz.

çok alışılmış bi durum şimdi size ben ne desem siz daha çok hırs yapıp kimse benim öğrenmemi istemiyor ama ben öğreneceğim diyip devam edeceksiniz burda ben size sadece doğru yolu gösterebilirim bocalamaksa sizin seçiminiz.

http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

taytis

Selam X-Fi arkadaşım ,keşke cevap vermeseydin , haklısın tecrübem yok ama hiçbir zaman öğrenemiyeceğim anlamına gelmez , bu siteye kayıt tarihime bir bak , bu site eskiden beridir payşımcı bir platformdu.

- Projelerine baktım gerçekten iyisin ve bilgilisin yaşın başın kaç bilmiyorum ama bu bilgi 'ye bide samimilik ve mütavazilik eklersen daha çok bilinirsin ve sevilirsin. Yoksa ukalalık kendini beğenmişlik bir yere kadar.

taytis

f_machine teşekkür ederim cevap vede bazıları gibi yön gösterip ukalalık yapmadığın için.