PIC16F877 mikrodenetleyicisi CCs c kodu

Başlatan nily, 15 Mayıs 2013, 13:16:06

pax

ben sms ile ev otomasyonu uygulaması yapmıştım.

siemens için mesaj okuma kodu AT+CMGR dir.

AT komutlarını seriport üzerinden GSM terminale göndermeniz gerekiyor.

bu nedenle önce denetleyici ile terminal arasındaki haberleşme ortamını doğru  şekilde ayarlamalısınız. örneğin  mikrodenetleyicinizin baud değeri ile gsm termianlinin baud değeri aynı olmalı ,

http://kurser.iha.dk/eit/mic1/MICDocs/s35i_c35i_m35i_atc_commandset_v01.pdf bu döküman siemens AT komutlarının nasıl kullanılacağı konusunda  size yardımcı olacaktır.


nily

Alıntı yapılan: pax - 26 Mayıs 2013, 00:55:35
ben sms ile ev otomasyonu uygulaması yapmıştım.

siemens için mesaj okuma kodu AT+CMGR dir.

AT komutlarını seriport üzerinden GSM terminale göndermeniz gerekiyor.

bu nedenle önce denetleyici ile terminal arasındaki haberleşme ortamını doğru  şekilde ayarlamalısınız. örneğin  mikrodenetleyicinizin baud değeri ile gsm termianlinin baud değeri aynı olmalı ,

http://kurser.iha.dk/eit/mic1/MICDocs/s35i_c35i_m35i_atc_commandset_v01.pdf bu döküman siemens AT komutlarının nasıl kullanılacağı konusunda  size yardımcı olacaktır.


Peki mesajın içeriği bir sürü bilgiden oluşuyor.Tarih, gönderici ve metin gibi. Bu mesajın işinize yarayan kısmını nasıl ayırdınız? Yani metin kısmı üzerinden bir if döngüsü oluşturdunuz sanırım. Buna göre de mikrodenetleyiciye işlem yaptırdınız. Peki metinin yerini bulmak için mesaj içeriğini mi incelediniz? Yoksa nasıl bir işlem yaptınız?

pax

sms gönderimi PDU formatı ile olur. internetten PDU ile ilgili dökümanları incelerseniz mesaj içeriğinin yapısını öğrenebilirsiniz. numaraların, mesajın, mesaj merkezi numarasının.... hangi sırada gönderilip alındığını PDU formatını inceleyerek öğrenebilirsiniz. bu sıralamaya göre gelen bilgiden mesjı ve numarayı ayırt edebilirsiniz.   dediğim gibi önce PDU ile ilgili bir araştırma yapmalısınız. 

nily

Alıntı yapılan: pax - 26 Mayıs 2013, 22:15:22
sms gönderimi PDU formatı ile olur. internetten PDU ile ilgili dökümanları incelerseniz mesaj içeriğinin yapısını öğrenebilirsiniz. numaraların, mesajın, mesaj merkezi numarasının.... hangi sırada gönderilip alındığını PDU formatını inceleyerek öğrenebilirsiniz. bu sıralamaya göre gelen bilgiden mesjı ve numarayı ayırt edebilirsiniz.   dediğim gibi önce PDU ile ilgili bir araştırma yapmalısınız.

AT+CMGF diye bir komut var 0 a eşit olduğunda PDU formatında, 1 e eşit olduğunda da Text formatında mesaj olacağı anlamına geliyormuş. O yüzden ben direk 1e eşitleyip Text formatında çalışacağım. PDU formatına dönüştürmeyi hiç kullanmayacağım. Acaba siz projenizde AT+CNMI diye bir komut kullanmış mıydınız? Bu komut GSM modeme gelen mesajı mikrodenetleyiciye gönderiyormuş sanırım

pax

ben gsm modem kullanmadım onun yerine cep telefonu kullandım . cep telefonlarında text moda izin verilmiyor pdu kullanılması gerekiyor. ben operatörlerin text moda izin vermediğini biliyordum :( . text modla gönderilebilir mi bilmiyorum . ama text modla daha kolay olur. ben de bu aralar gsm moddem sipariş verdim gelince uğraşacağım . bahsettiğiniz komutu kullanmadım.

nily

Kodu CCS C ile mi yazmıştınız acaba? Orda AT komutları fprintf ile mi yazılıyo?

zafer

#21
printf("AT\r");
komutu ile rs232 üzerinden AT komutunu göndermiş olursun. Virtual analyzer'ın RX bacağına pic'in TX bacağını bağlar isen gönderdiğin veriyi okursun.