Mar 30, 2014

Serial Reader (პროექტი CL / C#)



მოგესალმებით ჩემი მორიგი პოსტით, რომელიც შეიცავს ინფორმაციას სერიული წამკითხველის შესახებ (რესურს ფაილებსა და საინსტალაციო ვერსიას). ზემოთ მოცემული პროგრამა "Serial Reader" დავწერე C# ში .NET 4 CP პლათფორმაზე დაფუძნებით, რადგან მეოთხე ვერსია უფრო გავრცელებულია ვიდრე 4.5, სიახლის გამო. მოცემული პროგრამა პიდაპირ უმიზნებს და გამოიყენება სპექტრის ანალიზატორისთვის, რომელიც შეგიძლიათ ნახოთ ჩემს ბლოგზე.

Mar 26, 2014

კონტექსტური მენიუ

მოგესალმებით, ქვემოთ მოცემულია კონტექსტური მენიუ, რომელიც გაგიადვილებთ ნავიგაციას და აღარ მოგიწევთ ბლოგის ძველ პოსტებში ხეტიალი სასურველი პოსტის აღმოსაჩენად, ყველაფერი თავმოყრილი იქნება ერთ პოსტში
W P F
C #



მიკრო პროცესორები


ჩემი პროექტები


აუდიო სპექტრზე დაფუძნებულო ეკვალაიზერი




ეს პროექტი დაფუძნებულია ჩემს წინა პროექტზე - სპექტრის ანალიზატორზე. ჩემი აზრით, ეს პროექტი საკმაოდ ლოგიკური გაგრძელებაა ძირითადი პროექტისა, რომელიც საკმაოდ რთული გამოდგა გასალეთებლად.

Mar 9, 2014

აუდიო სპექტრის ანალიზატორი (CL)


სპექტრის ანალიზატორი ზომავს ამპლიტუდის დამოკიდებულებას სიხშირეზე. ხოლო აუდიო სპექტრის ანალიზატორი არის უფრო კონკრეტული და სპეციალიზებული, რომელიც ზომავს აუდიო სიხშირის დიაპაზონს 20 ჰერციდან 20 კილოჰერცამდე, მიუხედავად იმისა, რომ ადამიანს იშვიათად უწევს მაღალ სიხშირეებთან შეხვედრა. ქვემოთ მოცემულია ჩემი პროექტის აღწერა და იმპლემენტაციის გზა. 

Feb 18, 2014

Generics in C#



ზოგადი ტიპების მიმოხილვა

.NET 2.0 ვერსიის შემდეგ მომხმარებელს უკვე თავისუფლად შეუძლია გამოიყენოს ის თვისება, რასაც ზოგადი ტიპის ფენომენი ეწოდება პროგრამირების ენაში. ეს არ არის მხოლოდ C# ის ნაწილი. ეს არის მთლიანად IL (Intermediate Language) ის დიდი ოჯახის წევრი, რომელშიც ეს თვისება საკმაოდ კარგად არის ინტეგრირებული. ზოგადი ტიპების გამოყენებით, რომელსაც ამიერიდან generic ებით მოვიხსენიებ, მიუხედავად იმისა, რომ ქართული თარგმანიც არსებობს (ზოგადი „ტიპი“), შესაძლებელია ტიპზე დამოუკიდებელი კლასების, ინტერფეისების, მეთოდებისა და სტრუქტურების შექმნა. აღარ არის საჭირო ყოველი ტიპისთვის დაიწეროს სხვადასხვა ოპერაცია, რომლის ლოგიკა ერთია, მაგრამ ტიპია სხვადასხვა. უბრალოდ არსებობს უფრო მარტივი გზა - generics.

Feb 9, 2014

პროექტი <-DVC->

 გამარჯობათ, ეს არის ჩემს მიერ ბოლო დროს გაკეთებული პროექტი, რომელიც საკმაოდ სახალისო და ამავე დროს საინტერესოა ჩემთვის, რომელიც იყენებს ახალ AtMega32 ჩიპს, რომელსაც აქვს USB კომუნიკაციის მხარდაჭერა პირდაპირ კომპიუტერთან რაიმე FTDI ჩიპის გამოყენების გარეშე, რაც აქამდე ასე თუ ისე მოყვარულთათვის დიდი თავის სატკივარი იყო.

პროექტის განვითარების ფარგლებში იდეების მოწოდება შეგიძლიათ ქვემოთ - კომენტარებში, ან მეილის გამოყენებით - Giorgi.jambazishvilI@gmail.com

Jan 31, 2014

I2C კომუნიკაციის პროტოკოლი

I კვადრატ C, არის მრავალ მაკონტროლებიანი სერიული დისტრიბუტორი. გამოგონებულ იქნა Phillips Semiconductor დანაყოფის მიერ. მისი გამოყენება ძირითადად ხდება დედა დაფებისთვის დაბალი სიხშირის პერიფერიების მიერთებისთვის. ასევე გამოიყენება ჩაშენებულ სისტემებში, მობილურ ტელეფონებში და სხვა ციფრულ მოწყობილობებში. 

Jan 10, 2014

მოვლენები (2/3) - მოვლენის მსმენელი


ამ პოსტში მინდა ვისაუბრო იმ მოვლენისა და კლასების გამოყენებაზე, რომელიც განვსაზღვრე წინა პოსტში და მოვახდინო მათი ინტეგრირება მხოლოდ ერთი მარრტივი კლასის დახმარებით, რაც მთლიანობაში აზრობრივად დაასრულებს მოვლენებს, ხოლო მესამე ნაწილი დაეთმობა სუსტ მოვლენებს (Weak Events).

Jan 6, 2014

მოვლენები (1/3) - მოვლენის განმსაზღვრელი


მოვლენები მთლიანად დაფუძნებულები არიან დელეგატებზე და რახან მოვრჩი დელეგატების განხილვას, ლოგიკური იქნება თუ ჩემი პოსტების გაგრძელება შეეხება ისეთ ელემენტებს, როგორიცაა მოვლენები. მოვლენები გვთავაზობს publish/subscribe მექანიზმს. ყველაფრის გადათარგმნა არ იქნება მოხერხებული და ამიტომ, ჩემი აზრით, სჯობს რამდენიმე ტერმინოლოგია ასე დავტოვო. მაგალითისათვის, რომ ავიღოთ Windows Forms ში Button კონტროლს აქვს Click მოვლენა. მოვლენის ეს ტიპი არის დელეგატი, ხოლო მომგვარებელი (handler) მეთოდის გამოძახება ხდება მაშინ, როდესაც აქტიურდება Click მოვლენა. მომგვარებელი ანუ მოპასუხე მეთოდის განსაზღვრა ხდება მომხმარებლის მიერ უმეტეს შემთხვევაში.

Jan 4, 2014

დელეგატები (5/5) - Multicast Delegates


აქამდე ვიყენებდი დელეგატებს, რომლებიც იძახებდნენ მხოლოდ ერთ მეთოდს. ერთზე მეტი მეთოდის გამოსაძახებელად ერთი დელეგატის გამოყენებით საჭიროა ცხადად შეუცვალოთ დელეგატს შემცველი მეთოდის მისამართი. მაგრამ არსებობს უფრო მარტივი გზაც, რომელიც განსხვავდება პირველი პრიმიტიული გზისაგან და საშუალებას გვაძლევს ერთი დელეგატის გამოყენებით გამოვიძახოთ ერთზე მეტი მეთოდი. მსგავსი დელეგატი ცნობილია Multicast დელეგატის სახელით. თავისუფლად შეიძლება მას ეწოდოს მრავალი მეთოდის შემცველი დელეგატი. ამისთვის საჭიროა რომ ყველა მეთოდი, რომელსაც იძახებს დელეგატი, არ უნდა აბრუნებდეს არანაირ მნიშვნელობას, ანუ უნდა იყოს void ტიპის. წინააღმდეგ შემთხვევაში დელეგატი დააბრუნებს იმ მეთოდის დაბრუნებულ მნიშვნელობას რომელიც გამოიძახა ბოლოს.